Ho scritto un codice con la condizione "compra" quando MA(20) incrocia MA(50) dal basso verso l'alto
Ma in realtà si fa così
Errore grossolano: si creano due maniglie dell'indicatore su ogni tick. Il modo corretto di farlo è
int SmallMovingAverageDefinition = iMA(_Symbol,_Period,SmallMovingAverage,0,MODE_SMA,PRICE_CLOSE);
int BigMovingAverageDefinition = iMA(_Symbol,_Period,BigMovingAverage,0,MODE_SMA,PRICE_CLOSE);
spostare a OnInit, aggiungere un controllo della correttezza dell'handle.
Anche gli array che prendono valori da IMA devono essere fatti
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха, ему не ведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...
Capisco che creiamo solo l'handle dell'indicatore nella funzione OnInit ed eseguiamo tutte le altre manipolazioni con gli array nella funzione OnTick e lo controlliamo ad ogni tick?
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
Buon pomeriggio!
Sto cercando di capire gli array e ho la seguente domanda.
Perché usareArraySetAsSeries in questo esempio e impostare il flag true, se inCopyRates il conteggio viene fatto dal presente al passato?
Ho capito che la funzioneArraySetAsSeries è necessaria per cercare l'array dal presente al passato.
Voglio capire lo scopo di questa funzione in questo esempio.
Dopo
tassi[0] corrisponderà alla BARRA DESTRA nel grafico. Questa è la spiegazione più semplice, senza i confusi termini "presente" e "futuro".
Dopo
tassi[0] corrisponderà alla BARRA DESTRA sul grafico. Questa è la spiegazione più semplice, senza i confusi termini "presente" e "futuro".
Grazie per la risposta!
Ma se non usiamoArraySetAsSeries, alloraCopyRates assegnerà anche rates[0] alla barra più a destra del grafico.
Sto solo cercando di capire a cosa serve la funzioneArraySetAsSeries quando funziona lo stesso senza di essa?
O è solo una forma accettata di scrivere codice?
Grazie per la risposta!
Ma se non usiamoArraySetAsSeries, alloraCopyRates assegnerà anche rates[0] alla barra più a destra del grafico.
Sto solo cercando di capire perché la funzioneArraySetAsSeriesè necessaria quando funziona lo stesso senza di essa?
O è solo una forma accettata di scrivere codice?
ti sbagli, CopyRates assegna rate[0] al valore più vecchio a causa della dimensione dell'array rate[].
Grazie!
Ora ho capito, mi sbagliavo)
Buon pomeriggio!
Ancora una volta chiedo aiuto!
Ho scritto un codice con la condizione "compra" quando MA(20) incrocia MA(50) dal basso verso l'alto
Ma in realtà si esegue così
Buon pomeriggio!
Ancora una volta chiedo aiuto!
Ho scritto un codice con la condizione "compra" quando MA(20) incrocia MA(50) dal basso verso l'alto
Ma in realtà si fa così
Errore grossolano: si creano due maniglie dell'indicatore su ogni tick. Il modo corretto di farlo è
spostare a OnInit, aggiungere un controllo della correttezza dell'handle.
Anche gli array che prendono valori da IMA devono essere fatti
Grazie mille per la vostra pronta risposta!
Ho capito diArraySetAsSeries.
Cercherò di capire come spostare l'indicatore su OnInit, e controllare la maniglia.
***
Grazie mille per la tua pronta risposta!
Ho capito diArraySetAsSeries.
Cercherò di capire come spostare l'indicatore su OnInit, e controllare la maniglia.
***
Tutto è lì dall'inizio
È tutto lì dall'inizio.
Grazie, studierò
Risolto, tutto sembra funzionare)!
Ho trasferito due indicatori MA alla funzione OnInit.
Capisco che creiamo solo l'handle dell'indicatore nella funzione OnInit ed eseguiamo tutte le altre manipolazioni con gli array nella funzione OnTick e lo controlliamo ad ogni tick?