Crea un oggetto grafico sul grafico. Se c'è un oggetto con un certo nome, allora esce all'inizio di OnStart(). Per sbloccarlo, cancella l'oggetto manualmente.
r772ra: Per i commenti su Print. se non è necessario quando si lavora.
Grazie! Puoi dirmi come puoi mettere un limite di tempo al lavoro dell'EA nelle impostazioni esterne.
Ho aggiunto questo
int start()
{
if(!isTradeTimeInt(21, 30, 01, 00)) return;
а в конце кода вот это
//+------------------------------------------------------------------+//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
datetime db, de; // Время начала и окончания работыint hc; // Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+hb+":"+mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+he+":"+me);
hc=TimeHour(TimeCurrent());
if (db>=de) {
if (hc>=he) de+=24*60*60; else db-=24*60*60;
}
if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
elsereturn(False);
}
Grazie! Puoi dirmi come puoi mettere un limite di tempo alle impostazioni esterne dell'EA?
Aggiunto questo
externint StartHour = 21; // Время закрытия, часыexternint StartMinute = 30; // Время закрытия, минутыexternint CloseHour = 01; // Время закрытия, часыexternint CloseMinute = 0; // Время закрытия, минуты//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
if(isTradeTimeInt(StartHour,StartMinute,CloseHour,CloseMinute))
{
//Здесь то,,,,//что работает, в этом диапозоне времени
}
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
datetime db, de; // Время начала и окончания работыint hc; // Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)hb+":"+(string)mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)he+":"+(string)me);
hc=TimeHour(TimeCurrent());
if (db>=de) {
if (hc>=he) de+=24*60*60; else db-=24*60*60;
}
if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
elsereturn(False);
}
Profitov: Potete dirmi se è possibile prescrivere l'angolo di pendenza della media mobile o l'intersezione del prezzo con la media mobile ad un certo angolo?
Ora cominceranno a spiegarti che l'angolo dipende dalla scala del grafico ed è impossibile farlo... Ma se si prende non l'angolo, ma solo la tangente di quell'angolo, si può fare quello che si vuole.
Il mio Expert Advisor, in int init(), testa prima una cronologia di 1000 barre, poi start(). Nel tester questo processo dura 3-4 secondi, ma nella vita reale ci vogliono circa 8 minuti. A cosa può essere collegato? Come posso fare in modo che il test richieda tanto tempo quanto nel tester?
Crea un oggetto grafico sul grafico. Se c'è un oggetto con un certo nome, allora esce all'inizio di OnStart(). Per sbloccarlo, cancella l'oggetto manualmente.
Grazie!
E come si esce? return(0); mi mostra un errore.
Grazie!
Come si esce? return(0); mi dà un errore.
A seconda del tipo di funzione. Non è start() ma OnTick(), è nullo, quindi basta restituire;
return;Per i commenti su Print. se non è necessario quando si lavora.
Grazie! Puoi dirmi come puoi mettere un limite di tempo al lavoro dell'EA nelle impostazioni esterne.
Ho aggiunto questo
A seconda del tipo di funzione. Ora non è start() ma OnTick(), è nullo, quindi basta restituire;
Grazie!
Grazie! Puoi dirmi come puoi mettere un limite di tempo alle impostazioni esterne dell'EA?
Aggiunto questo
Un EA può visualizzare un indicatore? Alternativa a ChartIndicatorAdd in MQL5.
E dove posso trovare un esempio di un EA che esegue calcoli basati su un indicatore personalizzato?
Potete dirmi se è possibile prescrivere l'angolo di pendenza della media mobile o l'intersezione del prezzo con la media mobile ad un certo angolo?
Ma se si prende non l'angolo, ma solo la tangente di quell'angolo, si può fare quello che si vuole.
Il mio Expert Advisor, in int init(), testa prima una cronologia di 1000 barre, poi start(). Nel tester questo processo dura 3-4 secondi, ma nella vita reale ci vogliono circa 8 minuti.
A cosa può essere collegato? Come posso fare in modo che il test richieda tanto tempo quanto nel tester?
Un EA può visualizzare un indicatore? Alternativa a ChartIndicatorAdd in MQL5.
E dove posso trovare un esempio di un EA che esegue calcoli basati su un indicatore personalizzato?