Fortezza Bastiani - elaborazione di trading systems, analisi ciclica, onde di Elliott

Ciao a tutti,

cerco di portare un contributo/spunto...

A mio avviso potrà anche non essere stato fatto il minimo definitivo (io penso di si… almeno per ora) ma quello di ieri è stato fatto in divergenza di momentum e con gli oscillatori un po' tirati… sembra che da oggi parta il rimbalzo almeno per 3/4 gg... quindi per quanto mi riguarda almeno "no Short".

Ciao

M
Vedi l'allegato 522708

Ciao e benvenuto :)

è possibilissimo che riparta dal min. di ieri un nuovo T+1 e che il precedente si sia concluso con 12gg di durata.
La conferma la avremo con il mancato rispetto del vincolo sul T-2 partito ieri sera oppure con un max sopra al top dell'ultimo T-2 a 20.915.

*Ho scritto una inesattezza... le condizioni sopra ci fanno ripartire un tracy se ultimo di un T+1 lungo o primo di uno nuovo lo si verificherà con le sue sequenze interne.

yJyDyO5T
 
Ultima modifica:
Qualcuno può controllare questa cosa?
A me pare impossibile aver fatto un TS con un'equity del genere.
Da qualche parte ci deve essere sicuramente un errore (oppure ce l'abbiamo fatta :cinque:).

Il TS gira sul daily, sul derivato.
Le condizioni sono sempre le stesse:
  • buy quando il Macd-Sbit è long (1) e il DSS < 5 (2);
  • sell quando il Macd-Sbit è short (1) e il DSS > 95 (2);
  • trailing stop inserito di 100 punti (cioè con il minifib si perdono al massimo 100 euro a trade).
Potete provare a rifare il TS con un'altra piattaforma e controllare i risultati?

Codice:
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate

slw=3
pds=7
ratio=ExponentialAverage[3](close)/ExponentialAverage[7](close)
divi=highest[pds](ratio)-lowest[pds](ratio)
a=exponentialaverage[slw]((ratio-lowest[pds](ratio))/divi)*100
divi2=highest[pds](a)-lowest[pds](a)
dss=exponentialaverage[slw]((a-lowest[pds](a))/divi2)*100

myMACD = MACD[48,72,6](close)

// Condizioni per entrare su posizioni long
cMACDlong=myMACD>0
cDSSlong=DSS<5

IF cMACDlong and cDSSlong THEN
BUY 1 SHARES AT MARKET
ENDIF

// Condizioni per entrare su posizioni short
cMACDshort=myMACD<0
cDSSshort=DSS>95

IF cMACDshort and cDSSshort THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF

if longonmarket and cDSSshort then
sell at market
endif

if shortonmarket and cDSSlong then
exitshort at market
endif

set stop trailing 100

MFTMIBXXXX-Giornaliero.png


MFTMIBXXXX-Giornaliero1.png


Cattura di schermata (606).png
 
Il TS non è ottimizzato.
Ha solo un trailing-stop: sta pochissimo a mercato e guadagna molto bene.

Qualcuno può fare un backtest sulla propria piattaforma (meglio se diversa da Prt) e postare il report?
Il codice è davvero elementare.
 
Questa è una versione per trading view un po' rimaneggiata.
Di fatto ora lavora solo con il DSS
Se aggiungo il MACD non entra mai a mercato...
non capisco perchè.

Codice:
//@version=3
strategy(title="DSS + MACD", shorttitle="DSS + MACD")
//////////////////////////// 
// DSS
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
hline(Overbought, color=green, linestyle=line)
hline(Oversold, color=red, linestyle=line)
xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
//xDSS = stoch(xPreCalc, xPreCalc, xPreCalc, PDS)

//////////////////////////// 
// MACD 
// STANDARD = 12 26 9
// SBIT = 48 72 6
fastLength = input(48)
slowlength = input(72)
MACDLength = input(6)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//////////////////////////////////
// CONDIZIONI MACD
macdlong = crossover(delta, 0)
macdshort = crossunder(delta, 0)

//////////////////////////////////
// CONDIZIONI DSS
dsslong         = xDSS <= 10
dssshort        = xDSS >= 90
dssexitlong     = xDSS >= 80
dssexitshort    = xDSS <= 20

//////////////////////////// VIEW   
if (dsslong == true) 
    strategy.entry("LONG", strategy.long)

if (dssshort == true)
    strategy.entry("SHORT", strategy.short)     

if (dssexitlong == true)
    strategy.close("LONG")     

if (dssexitshort == true)
    strategy.close("SHORT")     

   
plot(xDSS, color=blue, title="DSS")
//plot(strategy.equity)
 
I risultati non li so leggere, ma non mi sembrano granché..
Qualcuno riesce a capire perché se aggiungo la condizione MACD non entra mai a mercato ?

Immagine.png
 
Questa è una versione per trading view un po' rimaneggiata.
Di fatto ora lavora solo con il DSS
Se aggiungo il MACD non entra mai a mercato...
non capisco perchè.
Secondo me il mio report non calcola bene il trailing stop: un'equity così mi pare strana.
In ogni caso, non è facile gestire il TS che ho postato in tempo reale: il trailing stop, secondo me, salta subito.
 
I risultati non li so leggere, ma non mi sembrano granché..
Qualcuno riesce a capire perché se aggiungo la condizione MACD non entra mai a mercato ?

Vedi l'allegato 522756
Senza il Macd i risultati per forza di cose sono disastrosi.
Occorre sia il Macd che il trailing stop.

Credo che il mio TS possa funzionare anche così: non appena si entra, si mette lo stop-loss 100 euro sotto l'apertura della barra di entry (100 euro = 20 punti di minifib).
Poi si mette lo stop-loss 100 euro sotto l'apertura della bara del giorno successivo, e avanti così, finché non si viene "presi" dal mercato.
 


Versione DSS + MACD
Non entra mai a mercato, uscita solo su DSS

Codice:
//@version=3
strategy(title="DSS + MACD", shorttitle="DSS + MACD")
////////////////////////////
// DSS
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
hline(Overbought, color=green, linestyle=line)
hline(Oversold, color=red, linestyle=line)
xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
//xDSS = stoch(xPreCalc, xPreCalc, xPreCalc, PDS)

////////////////////////////
// MACD
// STANDARD = 12 26 9
// SBIT = 48 72 6
fastLength = input(48)
slowlength = input(72)
MACDLength = input(6)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//////////////////////////////////
// CONDIZIONI MACD
macdlong = crossover(delta, 0)
macdshort = crossunder(delta, 0)

//////////////////////////////////
// CONDIZIONI DSS
dsslong         = xDSS <= 10
dssshort        = xDSS >= 90
dssexitlong     = xDSS >= 80
dssexitshort    = xDSS <= 20

//////////////////////////// VIEW
if (dsslong == true and macdlong == true)
    strategy.entry("LONG", strategy.long)

if (dssshort == true and macdshort == true)
    strategy.entry("SHORT", strategy.short)  

if (dssexitlong == true)
    strategy.close("LONG")  

if (dssexitshort == true)
    strategy.close("SHORT")  

 
plot(xDSS, color=blue, title="DSS")
//plot(strategy.equity)
 
Ultima modifica:
Solo MACD, senza DSS


Codice:
//@version=3
strategy(title="DSS + MACD", shorttitle="DSS + MACD")
//////////////////////////// 
// DSS
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
hline(Overbought, color=green, linestyle=line)
hline(Oversold, color=red, linestyle=line)
xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
//xDSS = stoch(xPreCalc, xPreCalc, xPreCalc, PDS)

//////////////////////////// 
// MACD 
// STANDARD = 12 26 9
// SBIT = 48 72 6
fastLength = input(48)
slowlength = input(72)
MACDLength = input(6)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//////////////////////////////////
// CONDIZIONI MACD
macdlong = crossover(delta, 0)
macdshort = crossunder(delta, 0)

//////////////////////////////////
// CONDIZIONI DSS
dsslong         = xDSS <= 10
dssshort        = xDSS >= 90
dssexitlong     = xDSS >= 80
dssexitshort    = xDSS <= 20

//////////////////////////// VIEW   
if (macdlong == true) 
    strategy.entry("LONG", strategy.long)

if (macdshort == true)
    strategy.entry("SHORT", strategy.short)     

if (macdshort == true)
    strategy.close("LONG")     

if (macdlong == true)
    strategy.close("SHORT")     

   
plot(xDSS, color=blue, title="DSS")
//plot(strategy.equity)
 

Users who are viewing this thread

Back
Alto