Ciao sono Stefano, scusate sono neofita e sto cercando di testare su un titolo mean reverting come può funzionare se comprassi quando lo stacastico si trova sotto 30 in corrispondenza di candele simili ad:
-engulfing bullish
-hammer, dragonfly
-swing low o morning star
Inoltre vorrei mettere uno stop loss che sia pari al minimo della candela verde nel caso di engulfing bullish, altrimenti nel caso della morning star vorrei inserire lo stop loss sul minimo della seconda delle 3 candele che la formano.
Non mi è chiaro perchè lo stop loss non funzioni sempre ed inoltre perchè non riconosce molte fomazioni simili alla morning star di cui allego immagine, sotto inserisco invece il codice che ho provato a scrivere:
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
indicator1 = Stochasticd[5,3,3](close)
c1 = indicator1[2] < 30
// engulfing bullish
c2 = (close[1]>open[1]) and (volume[1]>average[20](volume[1])) and (open[1] < close[2]) and (close[1] > open[2])
// prezzo inferiore a media a 11 periodi per trend di breve da invertire
c3 = close[2] < ExponentialAverage[11](close[2])
// hammer e dragonfly doji con apertura candela successiva in rialzo
c4 = abs(close[2]-open[2])<range[2]/3 and open[2]>high[2]-(range[2]/3) and open[1]>close[2]
c5 = (close[2] = high[2]) and range[2]>range[3] and low[2]<low[3] and open[1]>close[2] and close[1]>open[1]
// swing low o morning star
c6 = (low[2]<low[3]) and (open[2]<open[3]-range[3]/2) and (close[1]>open[3]-range[3]*0.4) and open[1]>open[2] and close[2]>open[2] and close[1]>open[1]
MinCandelaPrec = low[2]
if c2 then
SET STOP LOSS low[1]
ELSE
SET STOP LOSS MinCandelaPrec
ENDIF
IF c1 and c3 and (c2 or c4 or c5 or c6) THEN
BUY 1000 cash AT MARKET
ENDIF
// Condizioni per uscire da posizioni long
c7 = (indicator1 CROSSES UNDER 70) or (ExponentialAverage[5](close) CROSSES UNDER ExponentialAverage[11](close))
IF c7 THEN
SELL AT MARKET
ENDIF
>> Per chiarezza dei messaggi sul Forum di Prorealcode, separate le parti del vostro codice usando il pulsante “Insert PRT code”. <<
Grazie 🙂
La definizione dei pattern non riesco a verificarla fino a domani quando sarò al PC.
Per lo SL, tieni presente che SET STOP LOSS vuole una DIFFERENZA di prezzo (tipo high – low, o simili) mentre tu hai indicato un PREZZO, per cui ti trovi con uno SL di circa 10000 pips, che dovrebbe essere ignorato in quanto troppo distante dal prezzo corrente.
Prova con:
SET STOP LOSS abs(close - low[2])
Inoltre mi sembra che tu abbia sfalsato tutto di una candela, infatti esamini il pattern non quando si è formato, ma la candela successiva, per cui entri a mercato quella successiva ancora. Tra l’entrata a mercato ed il pattern mi pare ci sia una candela di troppo.
Ciao Roberto grazie mille, intanto sei gentilissimo e sei già stato di aiuto per quanto riguarda lo SL! scusami se non sono riuscito ad utilizzare propriamente la modalità di scrittura del forum, intanto provo anche a spostare tutto di una candela e vedere se va a posto, ti aggiorno! super grazie!
..ora ho trovato anche il tasto insert PRT code
Stefano