Domanda sull'inizializzazione degli indicatori da parte dell'Expert Advisor durante il test in modalità visiva.
Se inizializzo gli indicatori in OnInit() { } dell'Expert Advisor, allora nel tester visivo l'indicatore di solito non appare e non viene disegnato.
Allo stesso tempo, nel log si passa l'inizializzazione e si riceve l'handle. Si sente che nella modalità visiva il tester non ha tempo di fare qualcosa e l'indicatore non si attacca al grafico.
Se inizializzo gli indicatori in OnTick() { } dell'EA, il problema scompare, ma crea inutili scritture, controlli e così via.
Se decommento l'IndicatorInitialization() in OnTick e lo commento in OnInit, inizia a funzionare.
int TicksTesterIndicatorHandle = INVALID_HANDLE;
bool InitComplite=false;
intOnInit()
{
IndicatorInitialization();
return(INIT_SUCCEEDED);
}
voidOnDeinit(constint reason)
{
IndicatorRelease(TicksTesterIndicatorHandle);
}
voidOnTick()
{
//if(!InitComplite)// {// IndicatorInitialization();// }
}
//+------------------------------------------------------------------+bool IndicatorInitialization()
{
//---Получить хэндл индикатора TicksTesterIndicator
TicksTesterIndicatorHandle=iCustom(NULL, _Period, "OnInit_TestIndicator");
//--- Нужно проверить, не были ли возвращены значения Invalid Handleif(TicksTesterIndicatorHandle<0)
{
Print("Ошибка при создании индикатора TicksTesterIndicator - номер ошибки: ",GetLastError(),"!!!");
return(false);
}
else
{
Print("TicksTesterIndicator инициализирован, хэндл: ", TicksTesterIndicatorHandle);
ArraySetAsSeries(Buf, true);
InitComplite=true;
}
return(true);
}
Dopo che MetaEditor si blocca e poi si riavvia - questo file è ora visualizzato come un insieme di testo rosso, ma lo stesso blocco note lo apre normalmente (rimosso inutilmente)
Impossibile superare l'errore [Prezzo non valido] quando si inserisce un ordine in sospeso. L'intero problema è che tali errori cadono sui controlli standard della pubblicazione EA. Non posso guardare i log di conseguenza per capire qual è il motivo. Non l'ho riprodotto nei miei test. Naturalmente, la complessità è che non so per quali parametri stia il simbolo nei controlli standard. Ho provato a usare il terminale MetaQuotes per giocarci. L'ordine si apre nello stesso posto, anche allo stesso prezzo e non c'è nessun errore. I prezzi sono normalizzati da CSymbolinfo::NormilizePrice(), ci sono controlli per StopsLevel, freeze level, per la correttezza dei prezzi degli ordini pendenti, aggiorno i dati dei prezzi con ogni controllo.
Forse qualcuno conosce tutti i casi in cui un tale errore può verificarsi sugli ordini in sospeso? L'unico che mi viene in mente è
Prezzo non normalizzato
Prezzo sopra/sotto il prezzo di mercato per un certo tipo di ordine
Impossibile superare l'errore [Prezzo non valido] quando si inserisce un ordine in sospeso. L'intero problema è che tali errori cadono sui controlli standard della pubblicazione EA. Non posso guardare i log di conseguenza per capire qual è il motivo. Non l'ho riprodotto nei miei test. Naturalmente, la complessità è che non so per quali parametri stia il simbolo nei controlli standard. Ho provato a usare il terminale MetaQuotes per giocarci. L'ordine si apre nello stesso posto, anche allo stesso prezzo e non c'è nessun errore. I prezzi sono normalizzati da CSymbolinfo::NormilizePrice(), ci sono controlli per StopsLevel, freeze level, per la correttezza dei prezzi degli ordini pendenti, aggiorno i dati dei prezzi con ogni controllo.
Forse qualcuno conosce tutti i casi in cui tale errore può verificarsi sugli ordini in sospeso? L'unico che mi viene in mente è
Prezzo non normalizzato
Prezzo sopra/sotto il prezzo di mercato per un certo tipo di ordine
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
È possibile fare un test cutoff per parametri nel tester?
Per esempio, se viene raggiunto un drawdown del 40% su un test, questo si ferma e le risorse vengono utilizzate per i test successivi.
Questo è possibile per i tuoi EA: devi contare il criterio di uscita all'interno (se è pesante - in OnTimer), raggiunta la soglia - TesterStop()/ExpertRemove().
Print(SymbolSelect( "EURUSD",true)); Ottengo un errore - vero
Leggere attentamente la documentazione:SymbolExist
Ecco come appare nel codice:
Leggere attentamente la documentazione:SymbolExist
Ecco come appare nel codice:
Grazie, Vladimir
Domanda sull'inizializzazione degli indicatori da parte dell'Expert Advisor durante il test in modalità visiva.
Se inizializzo gli indicatori in OnInit() { } dell'Expert Advisor, allora nel tester visivo l'indicatore di solito non appare e non viene disegnato.
Allo stesso tempo, nel log si passa l'inizializzazione e si riceve l'handle. Si sente che nella modalità visiva il tester non ha tempo di fare qualcosa e l'indicatore non si attacca al grafico.
Se inizializzo gli indicatori in OnTick() { } dell'EA, il problema scompare, ma crea inutili scritture, controlli e così via.
Se decommento l'IndicatorInitialization() in OnTick e lo commento in OnInit, inizia a funzionare.
Continuazione della storiadei filemagici:
Dopo che MetaEditor si blocca e poi si riavvia - questo file è ora visualizzato come un insieme di testo rosso, ma lo stesso blocco note lo apre normalmente (rimosso inutilmente)
Pomeriggio,
Android MT5/MT4: nella finestra di inserimento degli ordini i colori delle linee di tick sono confusi. Anche negli schemi di colore delle carte.
Ciao a tutti!
Impossibile superare l'errore [Prezzo non valido] quando si inserisce un ordine in sospeso. L'intero problema è che tali errori cadono sui controlli standard della pubblicazione EA. Non posso guardare i log di conseguenza per capire qual è il motivo. Non l'ho riprodotto nei miei test. Naturalmente, la complessità è che non so per quali parametri stia il simbolo nei controlli standard. Ho provato a usare il terminale MetaQuotes per giocarci. L'ordine si apre nello stesso posto, anche allo stesso prezzo e non c'è nessun errore. I prezzi sono normalizzati da CSymbolinfo::NormilizePrice(), ci sono controlli per StopsLevel, freeze level, per la correttezza dei prezzi degli ordini pendenti, aggiorno i dati dei prezzi con ogni controllo.
Forse qualcuno conosce tutti i casi in cui un tale errore può verificarsi sugli ordini in sospeso? L'unico che mi viene in mente è
Buongiorno.
È possibile fare un test cutoff per parametri nel tester?
Per esempio, se si raggiunge un drawdown del 40% su un test, questo si ferma e le risorse vanno a favore dei test successivi.
Ciao a tutti!
Impossibile superare l'errore [Prezzo non valido] quando si inserisce un ordine in sospeso. L'intero problema è che tali errori cadono sui controlli standard della pubblicazione EA. Non posso guardare i log di conseguenza per capire qual è il motivo. Non l'ho riprodotto nei miei test. Naturalmente, la complessità è che non so per quali parametri stia il simbolo nei controlli standard. Ho provato a usare il terminale MetaQuotes per giocarci. L'ordine si apre nello stesso posto, anche allo stesso prezzo e non c'è nessun errore. I prezzi sono normalizzati da CSymbolinfo::NormilizePrice(), ci sono controlli per StopsLevel, freeze level, per la correttezza dei prezzi degli ordini pendenti, aggiorno i dati dei prezzi con ogni controllo.
Forse qualcuno conosce tutti i casi in cui tale errore può verificarsi sugli ordini in sospeso? L'unico che mi viene in mente è
Articolo: Quali test deve superare un robot di trading prima di essere pubblicato nel Marketplace?
È possibile fare un test cutoff per parametri nel tester?
Per esempio, se viene raggiunto un drawdown del 40% su un test, questo si ferma e le risorse vengono utilizzate per i test successivi.
Questo è possibile per i tuoi EA: devi contare il criterio di uscita all'interno (se è pesante - in OnTimer), raggiunta la soglia - TesterStop()/ExpertRemove().
Qualcosa di non necessario.