Domande da un "manichino" - pagina 147

 
alph:

Se il prezzo chiude sotto la media mobile e il Momentum è sotto la media, apri un'operazione di vendita. In un'operazione di acquisto, è il contrario.

Si scopre che se la condizione non è soddisfatta, allora non è necessaria alcuna azione. Se è così, allora nell'ultima linea della funzione scrivi return(false) e vedi se soddisfa la tua tattica passo dopo passo.
 
Yedelkin:
Quindi, se la condizione non è soddisfatta, non c'è bisogno di fare nulla? Se è così, allora nell'ultima linea della funzione scrivi return(false) e vedi se soddisfa la tua tattica passo dopo passo.
È in void OnTick() ?
 
alph:
È in void OnTick() ?

Era ora, a quanto pare.

Ma personalmente sono confuso dal risultato non restituibile, che prima o poi può essere convertito nella forma desiderata.

Quello che mi confonde è questo

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
 
alph:
Questo è in void OnTick() ?

Proprio qui:

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer(timeOntrade);
   if(timeOntrade.hour!=TradeHour) return(false);
   timeOntrade.hour= 0;
   timeOntrade.min = 0;
   timeOntrade.sec = 1;
   if(timeOntrade.hour==4 || timeOntrade.hour==15 || timeOntrade.hour==16) return(true);
   return(false);
   }

Prova a mettere false sull'ultima riga e vedi se questo approccio è coerente con la tattica che hai scelto. Cioè, "scorrere" il lavoro dell'Expert Advisor con questo cambiamento in mente.

 
Interesting:
Stavo parlando di timeOntrade a quanto pare.
In timontrade solo falso alla fine non darà il risultato desiderato, ma nella mia variante si apre davvero offerte dall'orologio, testato. La mia versione di codice con l'orologio in questa forma l'ho presa da qualche parte qui sul forum, funziona dopo averla avvitata. Solo i minuti che sono riuscito ad avvitare tramite timontrade due. Sono sicuro che il codice completo dovrebbe essere almeno un terzo più corto.
 
alph:
In timeOntrade solo falso alla fine non darà il risultato desiderato, ma nella mia variante apre mestieri per l'ora è reale, testato.
Cosa succede se timeOntrade.hour = 5?
 
Interesting:
Cosa succede se timeOntrade.hour = 5?

L'accordo certamente non sarà fatto, perché in...

//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)))) Aprire();//

...inviare ad aprire solo al tempo specificato

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 
alph:
In timontrade, è esattamente falso alla fine che non produrrà il risultato desiderato...
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

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer(timeOntrade);
   if(timeOntrade.hour!=TradeHour) return(false);
   timeOntrade.hour= 0;
   timeOntrade.min = 0;
   timeOntrade.sec = 1;
   if(timeOntrade.hour==4 || timeOntrade.hour==15 || timeOntrade.hour==16) return(true);
   return(true);
   }

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer(timeOntrade);
   if(timeOntrade.hour!=TradeHour) return(false);
   timeOntrade.hour= 0;
   timeOntrade.min = 0;
   timeOntrade.sec = 1;
   return(true);
   }
 
Interesting:

A proposito, in questa variante il risultato del tester per profitto è piccolo, ma il rapporto mi sembra buono.

Ora sto testando su timeframe più grandi senza riferimento temporale, forse il risultato sarà migliore.