Buon Anno a tutti, sono a chiedre il vostro aiuto per creare una strategia sul ritracciamento del supertrend, cerco di spiegare cosa ho in mente:
Dopo lo sfondamento al rialzo del supertrend aspetto il ritracciamento, sotto la chiusura della candela che ha sfondato, come ho una candela long entro a mercato, naturalmente la candela precedente deve essere short, spero di essere stato sufficientemente chiaro, inserisco un file del grafico con un esempio chirificatore.
Naturalmente il ritracciamento può avvenire in momenti variabili non in modo sequenziale come nell’esempio
Grazie a tutti e Buon Anno
Prova questo:
ONCE CrossOver = 0
ONCE Flag = 0
Bullish = close > open
Bearish = close < open
ST = Supertrend[3,10]
IF close CROSSES OVER ST THEN
CrossOver = 1
Incrocio = close
Flag = 0
ENDIF
IF CrossOver THEN
IF close > Incrocio THEN
CrossOver = 0
Flag = 0
ELSIF close < Incrocio THEN
Flag = 1
ENDIF
ENDIF
IF close CROSSES UNDER ST THEN
CrossOver = 0
Flag = 0
ENDIF
Cond = Not OnMarket AND CrossOver AND Flag AND Bullish
IF Cond THEN
BUY 1 Contract AT Market
SET STOP pLOSS 500
SET TARGET pPROFIT 1000
ENDIF
Ciao Roberto ho provato ma non entra dove dovrebbe
Indicami una data ed ora e time frame di uno strumento su cui l’hai provato, in modo da controllare.
Ora ho controllato meglio sembra funzionare, se volessi fare un ingresso dopo una percentusle di ritracciamento, oppure dopo un numero di candele, come dovrei fare?
Ciao Roberto, Ciao emanuele81
scusate se mi intrometto, ma volevo chiedere, se possibile,
di inserire anche il lato short.
Grazie
Eccolo:
ONCE CrossOver = 0
ONCE CrossUnder = 0
ONCE FlagL = 0
ONCE FlagS = 0
Bullish = close > open
Bearish = close < open
ST = Supertrend[3,10]
IF close CROSSES OVER ST THEN
CrossOver = 1
IncrocioL = close
FlagL = 0
CrossUnder = 0
IncrocioS = 0
FlagS = 0
ENDIF
IF CrossOver THEN
IF close > IncrocioL THEN
CrossOver = 0
FlagL = 0
ELSIF close < IncrocioL THEN
FlagL = 1
ENDIF
ENDIF
IF close CROSSES UNDER ST THEN
CrossUnder = 1
IncrocioS = close
FlagS = 0
CrossOver = 0
IncrocioL = 0
FlagL = 0
ENDIF
IF CrossUnder THEN
IF close < IncrocioS THEN
CrossUnder = 0
FlagS = 0
ELSIF close > IncrocioS THEN
FlagS = 1
ENDIF
ENDIF
CondL = Not OnMarket AND CrossOver AND FlagL AND Bullish
IF CondL THEN
BUY 1 Contract AT Market
SET STOP pLOSS 500
SET TARGET pPROFIT 1000
ENDIF
CondS = Not OnMarket AND CrossUnder AND FlagS AND Bearish
IF CondS THEN
SELLSHORT 1 Contract AT Market
SET STOP pLOSS 500
SET TARGET pPROFIT 1000
ENDIF
Per impostare un ritracciamento in percentuale, per esempio, dallo sfondamento del supertrend prima di entrare aspetta un ritracciamento dello 0,1% come devo modificare il codice?
Grazie
Prova questo:
ONCE CrossOver = 0
ONCE CrossUnder = 0
ONCE FlagL = 0
ONCE FlagS = 0
Bullish = close > open
Bearish = close < open
ST = Supertrend[3,10]
IF close CROSSES OVER ST THEN
CrossOver = 1
IncrocioL = close
FlagL = 0
CrossUnder = 0
IncrocioS = 0
FlagS = 0
RetraceS = 0
ENDIF
IF CrossOver THEN
IF close > IncrocioL THEN
CrossOver = 0
FlagL = 0
ELSIF close < IncrocioL THEN
FlagL = 1
RetraceL = abs(IncrocioL - close) <= (IncrocioL * 0.999)
ENDIF
ENDIF
IF close CROSSES UNDER ST THEN
CrossUnder = 1
IncrocioS = close
FlagS = 0
CrossOver = 0
IncrocioL = 0
FlagL = 0
RetraceL = 0
ENDIF
IF CrossUnder THEN
IF close < IncrocioS THEN
CrossUnder = 0
FlagS = 0
ELSIF close > IncrocioS THEN
FlagS = 1
RetraceS = abs(IncrocioS - close) >= (IncrocioS * 1.001)
ENDIF
ENDIF
CondL = Not OnMarket AND CrossOver AND FlagL AND Bullish AND RetraceL
IF CondL THEN
BUY 1 Contract AT Market
SET STOP pLOSS 500
SET TARGET pPROFIT 1000
ENDIF
CondS = Not OnMarket AND CrossUnder AND FlagS AND Bearish AND RetraceS
IF CondS THEN
SELLSHORT 1 Contract AT Market
SET STOP pLOSS 500
SET TARGET pPROFIT 1000
ENDIF
La riga 41 dovrebbe essere…
RetraceS = abs(IncrocioS + close) >= (IncrocioS * 1.001) //+ close
Osservazione precisa GraHal!
Grazie 🙂
DEFPARAM CumulateOrders = false
Defparam Flatbefore=010000
Defparam Flatafter=220000
ONCE CrossOver = 0
ONCE CrossUnder = 0
ONCE FlagL = 0
ONCE FlagS = 0
Bullish = close > open
Bearish = close < open
ST = Supertrend[ X , Y ]
MyAdx=adx[5]>= A
IF close CROSSES OVER ST THEN
CrossOver = 1
IncrocioL = close
FlagL = 0
CrossUnder = 0
IncrocioS = 0
FlagS = 0
ENDIF
IF CrossOver THEN
IF close > IncrocioL THEN
CrossOver = 0
FlagL = 0
ELSIF close < IncrocioL THEN
FlagL = 1
ENDIF
ENDIF
IF close CROSSES UNDER ST THEN
CrossUnder = 1
IncrocioS = close
FlagS = 0
CrossOver = 0
IncrocioL = 0
FlagL = 0
ENDIF
IF CrossUnder THEN
IF close < IncrocioS THEN
CrossUnder = 0
FlagS = 0
ELSIF close > IncrocioS THEN
FlagS = 1
ENDIF
ENDIF
CondL = Not OnMarket AND CrossOver AND FlagL AND Bullish AND MyAdx
IF CondL THEN
BUY 1 Contract AT Market
ENDIF
CondS = Not OnMarket AND CrossUnder AND FlagS AND Bearish AND MyAdx
IF CondS THEN
SELLSHORT 1 Contract AT Market
ENDIF
IF LongOnMarket AND CROSSUNDER THEN
SELL AT MARKET
ENDIF
IF ShortOnMarket AND CROSSOVER THEN
EXITSHORT AT MARKET
ENDIF
//SET STOP pLOSS 50
Buongiorno, ciao Roberto
per favore puoi dare un’occhiata al TS che ho modificato?
Grazie
Si, funziona, vedo che fa entrate ed uscite corrette.
Grazie Roberto
potresti sostituire il supertrend con la media di HULL?
inserendo questa istruzione che ho trovato sul sito e mantenere la stessa logica di trading?
cioe’ apre la posizione quando la media di Hull cambia colore, long verde dopo ritracciamento
e idem short rossa dopo ritracciamento.
Si chiude la posizione in stop and reverse.
Grazie
Period= U
x= 2*weightedaverage[ round( Period/2 ) ](close)-weightedaverage[Period](close)
MHULL=weightedaverage[ round( sqrt(Period) ) ](x)
If MHULL > MHULL[1] and MHULL[1] < MHULL[2] and not LongOnMarket then
Buy 1 contract at Market
Elsif MHULL < MHULL[1] and MHULL[1] > MHULL[2] and not ShortOnMarket then
Sellshort 1 contract at Market
Endif