È possibile raggiungere il pareggio, attivare lo stop loss o uscire da un'operazione dopo...
9 risposte
Soglia
10 anni fa #112105
È possibile raggiungere il pareggio/attivare lo stop loss/uscire da un'operazione dopo 24 ore (barre)?
La mia strategia è una strategia a barre giornaliere.
Voglio raggiungere il pareggio dopo esattamente 24 ore o uscire se l'operazione non è vincente dopo esattamente 24 ore.
Vedo che c'è un'opzione "BarsSinceOrderOpen" ma questa opzione ha un timeframe. È possibile aggiungerla? O ci sono altre possibilità?
stearno
10 anni fa #124337
Mark Fric
10 anni fa #124363
è possibile farlo creando una regola apposita.
Qualcosa come:
IF(BarsSinceOrderOpen >= 1) // negoziazione più vecchia di un giorno
e OpenPL() > 0
ALLORA
spostare SL in BE
e un'altra regola per chiudere l'operazione:
IF(BarsSinceOrderOpen >= 1) // negoziazione più vecchia di un giorno
e OpenPL() < 0
ALLORA
ChiudiPosizione
Marchio
Architetto StrategyQuant
Soglia
10 anni fa #124383
Non avete letto bene la domanda o forse non sono stato chiaro. Le mie scuse.
BarsSinceOrderOpen>=1 è esattamente quello che ho detto che non funziona perché non ha un'opzione di timeframe. E se l'ordine fosse stato inserito alle 23:00 di ieri? In questo caso il pareggio avviene dopo solo 1 ora. BarsSinceOrderOpen non significa 24 ore. Significa semplicemente una nuova barra. Potrebbe essere 1 ora 2 ore 3 ore 4 ore 5 ore....
Sto cercando di raggiungere il pareggio dopo esattamente 24 ore (o 24 barre H1) per la strategia D1.
Ho bisogno di fare:
BarsSinceOrderOpen(Timeframe: PERIOD_H1) > 24
Ma non c'è l'opzione del calendario.
La mia strategia è una strategia a barre giornaliere.
Voglio raggiungere il pareggio dopo esattamente 24 ore o uscire se l'operazione non è vincente dopo esattamente 24 ore.
Vedo che c'è un'opzione "BarsSinceOrderOpen" ma questa opzione non ha *l'opzione timeframe*. È possibile aggiungerla? O ci sono altre possibilità?
Mark Fric
9 anni fa #124435
ok, ho capito. Purtroppo non è facile da risolvere al momento, senza aggiungere l'opzione timeframe a Barre dall'apertura dell'ordine.
Ma è possibile farlo utilizzando una funzione personalizzata. Aggiungete le seguenti funzioni nel file EA Wizard/code/CustomFunctions.mq4:
e poi in EA Wizard nella tua condizione puoi chiamare la funzione personalizzata: sqGetBarsSinceEntryH1(il tuo numero magico) >= 24
Marchio
Architetto StrategyQuant
Soglia
9 anni fa #124471
Fantastico! C'è un modo per applicare questo all'attivazione di TS?
Ora so come comportarmi con BE.
Questo è il mio tentativo di applicarlo all'Attivazione TS.
Attivazione TS (variabile) = TSAktivate
Soglia
9 anni fa #124479
L'EA non si carica con successo dopo aver modificato il file CustomFunctions.mq4.
Lo caricherò. Forse il mio editing non era corretto.
Ho copiato e incollato tutto il codice che mi hai fornito e l'ho aggiunto alla fine del file.
Ecco anche il mio lavoro:
JTamas
9 anni fa #124484
Proverei questo:
1. creare una variabile: "opentime".
2. Regola1#: SE l'ordine aperto in questo minuto è vero ALLORA assegnare la variabile opentime = ora(0 barre fa)
3. Regola 2# SE barre dall'apertura dell'ordine = 1 e Timecurrent = GetTime(opentime, 0, 0)
ALLORA
qualunque
Poiché si desidera chiudere dopo 24 ore, significa che la chiusura avverrà alla stessa ora in cui è stata aperta, solo un giorno dopo.
Soglia
9 anni fa #124492
Un approccio molto semplice, mi piace.
L'ho provato, ma non funziona.
Mark Fric
9 anni fa #124520
Ciao,
non funziona ancora? Puoi allegare qui la tua strategia?
Ho controllato il file CustomFunctions che hai allegato, ma non ho visto le mie funzioni aggiunte, ed è stato compilato correttamente.
Marchio
Architetto StrategyQuant
Stai visualizzando 9 risposte - da 1 a 9 (di 9 totali)