Yedelkin: Beh, guarda tu stesso il tuo codice. La condizione if(timeOntrade.hour==4 || timeOntrade.hour==15 || timeOntrade.hour==16) è inutile nella sua forma attuale. Perché non importa quale risultato produca, la vostra funzione bool timeOntrade() restituirà sempre true.
Sembra logico, è quello che mi interessa. Penso di aver scritto cose inutili e superflue e forse ho tralasciato la cosa necessaria.
Cioè, se ho capito bene, prima assegniamo il clock a 0 e poi lo confrontiamo.
Dov'è la logica?
Non ho ancora rimosso la linea con true, ma mi sembra che, se la rimuovi, già in ontik non ci sarà alcun confronto con l'orologio come valore o parametro specifico.
alph: Non ho ancora rimosso la linea con true, ma mi sembra che, se la rimuoviamo, non ci sarà alcun confronto con l'orologio come valore specifico o parametro in ontik.
Al momento queste opzioni sono identiche secondo me
In questo caso, se l'ora corrente del server (solo per l'orologio) non è uguale a quella impostata, allora restituisce false, altrimenti restituisce true.
Beh, guarda tu stesso il tuo codice. La condizione if(timeOntrade.hour==4 || timeOntrade.hour==15 || timeOntrade.hour==16) è inutile nella sua forma attuale. Perché non importa quale risultato produca, la vostra funzione bool timeOntrade() restituirà sempre true.
alph, questo è ciò di cui parla Yedelkin.
Queste varianti della funzione sono identiche nella nostra mente
Sembra logico, per questo sono interessato. Mi sembra di aver scritto cose superflue e forse ho tralasciato quelle necessarie.
C'è un'altra cosa che non mi è ancora chiara
Cioè, se ho capito bene, prima assegniamo il clock a 0 e poi lo confrontiamo.
Dov'è la logica?Un altro punto, che non mi è ancora chiaro
Cioè, se ho capito bene, prima assegniamo il clock a 0 e poi lo confrontiamo.
Dov'è la logica?Non ho ancora rimosso la linea con true, ma mi sembra che, se la rimuoviamo, non ci sarà alcun confronto con l'orologio come valore specifico o parametro in ontik.
Al momento queste opzioni sono identiche secondo me
In generale, non capisco perché i valori debbano essere assegnati.
Cioè, per quanto ho capito, l'opzione migliore è
In questo caso, se l'ora corrente del server (solo per l'orologio) non è uguale a quella impostata, allora restituisce false, altrimenti restituisce true.Al momento queste opzioni sono identiche
In realtà non capisco perché dobbiamo assegnare dei valori?Per scrivere questo:
void OnTick()
{...
//-----------------------------------------------------------------------------------------+
/Base per passare a Open
MqlRates rt[1];
if(CopyRates(Symbol(),MyTframe,0,1,rt)<0) ritorno;
se(rt[0].tick_volume>1) ritorno;
if(!PositionSelect(_Symbol) && (timeOntrade(4) || ((timeOntrade(15) || timeOntrade(16))&& timeOntrade2(0)))) Open();//andare all'apertura della posizione
timeOntrade.min = 0;
Questo è chiaramente inutile in questo contesto
alph:
Per inserire questo:void OnTick()
Prova questa opzione, altrimenti non capisco cosa stai cercando di ottenere...
Prova questa opzione, altrimenti non capisco cosa stai cercando di ottenere...
Sì, sì, e dentro:
{ MqlDateTime timetrade2; TimeTradeServer(timetrade); if(timetrade.min!=TradeMin) return(false); return(true); }Sì, sì, e dentro:
Allora già così (per essere sicuri). Ma, in linea di principio, mi hai dato ragione
Allora è così (per essere sicuri). Ma, in linea di principio, mi hai dato ragione