//Что-то типа такого (или свои идентификаторы). Написать функцию конвертирующую текст в идентификатор и обратно (при необходимости) достаточно просто.//Да и выглядит это более профессионально в конечном итоге.switch(type)
{
caseORDER_TYPE_BUY: {direction = type; price = SymbolInfoDouble(zSymbol,SYMBOL_ASK); break;}
caseORDER_TYPE_SELL: {direction = type; price = SymbolInfoDouble(zSymbol,SYMBOL_BID); break;}
default: {return(lot_value);}
}
switch(type)
{
case OP_BUY: {direction = ORDER_TYPE_BUY; price = SymbolInfoDouble(zSymbol,SYMBOL_ASK); break;}
case OP_SELL: {direction = RDER_TYPE_SELL; price = SymbolInfoDouble(zSymbol,SYMBOL_BID); break;}
default: {return(lot_value);}
}
//--- если это первый запуск вычислений нашего индикатора или изменилось количество значений в индикаторе iFractals//--- или если необходимо рассчитать индикатор для двух или более баров (значит что-то изменилось в истории)if(prev_calculated==0 || calculated!=bars_calculated || rates_total>prev_calculated+1)
{
解释:在每次打勾时,这两个值被比较,在函数的最后有一个赋值。
//--- запомним количество значений в индикаторе Fractals
bars_calculated=calculated;
在专家顾问中加载文件出错。 找到10个不同点。第一个代码指的是脚本,第二个指的是专家顾问,它们是相同的Ctrl-C Ctrl-V。该代码在脚本中起作用,在专家顾问中不起作用。
要找到10个差异,你需要看一下文件打开的代码。(并在这个开放代码中加入失败情况下的错误代码输出)
第二,如果你想用这个文件来测试EA,在EA代码中添加一行#属性tester_file "KitMaRsi.csv"。
你好。在MQL4中,当执行程序时,可能会发生ERR_HISTORY_WILL_UPDATED(4066)错误,其代码由GetLastError()函数返回。你在MQL5中是否有类似的错误?我在这里搜索了https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes,但没有找到类似的东西。
我不会对这个错误说什么。终端本身确保了数据的同步,你可以同步(加载)数据并检查历史记录是否同步。
这里 描述了数据访问的组织(有一个历史加载脚本的例子)。
可能需要的函数:SeriesInfoInteger 和SymbolIsSynchronized
带字符变量的开关似乎不起作用......。
而不是。
'类型' - 非法的开关表达式类型
'买'--常量表达不是积分
使用标识符而不是文本。这将是更简单和更符合逻辑的...
带字符变量的开关似乎不起作用......。
而不是。
'type' - 非法开关表达式类型
'买'--常量表达不是积分
我必须这样画。
它不是那么清晰,而且是歪的。
它在其他语言中的效果也很好。
我应该用另一种方式来写吗?
我这样做了。
我不会对这个错误说什么。终端本身确保了数据的同步,你可以同步(加载)数据并检查历史记录是否同步。
这里 描述了对数据访问的组织(有一个历史加载脚本的例子)。
可能需要的函数:SeriesInfoInteger 和SymbolIsSynchronized
在MQL5中是否有类似于stdlib.mqh、WinUser32.mqh、stderror.mqh这样的库,特别是,我对PostMessageA函数感兴趣?
当用多个代理进行优化时,结果会按照处理的顺序显示在图表上,即交替进行。是否可以像在MT4中那样,根据参数的选择,使结果显示的顺序?也就是说,后来的结果会按适当的顺序插入。我只是说,在优化过程中不方便跟踪趋势和规律,只有在计算完成后才能分析结果。
++:这都是用完全的蛮力进行优化--在遗传学上自然没有意义。
手册中的描述
事实上
bool ObjectCreate(
long chart_id, //图表识别码
string name, // object name
ENUM_OBJECT type, // 对象类型
intn win, // 窗口索引)。
让我们运行M1 帮助中的iFractals 示例代码,它使用OnCalculate() 函数调用的第二种--完整形式。但在这之前,在这个函数中,让我们纠正一下
至
为了不失去对输出的单行的关注(如果我们让它保持原样,在视觉上1将总是可见的,因为其他值是罕见的,并立即被1所取代,所以似乎1总是被显示的)运行后,我们看到非单位值每分钟都会出现,即在每一个新的条形图上,这明确表明指标每分钟都会重新绘制。充分 尽管代码中使用了经济的算法.怀疑者可以添加几行代码,比如说在每个分形上画上竖线,然后在第一次画完后将其删除,等待一分钟后出现全套的相同线条,并出现新的条形。任何关于只完成最后一个分形或线条的事情,由于某种原因都是不可能的。
是的,的确,iFractals() 函数处的例子中的指标会 用内置指标的值刷新 其指标缓冲区。这一行中的第二个条件(用黄色标出)对此 "负有责任"。
解释:在每次打勾时,这两个值被比较,在函数的最后有一个赋值。
//--- запомним количество значений в индикаторе Fractals bars_calculated=calculated;
而他们之间的差异会在精神上产生。
在这种情况下,两个事件的分离没有完成,你已经发现了。我还不能说我们是否要修正这个例子,以便我们不会有这样的问题。