Ditemi, c'è una funzione che può inviare una posizione per un ulteriore lavoro (modifica) usando , ulong deal; // Ticket deal, se è fatto dal biglietto del deal, ricordato prima? Probabilmente, una tale scelta richiederebbe qualche algoritmo complesso - come la mano sinistra per spazzolare l'orecchio destro?
Dimka-novitsek: Ditemi, c'è una funzione che può inviare una posizione per un ulteriore lavoro (modifica) usando , ulong deal; // Ticket deal, se è fatto dal biglietto del deal, ricordato prima? Probabilmente, questa scelta richiederà qualche algoritmo complesso, come la mano sinistra che spazzola l'orecchio destro?
Ogni trade ha un identificatore di posizione. Utilizzando questo identificatore, proveremo a cercare la posizione stessa.
Buona sera a tutti! Vedo che la gente è interessata a questo ramo. A proposito del campionato...
Ancora non controllato i miei dati inviati dalle informazioni chiuse per il campionato, anche se l'esperto - controllato!
Quando saranno controllati?
Se il robot viene controllato senza errori, non c'è da preoccuparsi. Per quanto ho capito, l'esperto viene controllato automaticamente, ma i dati personali vengono controllati manualmente.
Buona sera a tutti! Vedo che la gente è interessata a questo ramo. A proposito del campionato...
Ancora non controllato i miei dati inviati dalle informazioni chiuse per il campionato, anche se l'esperto - controllato!
Quando saranno controllati?
È stato consigliato altrove: se ci sono domande, un concorrente registrato può facilmente scrivere il suo problema nella sezione "Discussione" della sua pagina di campionato. Il messaggio arriverà al destinatario molto più velocemente che attraverso il forum.
C'è un pezzo di codice dell'articolo che definisce l'inizio di una nuova barra.
staticdatetime Old_Time;
datetime New_Time[1];
bool IsNewBar=false;
// копируем время текущего бара в элемент New_Time[0]int copied=CopyTime(_Symbol,_Period,0,1,New_Time);
if(copied>0) // ok, успешно скопировано
{
if(Old_Time!=New_Time[0]) // если старое время не равно
{
IsNewBar=true; // новый барif(MQL5InfoInteger(MQL5_DEBUGGING))
Print("Новый бар",New_Time[0],"старый бар",Old_Time);
Old_Time=New_Time[0]; // сохраняем время бара
}
}
else
{
Alert("Ошибка копирования времени, номер ошибки =",GetLastError());
ResetLastError();
return;
}
//--- советник должен проверять условия совершения новой торговой операции только при новом бареif(IsNewBar==false)
{
return;
}
Tutto funziona bene. Ma voglio inserire il calcolo di diverse statistiche pesanti nell'ultimo if. Voglio avere dei calcoli minimi al momento di una nuova barra.
Ecco la mia domanda. Come si comporterà questo codice se le statistiche sono calcolate per un tempo relativamente lungo (diciamo 2 secondi) e lo scarto tra i tick della vecchia e della nuova barra è minimo.
Per quanto ho capito, mentre lafunzione OnTick() sta calcolando i tick sarà saltata ma il prossimo tick sarà nuovo per l'EA, anche se non è il primo della barra.
St.Vitaliy: Come si comporterà questo codice, se la statistica viene letta per un tempo relativamente lungo (diciamo 2 secondi)
Se la funzione OnTick() viene eseguita per 2 secondi, allora tutte le quotazioni che arrivano durante questo periodo saranno ignorate dall'Expert Advisor. È questo il punto che voleva chiarire? Una "nuova" quotazione per l'Expert Advisor sarà una quotazione che arriva immediatamente dopo l'esecuzione della funzione OnTick(), anche se questa quotazione non è il "primo tick della barra".
Yedelkin: Se la funzione OnTick() viene eseguita per 2 secondi, allora tutte le quotazioni che arrivano durante questo intervallo di tempo saranno ignorate dall'EA. È questo il punto che voleva chiarire?
Qui, questi 2 secondi sono ignorati (e i tick durante questo tempo), ma al terzo tick, per esempio, arriverà un altro tick e il codice lo percepirà come nuovo nella barra?
Questo è indirettamente confermato dal fatto che quando eseguo l'EA, il tick successivo è sempre il primo.
Se la statistica è calcolata per 90 secondi, la condizione per un nuovo tick su M1 sarà eseguita almeno una volta?
St.Vitaliy: Qui, questi 2 secondi sono ignorati (e i tick durante questo tempo), ma al terzo, per esempio, arriverà un altro tick e il codice lo accetterà come un nuovo tick nella barra? Indirettamente è dimostrato dal fatto che quando eseguo l'EA, il prossimo tick è sempre il primo. Faccio una domanda diversa, se le statistiche saranno calcolate per 90 secondi, la condizione per un nuovo tick su M1 sarà mai soddisfatta?
Beh, l'ho già finito qui sopra. Ripeto: la "nuova" quotazione per l'Expert Advisor è una quotazione che arriva subito dopo il completamento della prossima funzione OnTick(), anche se questa quotazione non è il "primo tick di una barra". La tua condizione di una nuova barra che arriva
if(Old_Time!=New_Time[0])
sarà controllato solo dopo che l'Expert Advisor ha terminato l'elaborazione della quotazione arrivata sulla barra "precedente". ...Se la funzione OnTick() viene eseguita per 90 secondi ed è iniziata alle 00.00.00, la "condizione per un nuovo tick su M1 sarà eseguita ad un certo punto", cioè dopo le 00.01.30.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Ditemi, c'è una funzione che può inviare una posizione per un ulteriore lavoro (modifica) usando , ulong deal; // Ticket deal, se è fatto dal biglietto del deal, ricordato prima? Probabilmente, questa scelta richiederà qualche algoritmo complesso, come la mano sinistra che spazzola l'orecchio destro?
Buona sera a tutti! Vedo che la gente di questo ramo è interessata. A proposito del campionato...
Ancora non controllato i miei dati inviati dalle informazioni chiuse per il campionato, anche se l'esperto - controllato!
Quando saranno controllati?
Buona sera a tutti! Vedo che la gente è interessata a questo ramo. A proposito del campionato...
Ancora non controllato i miei dati inviati dalle informazioni chiuse per il campionato, anche se l'esperto - controllato!
Quando saranno controllati?
Buona sera a tutti! Vedo che la gente è interessata a questo ramo. A proposito del campionato...
Ancora non controllato i miei dati inviati dalle informazioni chiuse per il campionato, anche se l'esperto - controllato!
Quando saranno controllati?
Ho una domanda.
C'è un pezzo di codice dell'articolo che definisce l'inizio di una nuova barra.
Tutto funziona bene. Ma voglio inserire il calcolo di diverse statistiche pesanti nell'ultimo if. Voglio avere dei calcoli minimi al momento di una nuova barra.
Ecco la mia domanda. Come si comporterà questo codice se le statistiche sono calcolate per un tempo relativamente lungo (diciamo 2 secondi) e lo scarto tra i tick della vecchia e della nuova barra è minimo.
Per quanto ho capito, mentre lafunzione OnTick() sta calcolando i tick sarà saltata ma il prossimo tick sarà nuovo per l'EA, anche se non è il primo della barra.
Il controllo manuale non ha ancora funzionato
Se la funzione OnTick() viene eseguita per 2 secondi, allora tutte le quotazioni che arrivano durante questo intervallo di tempo saranno ignorate dall'EA. È questo il punto che voleva chiarire?
Qui, questi 2 secondi sono ignorati (e i tick durante questo tempo), ma al terzo tick, per esempio, arriverà un altro tick e il codice lo percepirà come nuovo nella barra?
Questo è indirettamente confermato dal fatto che quando eseguo l'EA, il tick successivo è sempre il primo.
Se la statistica è calcolata per 90 secondi, la condizione per un nuovo tick su M1 sarà eseguita almeno una volta?
Ogni trade ha un identificatore di posizione. Usa questo identificatore per cercare la posizione stessa.
Beh, l'ho già finito qui sopra. Ripeto: la "nuova" quotazione per l'Expert Advisor è una quotazione che arriva subito dopo il completamento della prossima funzione OnTick(), anche se questa quotazione non è il "primo tick di una barra". La tua condizione di una nuova barra che arriva
sarà controllato solo dopo che l'Expert Advisor ha terminato l'elaborazione della quotazione arrivata sulla barra "precedente". ...Se la funzione OnTick() viene eseguita per 90 secondi ed è iniziata alle 00.00.00, la "condizione per un nuovo tick su M1 sarà eseguita ad un certo punto", cioè dopo le 00.01.30.