bool CheckTradingPermission()
{
//--- Для режима реального времениif(IsRealtime())
{
//--- Проверка соединения с серверомif(!TerminalInfoInteger(TERMINAL_CONNECTED))
return(false);
//--- Разрешение на торговлю на уровне данной запущенной программыif(!MQLInfoInteger(MQL_TRADE_ALLOWED))
return(false);
//--- Разрешение на торговлю на уровне терминалаif(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
return(false);
//--- Разрешение на торговлю для текущего счетаif(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
return(false);
//--- Разрешение на автоматическую торговлю для текущего счетаif(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
return(false);
}
//---return(true);
}
Опубликовал статью ZigZag всему голова (Часть II): Примеры получения, обработки и отображения данных В первой части был описан модифицированный индикатор ZigZag и класс для получения данных индикаторов такого типа. Теперь мы покажем как создать индикаторы на основе этих инструментов, а также напишем эксперта для тестов, который будет заключать...
嗯,STL不是一个一刀切的解决方案。在这里,你必须非常注意具体细节。
你把柔软和温暖混淆了。
这不是一个STL的问题。我自己会在那里想办法的...(如果有人不具备,并不意味着原则上不能做)
最简单的方法是在基类或接口中用抽象方法实现所有可能的功能,而在子类中--要么实现要么=delte。
在这种情况下,你需要向基类的方法传递相同类型的指针或引用。
虽然在虚拟表的形式上有一个不可避免的弊端,但最好是以这样的方式安排架构,即在任何地方都没有通过dynamic_cast的昂贵分支。
你建议的方法早先就已经实现了,而且也取决于同一个错误:https://www.mql5.com/ru/forum/1111/page2648#comment_15015191
该错误是在对指针/类参数进行隐式类型转换时,调用重载函数的优先级。
在C++中一切正常,但在MQL中却出现了编译错误"对重载函数的模糊调用 "
上面建议了一种变通的方法,但它很大,而且不方便,我也不想把它用于十几个类似的函数。
也许有更简单的东西?
开发人员,请告知,是否有任何计划来修复这个错误,或者这在架构上是不可能的?
在模板函数中,在显式类型转换 中传递的指针表现得像一个类,相应地引起编译时的错误。
笨,不能解决一个简单的问题。我需要了解的是,在以下EA启动设置期间,禁止交易。
这个检查不起作用。
OrderCheck是一个红鲱鱼。请告知。
ANATOLI KAZHARSKI 代码
谢谢,没有注意到MQL_TRADE_ALLOWED。
笨,不能解决一个简单的问题。我需要了解的是,在以下EA启动设置期间,禁止交易。
这个检查不起作用。
OrderCheck是一个红鲱鱼。请告知。
原因可能是模板类生成器缓存的工作。
Bug MT5(build 2340)使用了两次相同的代码:第一遍 - 编译成功,第二遍 - 编译错误。
显然,问题与模板函数生成器缓存有关。
如果模板函数 "void run(const T &ff)" 的引用转移被"void run(const T ff)"的值转移所取代,错误就会消失。
Bug MT5(build 2340)当试图访问模板函数的模板参数的内部类时出现编译错误。