Grazie, sono solo a quel livello di conoscenza. C'è lo stesso problema con lo script dell'esempio. È scomodo quando si accende lo script e si inserisce alla fine della tendenza.
Come faccio a dire allo script di attivarsi solo se ci sono meno di 4 barre dopo l'incrocio di due barre?
Grazie, sono solo a quel livello di conoscenza. C'è lo stesso problema con lo script dell'esempio. È scomodo quando si accende lo script e si inserisce alla fine della tendenza.
Come faccio a dire allo script di attivarsi solo se ci sono meno di 4 barre dopo l'incrocio di due barre?
Lo script non capisce le parole. È nelle tue mani - esegui lo script non più tardi di 4 barre dopo che 2 MA sono state attraversate.
Gente, ho già chiesto qui come far aprire un ordine solo quando appare una nuova candela. Sto usando un timeframe D1.
Ho deciso di piazzare ordini pendenti a certi livelli (buystop_lvl e sellstop_lvl), in base all'analisi delle candele precedenti.
Volevo piazzarli all'inizio della giornata e cancellarli quando arriva una nuova candela. Non importa se gli ordini pendenti sono stati attivati o meno, se sono stati attivati, allora anche gli ordini a mercato dovrebbero essere chiusi. Al massimo 2 ordini, buystop e sellstop.
Ecco cosa ho scritto:
1. Prima controllo se gli ordini a mercato o gli ordini pendenti sono attivi, e se lo sono, li cancello/chiudo.
int total=OrdersTotal();
if (total!=0 && NewBar()==true){
for (int i=0; i<total; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,10);
if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,10);
if(OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket());
if(OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());
}
}
2. Poi piazzo ordini pendenti in base ai livelli calcolati:
Di conseguenza, quando si apre una nuova candela, gli ordini vengono piazzati e immediatamente cancellati. Gli ordini vengono piazzati e immediatamente cancellati.
Quando ho commentato il codice del punto (1) non sono riuscito a fargli aprire gli ordini nel tester, ma gli ordini non si sono aperti, cioè gli ordini non sono diventati a mercato.
Merda, non ho ancora capito come si fa. Ho bisogno del codice per cancellare e chiudere gli ordini solo sulla prossima candela. Ma ci saranno anche altri da aprire su di esso. Questo significa che il programma entrerà di nuovo nella cancellazione. Ho bisogno di qualche bandiera, ma il mio cervello sta già sudando per capire come fare :)
E in generale, si butta fuori NewBar, si guarda il tempo dell' ultima apertura dell 'ordine e lo si confronta con Time[0]. Se è più di questo, è il tuo caso, puoi cancellare tutto.
trend_lab: In generale, si butta fuori NewBar, si guarda il tempo dell'ultima apertura dell'ordine e lo si confronta con Time[0]. Se è più di questo, è il tuo caso, puoi cancellare tutto.
Salve,
Si prega di avere questa domanda sull'EA:
Ho un ordine che si apre con lo swing, per esempio, se MA_1 > MA_2 allora compriamo. Ma quando esco dal trade questa regola si attiva di nuovo.
Come posso dire all'EA di aprire una posizione solo se il prezzo si è spostato non più di 4 barre dalla MA_2?
Grazie!
Se qualcosa è sbagliato o posto sbagliato, non prendermi a calci. Questo è il mio primo post su questo enorme forum.
Salve,
Si prega di avere questa domanda sull'EA:
Ho un ordine che si apre con lo swing, per esempio, se MA_1 > MA_2 allora compriamo. Ma quando esco dal trade questa regola si attiva di nuovo.
Come posso dire all'EA di aprire una posizione solo se il prezzo si è spostato non più di 4 barre dalla MA_2?
Grazie!
Se c'è qualcosa di sbagliato o posto sbagliato, non prendetemi a calci. Questo è il mio primo post su questo enorme forum.
Grazie, sono solo a quel livello di conoscenza. C'è lo stesso problema con lo script dell'esempio. È scomodo quando si accende lo script e si inserisce alla fine della tendenza.
Come faccio a dire allo script di attivarsi solo se ci sono meno di 4 barre dopo l'incrocio di due barre?
Grazie, sono solo a quel livello di conoscenza. C'è lo stesso problema con lo script dell'esempio. È scomodo quando si accende lo script e si inserisce alla fine della tendenza.
Come faccio a dire allo script di attivarsi solo se ci sono meno di 4 barre dopo l'incrocio di due barre?
Gente, ho già chiesto qui come far aprire un ordine solo quando appare una nuova candela. Sto usando un timeframe D1.
Ho deciso di piazzare ordini pendenti a certi livelli (buystop_lvl e sellstop_lvl), in base all'analisi delle candele precedenti.
Volevo piazzarli all'inizio della giornata e cancellarli quando arriva una nuova candela. Non importa se gli ordini pendenti sono stati attivati o meno, se sono stati attivati, allora anche gli ordini a mercato dovrebbero essere chiusi. Al massimo 2 ordini, buystop e sellstop.
Ecco cosa ho scritto:
1. Prima controllo se gli ordini a mercato o gli ordini pendenti sono attivi, e se lo sono, li cancello/chiudo.
2. Poi piazzo ordini pendenti in base ai livelli calcolati:
3. Se ho un ordine Sell o Sell Sell, aprirò una nuova barra su di esso:
Di conseguenza, quando si apre una nuova candela, gli ordini vengono piazzati e immediatamente cancellati. Gli ordini vengono piazzati e immediatamente cancellati.
Quando ho commentato il codice del punto (1) non sono riuscito a fargli aprire gli ordini nel tester, ma gli ordini non si sono aperti, cioè gli ordini non sono diventati a mercato.
Puoi dirmi quale potrebbe essere il problema?
Questa funzione NewBar() non può essere usata due volte di seguito
Qualcosa come questo è meglio:
bool newBar = NewBar();
// e più avanti nel testo, sostituendo NewBar() con newBar
In generale, si butta fuori NewBar, si guarda il tempo dell'ultima apertura dell'ordine e lo si confronta con Time[0]. Se è più di questo, è il tuo caso, puoi cancellare tutto.
Sì, credo che dovrò farlo. Grazie per questo :)