Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1112

 
paukas:
Totale ordini()

Forse non capisco, ma ho solo pensato che OrdersTotal()==0 è il contrario dell'obiettivo finale del mio ciclo.

Quello che voglio può anche essere immaginato così:

Condizione;

mentre(OrdiniTotali()==0)

{

Commercio proibito;

}

 
Mislaid:

No, 100 grafici sono sufficienti, ma bisogna scrivere correttamente l'indicatore.

Beh, sì. Non puoi aprire più di 100 grafici in Metatrader.

E come organizzare il caricamento tempestivo della storia per tutti i simboli e i timeframe nell'indicatore?
Lachiamata ArrayCopySeries lo farà?

All'inizio dell'indicatore la chiamata ArrayCopySeries non pompa la storia per nuovi simboli.
Forse non è pompato perché il mercato è chiuso nei fine settimana?
 

Buongiorno, ho bisogno di aiuto! Quando l'EA sta lavorando l'ordine viene chiuso da uno stop e immediatamente su un nuovo tick c'è un'apertura di un nuovo ordine sulla stessa barra nella stessa direzione e, di conseguenza, lo stop scatta di nuovo e questo può continuare diverse volte. L'obiettivo è quello di aprire un nuovo ordine dopo che è stato chiuso da uno stop e solo dopo il prossimo incrocio della MA corta con la MA lunga. Se possibile, suggerite il codice in mql4. Molte grazie in anticipo!

 
Sokolmih:

Buongiorno, ho bisogno di aiuto! Quando l'EA sta lavorando l'ordine viene chiuso da uno stop e un nuovo ordine viene immediatamente aperto sulla stessa barra nella stessa direzione e, di conseguenza, lo stop viene attivato di nuovo e questo può continuare diverse volte. L'obiettivo è quello di aprire un nuovo ordine dopo che è stato chiuso da uno stop e solo dopo il prossimo incrocio della MA corta con la MA lunga. Se possibile, suggerite il codice in mql4. Grazie!

Se non c'è nessun cambiamento nell'ordine, non dovrebbe più scambiare, e se c'è un nuovo incrocio, non dovrebbe scambiare.

Non scriverò il codice da zero - questo è per i freelance.

 
RickD:
Beh, sì. Non si possono aprire più di 100 grafici in Metatrader.

E come organizzare il download tempestivo della storia per tutti i simboli e i timeframe dell'indicatore?
La chiamata ArrayCopySeries lo farà?

All'inizio dell'indicatore la chiamata ArrayCopySeries non pompa la storia per nuovi simboli.
Forse non è pompato perché il mercato è chiuso nei fine settimana?

Hai bisogno di uno script per i fine settimana.

Lavoro nei giorni feriali. Ecco perché uso l'indicatore. Gli do una lista di strumenti e lui richiede le quotazioni per il timeframe, sul grafico del quale è seduto. Non mi preoccupo della gestione degli errori. Dopo una dozzina di minuti tutto si sistema.

L'ho completamente dimenticato. Se voglio salvare la storia, devo necessariamente aprire il grafico del simbolo.

 
evillive:

Il tempo o il prezzo dell'incrocio dovrebbe essere memorizzato nelle variabili globali del terminale o in un file e la situazione attuale sul grafico dovrebbe essere confrontata con il valore memorizzato; se non vi è alcun cambiamento e l'ordine è stato attraversato - non fare trading di nuovo, se c'è un nuovo incrocio - fare trading.

Non scriverò il codice da zero, dovrebbe essere fatto da un libero professionista.

Grazie

Non sto chiedendo l'intero codice, ma per favore date qualche suggerimento/indicazione. Ecco come identificare il prossimo crossover, puoi aiutare?

 
Sokolmih:

Grazie

Non sto chiedendo l'intero codice, naturalmente, ma per favore datemi qualche suggerimento. Ecco come determinare il prossimo incrocio, puoi aiutare?

Sì, allo stesso modo dei precedenti, hai un EA, guarda nel codice.
 
evillive:
Sì, esattamente lo stesso dei precedenti, hai l'EA, guarda nel codice.
Forse non ho posto correttamente la domanda, guarda, ho identificato nello storico che l'ultimo ordine ha chiuso allo stop e ora, secondo il tuo consiglio, devo ricordare il valore di short e long e poi ai prossimi tick devo confrontarli con i valori attuali e se uno diventa più basso o più alto dell'altro, allora apro un ordine. Ho capito bene.
 
Sokolmih:
Guarda, ho controllato lo storico e ho scoperto che l'ultimo ordine è stato chiuso da uno stop e ora secondo il tuo consiglio dovrei memorizzare i valori dello short e del long e poi ai prossimi tick dovrei confrontarli con i valori attuali e se uno diventa inferiore o superiore all'altro, allora apro un nuovo ordine. Ho capito bene.

Si può ricordare il tempo di apertura della barra in cui si registra l'incrocio di due MA. L'Expert Advisor ha memorizzato il tempo di attraversamento e ha aperto un ordine. Questo è seguito dal monitoraggio della presenza di un ordine di mercato, per quanto ho capito c'è solo un ordine nel mercato.

Una volta che l'ordine è chiuso, l'Expert Advisor confronta il tempo di chiusura dell'ordine con il tempo di attraversamento. Se OrderCloseTime>CrossTime, il trading è proibito e viene monitorato un nuovo incrocio. Se un nuovo incrocio viene trovato durante questo periodo - ricordatevi del suo tempo. In questo caso, OrderCloseTime<CrossTime diventa automaticamente un nuovo ordine e viene aperto un nuovo ordine.

 
evillive:

Si può ricordare il tempo di apertura della barra in cui si registra l'incrocio di due MA. L'Expert Advisor ha memorizzato il tempo di attraversamento e ha aperto un ordine. Questo è seguito dal monitoraggio della presenza di un ordine di mercato, per quanto ho capito, c'è solo un ordine nel mercato.

Una volta che l'ordine è chiuso, l'Expert Advisor confronta il tempo di chiusura dell'ordine con il tempo di attraversamento. Se OrderCloseTime>CrossTime, il trading è vietato e viene monitorato un nuovo incrocio. Se un nuovo incrocio viene trovato durante questo periodo - ricordatevi del suo tempo. Questo diventa automaticamente OrderCloseTime<CrossTime e viene aperto un nuovo ordine.

Ho ottenuto le condizioni e ora sto cercando di capire come determinare il tempo di apertura della barra in cui è fissato l'incrocio di due MA. Grazie per il suggerimento.
Motivazione: