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);
}
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);
}
在图表上创建一个图形对象。如果有一个具有某个名字的对象,那么就在OnStart()的开头退出。要解锁它,请手动删除该对象。
谢谢你!
而且,我们如何退出?return(0); 给我看了一个错误。
谢谢你!
而且,我们如何退出?return(0); 给我看了一个错误。
取决于功能类型。不是start(),而是OnTick(),它是无效的,所以只是返回。
return;
关于打印的评论,如果工作时不需要的话。
谢谢你!你能告诉我如何在外部设置中为EA的工作设置一个时间限制吗?
我已经添加了这个
取决于功能类型。现在不是start(),而是OnTick(),它是无效的,所以只是返回。
谢谢你!
谢谢你!你能告诉我如何在EA的外部设置上设置一个时间限制吗?
添加了这个
EA可以显示一个指标吗?在MQL5中是ChartIndicatorAdd 的替代品。
还有,我在哪里可以找到一个根据自定义指标进行计算的EA例子?
请告诉我是否可以规定移动平均线的斜率角度或价格与移动平均线相交的某一角度?
但如果你不取角度,而只取该角度的切线,你就可以做你想做的事。
我的专家顾问,在int init()中,首先测试1000条历史,然后start()。在测试器中,这个过程需要3-4秒,但在现实生活中,它需要大约8分钟。
它能与什么有关?如何才能使测试的时间与测试器中的时间一样多?
EA可以显示一个指标吗?在MQL5中是ChartIndicatorAdd的替代品。
还有,我在哪里可以找到一个根据自定义指标进行计算的EA例子?