La chiamata alla funzione deinit () fa uscire un EA? Come posso fare un salvataggio o un abbandono di EA, per inerzia se non è possibile connettersi a un server o simili?
Publi |
Publi |
La chiamata alla funzione deinit () fa uscire un EA? Come posso fare un salvataggio o un abbandono di EA, per inerzia se non è possibile connettersi a un server o simili?
Nella funzione di avvio, come prima cosa se (la tua creteria si ferma == true) return (0); questo gli impedirà di fare qualcosa oltre l'istruzione if se è vera. Non rimuoverà l'EA dalla piattaforma.Originariamente Scritto da ;
Grazie per la risposta Quindi, se chiamo return (0) in init () dal tester startegy, verrà salvato? Non è possibile impedire alla funzione start () di eseguire ogni tick in modo da specificare i propri criteri. Penso di averlo capito ora
No, return (0) nella funzione init si limiterà a trasferire a start () è necessario utilizzarlo in start () per causare un ciclo senza istruzioni nel ciclo. L'EA è inattivo Il tuo test nel caso (...) potrebbe essere una chiamata a un'altra funzione in cui i tuoi test sono fatti. come se (yourcriteria () == true) return (0); Probabilmente ci sono altri che sono molto più dotati di MT4 rispetto a me. Forse una di quelle persone sa come effettivamente causare la rimozione di se stessa.Originariamente Scritto da ;
salvataggio di init () sì. poi va dritto per start () puoi usare la funzione IsConnected () per scoprire se il tuo mt4 è connesso al server del broker. se vuoi sapere se EA è in esecuzione su backtester, puoi usare la funzione IsTesting (). un esempio di ciò che inserirai nelle prime righe della funzione start () è. Codice inserito int start () {if (IsTesting ()) {return (0); }/... altri codici qui ...} idealmente, questo disabiliterà efficacemente il backtest di EA. non sono sicuro del perché lo vorrai.Originariamente Scritto da ;