definire uno stop in base alla chiusura della candela
Forums › ProRealTime forum Italiano › Supporto ProOrder › definire uno stop in base alla chiusura della candela
- This topic has 43 replies, 2 voices, and was last updated 3 years ago by robertogozzi.
Tagged: t
-
-
06/06/2021 at 2:07 PM #171258
Roberto ho testato il nuovo codice che hai formulato ma purtroppo facendo i Backtest noto che le posizioni NON VENGONO CHIUSE NE CON GLI ORARI NE CON IL NUMERO DI BARRE NEGATIVE IN H4 , ti invio il codice e se hai modo di testarlo così vedi ( quando sono andato a vedere la lista delle posizioni chiuse noti subito che ci sono posizioni chiuse dopo 5 giorni e addirittura 17 candele negative) sicuro c’è qualcosa che non và.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
t1 = (OpenDayOfWeek = 1) AND (Time >= 000000) AND (Time <= 170000)
t2 = (OpenDayOfWeek = 2) AND (Time >= 000000) AND (Time <= 170000)
t3 = (OpenDayOfWeek = 3) AND (Time >= 000000) AND (Time <= 170000)
t4 = (OpenDayOfWeek = 4) AND (Time >= 000000) AND (Time <= 170000)
t5 = (OpenDayOfWeek = 5) AND (Time >= 000000) AND (Time <= 170000)x1 = (OpenDayOfWeek = 9) AND (Time = 180000)
x2 = (OpenDayOfWeek = 9) AND (Time = 180000)
x3 = (OpenDayOfWeek = 9) AND (Time = 180000)
x4 = (OpenDayOfWeek = 9) AND (Time = 180000)
x5 = (OpenDayOfWeek = 5) AND (Time = 170000)//
If OnMarket AND (x1 OR x2 OR x3 OR x4 OR x5) THEN
SELL AT MARKET
EXITSHORT AT MARKET
ENDIF// Condizioni per entrare su posizioni long
L1 = t1 OR t2 OR t3 OR t4 OR t5
L2 = Not OnMarketindicator1 = ChandeKrollStopUp[10,20,3]
indicator2 = ChandeKrollStopDown[10,20,3]
c1 = (indicator1 CROSSES OVER indicator2)
c2 = (open < close)
c3 = (open > DClose(2))indicator3 = Average[56](high)
c4 = (open > indicator3)
c5 = (open < close)
c6 = (open > DClose(2))indicator4 = SuperTrend[1,56]
c7 = (open > indicator4)
c8 = (open < close)
c9 = (open > DClose(2))indicator5 = Average[50](high)
c10 = (open > indicator5)
c11 = (open < close)
c12 = (open > DClose(2))IF (c1 and c2 and c3)OR(c2 and c3 and c4)OR(c2 OR c3 or c7) or(c2 and c3 and c10) OR (L1 AND L2) THEN
BUY 1 CONTRACT AT MARKET
ENDIF// NUMERO BARRE OTTIMALI
ONCE maxCandlesLongWithProfit = 20 // profitto longONCE maxCandlesLongWithoutProfit = 2 // Limite long
posProfit = (((close – positionprice) * pointvalue) * countofposition) / pipsize
numberCandles = (BarIndex – TradeIndex)
m1 = posProfit > 0 AND numberCandles >= maxCandlesLongWithProfit
m3 = posProfit < 0 AND numberCandles >= maxCandlesLongWithoutProfitIF LONGONMARKET AND (m1 OR m3) THEN
SELL AT MARKET
ENDIF06/06/2021 at 2:13 PM #17125906/06/2021 at 2:23 PM #171261Devi dargli l’orario della candela che usi, se la usi a 4 ore deve avere l’orario del 4 ore.
Tieni presente che TIME è l’orario di chiusura, se vuoi puoi provare con OPENTIME che è l’apertura.
Ad esempio TIME = 170000 significa che devono essere le 17 alla chiusura, oppure se usi OPENTIME significa che apre alle 17, quindi chiuderà le posizioni alle 21, se gli hai messo 210000.
In alternativa devi usare il supporto MTF (cercando MTF potrai trovare tutto quello che c’è da sapere in merito), con il quale puoi scendere anche al singolo mkinuto, però avrai meno storico disponibile.
06/06/2021 at 2:59 PM #171264si Roberto sugli intervalli temporali va bene, ma adesso quello che non mi riesce nonstante c’è la def di numero barre ottimali in H4 NON CHIUDE POSIZIONE ALLA SECONDA BARRA ROSSA QUINDI ALLA SECONDA CHIUSURA IN H4 NEGATIVA come posso fare ?? la def non viene riconosciuta.Stò cercando di lavorare sulle perdite, ti mando uno screen di un report posizioni su Dax 30.
Grazie ancora.
06/06/2021 at 3:07 PM #17126606/06/2021 at 3:46 PM #171267gli orari in H4 sono ( apertura candela H4 : 00:00 – 4:00 – 8:00 – 12:00 – 16:00 – 20:00) , quindi se voglio fare chiudere tutte le posizioni aperte il venerdi alle 20:00 e rendere nuovamente operativo il sistema SOLO DOPO l’apertura del lunedì notte devo inserire : x5 = (OpenDayOfWeek = 5) AND (Time = 200000) ; OPPURE x5 = (OpenDayOfWeek = 5) AND (OpenTime = 160000) e mi chiuderà le posizioni alle 20:00 giusto?
06/06/2021 at 3:58 PM #171270Dovrebbero essere un’ora dopo, UTC+2, 1:00, 5:00, 9:00, 13:00, 17:00 e 21:00.
Per le due candele negative, cosa intendi?
06/06/2021 at 4:32 PM #171271Roberto per la chiusura in candele è ok….INNANZITUTTO GRAZIE PER LA PAZIENZA ,
L’ULTIMA COSA : VORREI UNA UNICA FORMULA CHE CONDIZIONA LA CHIUSURA AUTOMATICA DELLE POSIZIONI APERTE IL VENERDI ALLE 20:00 E FARE RITORNARE DI NUOVO IL SISTEMA OPERATIVO DOPO L’APERTURA DELLE 00.00 DEL LUNEDì NOTTE.
QUINDI IL SISTEMA DEVE ESSERE SEMPRE OPERATIVO DA DOPO L’APERTURA DEL LUNEDì NOTTE FINO ALLE 20:00 DEL VENERDì CHE SEGUE…. gentilmente se mi riscrivi il nuovo codice IN BASE A QUESTE INDICAZIONI INSERENDO ANCHE GLI ORARI VISTO CHE NON SO CALCOLARLI CON UTC QUINDI DIFFERENZA ORARIA TIENI PRESENTE CHE OPERO SU INDICI AMERICANI E DAX30 (VOGLIO EVITARE I GAP DOWN DI APERTURA DEL LUNEDì NOTTE SONO QUELLI LA PRINCIPALE CAUSA DELLE PERDITE).
Ti ringrazio infinitamente per la tua disponibilità.
06/06/2021 at 5:46 PM #171272NON usare il maiuscolo, è considerata maleducazione su internet, equivalente ad urlare in una conversazione!
06/06/2021 at 7:54 PM #17127606/06/2021 at 11:13 PM #171280Roberto ho provato fino ad adesso in ogni modo ma non funziona non chiude le operazioni aperte quando indicato sia con Time che con Opentime… se puoi aiutarmi mi sento totalmente impotente.
Ti ringrazio infinitamente per la tua disponibilità.
t1 = (OpenDayOfWeek = 1) AND (Time >= 010000) AND (Time <= 210000)
t2 = (OpenDayOfWeek = 2) AND (Time >= 010000) AND (Time <= 210000)
t3 = (OpenDayOfWeek = 3) AND (Time >= 010000) AND (Time <= 210000)
t4 = (OpenDayOfWeek = 4) AND (Time >= 010000) AND (Time <= 210000)
t5 = (OpenDayOfWeek = 5) AND (Time >= 010000) AND (Time <= 170000)x1 = (OpenDayOfWeek = 1) AND (Time = 210000)
x2 = (OpenDayOfWeek = 2) AND (Time = 210000)
x3 = (OpenDayOfWeek = 3) AND (Time = 210000)
x4 = (OpenDayOfWeek = 4) AND (Time = 210000)
x5 = (OpenDayOfWeek = 5) AND (Time = 170000) lo ho fatto anche con (OpenTime = 130000) niente non me le chiude.06/07/2021 at 10:59 AM #171320Io questo l’ho provato sul DAX, 4 ore, e finziona perfettamente:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivatet1 = (OpenDayOfWeek = 1) AND (Time >= 010000) AND (Time <= 210000)t2 = (OpenDayOfWeek = 2) AND (Time >= 010000) AND (Time <= 210000)t3 = (OpenDayOfWeek = 3) AND (Time >= 010000) AND (Time <= 210000)t4 = (OpenDayOfWeek = 4) AND (Time >= 010000) AND (Time <= 210000)t5 = (OpenDayOfWeek = 5) AND (Time >= 010000) AND (Time <= 170000)x1 = (OpenDayOfWeek = 1) AND (Time = 210000)x2 = (OpenDayOfWeek = 2) AND (Time = 210000)x3 = (OpenDayOfWeek = 3) AND (Time = 210000)x4 = (OpenDayOfWeek = 4) AND (Time = 210000)x5 = (OpenDayOfWeek = 5) AND (Time = 170000)//If OnMarket AND (x1 OR x2 OR x3 OR x4 OR x5) THENSELL AT MARKETEXITSHORT AT MARKETENDIF// Condizioni per entrare su posizioni longL1 = t1 OR t2 OR t3 OR t4 OR t5L2 = Not OnMarketindicator1 = ChandeKrollStopUp[10,20,3]indicator2 = ChandeKrollStopDown[10,20,3]c1 = (indicator1 CROSSES OVER indicator2)c2 = (open < close)c3 = (open > DClose(2))indicator3 = Average[56](high)c4 = (open > indicator3)c5 = (open < close)c6 = (open > DClose(2))indicator4 = SuperTrend[1,56]c7 = (open > indicator4)c8 = (open < close)c9 = (open > DClose(2))indicator5 = Average[50](high)c10 = (open > indicator5)c11 = (open < close)c12 = (open > DClose(2))IF (c1 and c2 and c3)OR(c2 and c3 and c4)OR(c2 OR c3 or c7) or(c2 and c3 and c10) OR (L1 AND L2) THENBUY 1 CONTRACT AT MARKETENDIF// NUMERO BARRE OTTIMALIONCE maxCandlesLongWithProfit = 20 // profitto longONCE maxCandlesLongWithoutProfit = 2 // Limite longposProfit = (((close - positionprice) * pointvalue) * countofposition) / pipsizenumberCandles = (BarIndex - TradeIndex)m1 = posProfit > 0 AND numberCandles >= maxCandlesLongWithProfitm3 = posProfit < 0 AND numberCandles >= maxCandlesLongWithoutProfitIF LONGONMARKET AND (m1 OR m3) THENSELL AT MARKETENDIFFammi sapere te su quale candela non ha funzionato (indicami data ed ora d’apertura della candela a 4 ore, ed anche lo strumento se diverso dal DAX).
06/07/2021 at 4:39 PM #171354l’ho testato, sembra andar bene, se volessi far restare aperte le posizioni con le stesse condizioni di adesso ma chiudere le posizioni aperte SOLO il venerdì sera alle 20:00? e rendere di nuovo operativo il sistema dalla notte del lunedì seguente?
Ti ringrazio sei stato gentile e pieno di pazienza, ancora grazie mille.
06/07/2021 at 4:50 PM #17135506/07/2021 at 5:15 PM #171356Alla riga 13 devi mettere le ore 200000 anziché le 170000.
Al lunedì mattina ricomincerà ad essere operativo all’orario indicato alla riga 3.
Però così com’è il lunedì mattina NON riapre l’eventuale posizione chiusa il venerdì sera. E’ questo che vuoi?
-
AuthorPosts
Find exclusive trading pro-tools on