Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1010

 
Maxim Kuznetsov:

Quando apri un ordine, scrivi il numero della regola/variabile nel commento.

Poi, quando si fa un controllo della storia, si estrae quel numero, gli si aggiunge 1 e si ottiene un nuovo numero di regola

Grazie! Questo è un buon modo. Proverò

 
Igor Makanu:

Sperimentate con questo codice, forse questo è ciò di cui avete bisogno

2019.11.28 22:31:26.409 tst EURUSD,H1: 0,7 ---> 0,7

2019.11.28 22:31:26.409 tst EURUSD,H1: 0,6 ---> 0,7

2019.11.28 22:31:26.409 tst EURUSD,H1: 0,5 ---> 0,6

2019.11.28 22:31:26.409 tst EURUSD,H1: 0,4 ---> 0,5

2019.11.28 22:31:26.409 tst EURUSD,H1: 0,3 ---> 0,4

2019.11.28 22:31:26.409 tst EURUSD,H1: 0,2 ---> 0,3

2019.11.28 22:31:26.409 tst EURUSD,H1: 0,1 ---> 0,2

Nella mia funzione GetNextLot() si inserisce il volume dell'ultimo ordine chiuso, e restituisce il prossimo valore dell'impostazione Lot_XX

l'unica limitazione in questo codice è che devi configurare i lotti in ordine crescente - penso che il codice sia semplice e diretto, puoi modificarlo in base alle tue esigenze

Grazie!!!

 
Corvin85:

Grazie!!!

per favore

Se il calcolo del vostro lotto è arbitrario, potreste provare a sostituire if con switch-case nel mio esempio

 
Voglio aprire due terminali MT4 e connettermi a un EA da essi, cioè un programma sarà installato in un terminale e l'altro sarà anche in grado di trovare l'EA, è molto difficile compilare il programma e ogni volta lanciare un file lì e lì. È possibile farlo?
 

Qual è il modo migliore per scrivere l'algoritmo?


Compito:

Un Expert Advisor funziona su diversi grafici.

Ho bisogno di avere un file separato con informazioni minuto per minuto su conto, saldo, capitale, ecc.


Ora si scopre che tutti gli Expert Advisors scrivono tutte le informazioni in un file. Di conseguenza, abbiamo un sacco di voci inutili.


Quale potrebbe essere la soluzione ingegnosa per far sì che solo un bot faccia dei record nel file? (E se per esempio è stato cancellato, le registrazioni hanno iniziato a fare un altro bot, ecc.)

 
Seric29:
Voglio aprire 2 terminali MT4 e connettermi a un EA da essi, cioè un programma sarà installato in un terminale e il secondo sarà anche in grado di trovare l'EA, molto difficile da compilare un programma e ogni volta gettare il file lì e lì. È possibile farlo?

Non si può fare.

Cercate un programma per Windows che sincronizzi i dati nelle cartelle. E impostarlo in modo che l'EA sia automaticamente copiato nel nuovo terminale

 
Sergey Likho:

Qual è il modo migliore per scrivere l'algoritmo?


Compito:

Un Expert Advisor funziona su diversi grafici.

Ho bisogno di avere un file separato con informazioni minuto per minuto su conto, saldo, capitale, ecc.


Ora si scopre che tutti gli Expert Advisors scrivono tutte le informazioni in un file. Di conseguenza, abbiamo un sacco di voci inutili.


Qual è la possibile soluzione originale, in modo che solo un bot scriva sul file (E, per esempio, se è stato cancellato, l'altro bot inizia a fare record, ecc.)

Potete cercare di organizzare la comunicazione attraverso GV.

Per esempio: Iniziato il primo, non trova GV e lo crea con un certo nome. L'ID del grafico può essere usato come valore. Lanciate il prossimo Expert Advisor, GV è lì, non scrive. Si cancella il primo, controlla il valore e se il valore è uguale all'ID del grafico, cancella il GV. Il prossimo vede che il GV è assente e lo crea con il suo valore.

Così GV può essere cancellato solo da colui che l'ha creato o da colui che è responsabile, letteralmente. Cancella a mano.

 

Salve a tutti. Ho una domanda stupida, ma non voglio sperimentare un po'. Ho un indicatore, non ho bisogno di emettere nulla da esso, ma il mio Expert Advisor deve prendere dati da esso. Qual è il modo giusto per inizializzare gli array?

INDICATOR_DATA o INDICATOR_CALCULATIONS?

Bene, in generale, voglio sapere se posso ottenere dati dal numero del buffer nella funzione iCustom - usando il buffer definito come SetIndexBuffer(N, BufferName, INDICATOR_CALCULATIONS);

 
Никита Парамонов:

Salve a tutti. Ho una domanda stupida, ma non voglio sperimentare un po'. Ho un indicatore, non ho bisogno di emettere nulla da esso, ma il mio Expert Advisor deve prendere dati da esso. Qual è il modo giusto per inizializzare gli array?

INDICATOR_DATA o INDICATOR_CALCULATIONS?

Bene, in generale, voglio sapere se posso ottenere dati dal numero del buffer nella funzione iCustom - usando il buffer definito come SetIndexBuffer(N, BufferName, INDICATOR_CALCULATIONS);

Prendete lo standard MA, cambiate il tipo di dati del buffer, compilate e controllate nella finestra dei dati del terminale (Ctrl+D)

 

ChartID() viene scritto nelle variabili globali del terminale con un errore. cos'è questa assurdità?


Prova questo codice:


   string GlobalVar1 = "GVAR";
   long ChID = ChartID();
   
   if(GlobalVariableSet(GlobalVar1,ChID) == 0)
      Print("Error GV", GetLastError());

   Print(GlobalVar1," id:",ChID, " GV_id:", (long)GlobalVariableGet(GlobalVar1));


//мой ответ 2019.11.29 13:30:39.292     test EURUSD,M5: GVAR id:132194970392300419 GV_id:132194970392300416

разница в конце в одну цифру
Motivazione: