[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 309
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Esattamente. La variabile globale Reason ottiene un valore, ma non lo ottiene in deinit(), ma in init() in modo che quando si esegue init(), si può vedere il motivo dell'ultima deinizializzazione ed eseguire una certa azione basata sul valore. Ma non funziona come dovrebbe.
Vi è stato detto come fare. È in deinit() che si scopre il motivo dell'ultima deinizializzazione e lo si passa attraverso una variabile dichiarata globalmente. In init() si controlla il valore della variabile e si scopre il motivo dell'ultima deinizializzazione. Funziona!!!
PS Apparentemente non tutti si rendono conto che init()/deinit() non cambiano i valori delle variabili dichiarate globalmente a meno che non sia esplicitamente dichiarato nelle dichiarazioni all'interno delle funzioni.
In realtà, è meglio non chiudere gli ordini in init(). Lì, MarketInfo() spesso non funziona come previsto.
Vi è stato detto come fare. È in deinit() che si scopre il motivo dell'ultima deinizializzazione e lo si passa attraverso una variabile dichiarata globalmente. In init() si controlla il valore della variabile e si scopre il motivo dell'ultima deinizializzazione. Funziona!!!
Questo ha suggerito cosa fareste con questa funzione. Una funzione come questa viene di solito eseguita attraverso la storia.
Non posso nemmeno immaginare di eseguire la funzione in un ciclo...
Non posso immaginare che la funzione venga eseguita in un ciclo...
Non c'è di che:
Ho capito che Artem ha un problema con il passaggio da M5 TF. C'è un errore. Vorrei controllare se è così. Forse è un bug di MT4.
No, non è un bug. Ecco l'EA. Cambiato timeframes da M1 a H1
19:20:02 111 CADJPY,M15: inizializzato19:20:09 111 CADJPY,M15: DeinitReason 3
19:20:09 111 CADJPY,M15: deinizializzato
19:20:09 111 CADJPY,M15: uninit reason 3
19:20:09 Supertrend[1] CADJPY,M15: deinitialized
19:20:09 Supertrend[1] CADJPY,M15: uninit reason 3
19:20:09 HLC CADJPY,M15: deinizializzato
19:20:09 HLC CADJPY,M15: uninit reason 3
19:20:09 AMA ottimizzato1 CADJPY,M15: deinizializzato
19:20:09 AMA ottimizzato1 CADJPY,M15: uninit reason 3
19:20:09 AMA ottimizzato1 CADJPY,M15: deinizializzato
19:20:09 AMA ottimizzato1 CADJPY,M15: uninit reason 3
19:20:09 Supertrend[1] CADJPY,H1: inizializzato
19:20:09 HLC CADJPY,H1: inizializzato
19:20:09 AMA ottimizzato1 CADJPY,H1: inizializzato
19:20:09 AMA ottimizzato1 CADJPY,H1: inizializzato
19:20:09 111 CADJPY,H1: inizializzato
No, non è un bug. Ecco l'EA. Cambiato timeframes da M1 a H1
Questo è buono! Ho anche molte ragioni per la deinizializzazione.
In realtà, è meglio non chiudere gli ordini in init(). Lì MarketInfo() spesso non funziona come previsto.
Non posso nemmeno immaginare che la funzione venga eseguita in un ciclo...
Questo è buono! Perché anch'io ho molto legato alle ragioni della deinizializzazione.
Sì, non si può. È scritto nell'aiuto. È una cosa comune.Ecco la variante finale da controllare. Il precedente non ha avuto molto successo, perché init()/deinit() a volte non fanno amicizia con print()
Mi sono chiesto come scrivere una funzione. L'idea è che quando N candele tornano indietro in una certa direzione, dovrebbe calcolare il numero di candele. MA. Per questo ci sono diverse condizioni, o più precisamente sarà un elenco di loro nel tempo.
Diciamo che la tendenza, per esempio, è diretta verso il basso,... ...un pullback sale. Voglio, se 5 candele sono salite, e ogni candela era rialzista, e, per esempio, la dimensione di ogni candela era più grande dii_sizeOfCurrBar, e alcune altre condizioni, allora produrre il numero di barre continuamente rialziste, e restituire qualche risultato dalla funzione.
Qual è il modo migliore per scriverlo? Al momento ho iniziato a scrivere, e ho capito che dovrei eseguirlo attraverso un ciclo per barre, e in qualche modo limitare la vista nella profondità della storia non per un numero fisso di barre, ma per barre, con quei parametri, che ci interessano per condizioni.
Ecco quello che ho, ricevuto:
Al momento stiamo solo andando dalla penultima barra alla barra con indice 6, cioè 5 barre in fila. Ma voglio che il mio Expert Advisor cerchi solo le barre che sono rialziste e non tutte in fila. Come implementarlo adeguatamente?
Ho filtrato correttamente in base alle dimensioni.
E quando tutto è già scritto, il contatore calcolerà il numero di barre continue con i parametri nht,etvsvb e se ci sono abbastanza di tali barre, verrà restituito un valore della funzione.
Vi è stato detto come fare. È in deinit() che si scopre il motivo dell'ultima deinizializzazione e lo si passa attraverso una variabile dichiarata globalmente. In init() si controlla il valore della variabile e si scopre il motivo dell'ultima deinizializzazione. Funziona!!!
PS Apparentemente non tutti si rendono conto che init()/deinit() non cambiano i valori delle variabili dichiarate globalmente a meno che non sia esplicitamente dichiarato nelle dichiarazioni all'interno delle funzioni.
In realtà, è meglio non chiudere gli ordini in init(). Lì MarketInfo() spesso non funziona come previsto.