if (DayOfWeek() == 0 || DayOfWeek() == 6 ) return(0); // В выходные не работаем. if (!IsTradeAllowed()) return(0); // Пропустить тик, если терминал занят. if (Close_All_Orders) // Разрешение на закрытие ордеров. if (DayOfWeek() >= 5 && // Если пятница и закрытие ордеров разрешено, то TimeHour(TimeCurrent()) >= CloseHH && // в назначенный час TimeMinute(TimeCurrent()) >= CloseMM ) // в назначенные минуты - { DeleteOrders(); return(0); } // все ордера закрываются.
if (Trade) // Разрешение на торговлю. if (TimeHour(TimeCurrent()) >= OpenHH && // В назначенный час, TimeMinute(TimeCurrent()) >= OpenMM ) // в назначенные минуты - { OpenOrders(); return(0); } // открыть ордера.
你为什么要从文件中读取?你在ReadCBOE变量中拥有整个文件,你可以使用它。
没有问题,但不是所有的字符串都适合在变量中!MT对字符串的长度 有自己的限制,而文件是从网站上写入信息的,文件的结尾是</body></html>,而字符串--在65k字符(或左右)处断裂。在任何情况下,最终的文件大小为69KB。
阅读这篇文章。基本上,自然界中没有办法读取一个文件的某一行,你必须读取到某一行的所有行...文章中有一个逐行读取文本文件的功能。
哇,谢谢,我自己没有找到,应该按HTML标签搜索的。
这就是它的作用。检查了一下。
总之,有一个错误,这里是
你是个英雄,顺子,默默地修复代码和...仿佛这就是所发生的事情。你要告诉我是这样的,而我只是在胡说八道?是吗?
固定什么?检查是否为NULL?这很好。怎么了?如果我发现了一个错误,我就把它修好。
你不修复它。我看到了。即使你指出来了,你也没有纠正它。你喜欢犯错而不改正?然后你就开始吹嘘了?
=============
我原谅了。我几乎从来不用MQL4写作。我已经写好了我需要的一切。我不与描述符和错误一起工作。它们是很久以前写的,被封装起来并被遗忘。
在C++中,描述符通常被比作NULL。
总之,有一个错误,这里是
写别的东西,或删除文件,或给它加上一个只写的标志。
固定什么?检查是否为NULL?这很好。怎么了?如果我发现了一个错误,我就把它修好。
你不修复它。我看到了。即使你指出来了,你也没有纠正它。你喜欢犯错而不改正?然后你就开始吹嘘了?
=============
我原谅了。我几乎从来不用MQL4写作。我已经写好了我需要的一切。我不与描述词和错误打交道。它们是很久以前写的,被封装起来并被遗忘。
在C++中,描述符通常被比作NULL。
不是的。它是有效的。只是这段代码并没有覆盖文件。你正在看的是一个已经写好的文件。这似乎并不奏效。事实上,它被写在了该有的地方,但延续下来的仍然是旧的那条线。写别的东西,或删除一个文件,或设置一个只写的标志。
是的,它正在工作......谢谢。
extern int OpenMM = 25; // Время открытия ордеров (минуты).
extern int CloseHH = 23; // Время закрытие/удаление ордеров (часы).
extern int CloseMM = 45; // Время закрытие/удаление ордеров (минуты).
这一部分代码是有效的,没有任何抱怨。周五的订单,23:45正常关闭。DeleteOrders()函数工作正常。
if (!IsTradeAllowed()) return(0); // Пропустить тик, если терминал занят.
if (Close_All_Orders) // Разрешение на закрытие ордеров.
if (DayOfWeek() >= 5 && // Если пятница и закрытие ордеров разрешено, то
TimeHour(TimeCurrent()) >= CloseHH && // в назначенный час
TimeMinute(TimeCurrent()) >= CloseMM ) // в назначенные минуты -
{ DeleteOrders(); return(0); } // все ордера закрываются.
打开订单的代码是通过类比来实现的。该代码在指定的形式下根本不起作用。 然而,如果我们删除或注释掉带有分钟的一行,一切都能正常工作,订单在14:00打开。函数OpenOrders()工作正常。这个(或其他)代码行的问题可能是什么。TimeMinute
(TimeCurrent())>= OpenMM ?
if (TimeHour(TimeCurrent()) >= OpenHH && // В назначенный час,
TimeMinute(TimeCurrent()) >= OpenMM ) // в назначенные минуты -
{ OpenOrders(); return(0); } // открыть ордера.
PS: 基本上,互联网上有不少按时间开仓和平仓的EA。但是,由于这样或那样的原因,它们可能并不令人满意。我想处理上述错误...
谢谢你...
下午好。帮我解决这个错误。
一切似乎都是正确的,它应该工作。在我的代码中尝试了你的代码--它在几分钟内就能发挥作用。但是只有从14:25到14:59,从15:25到15:59等等。
也许这样更好。