You have just registered and most likely you have questions such as, "How do I insert a picture to my a message?" "How do I format my MQL5 source code?" "Where are my personal messages kept?" You may have many other questions. In this article, we have prepared some hands-on tips that will help you get accustomed in MQL5.community and take full advantage of its available features.
Predefined Macro Substitutions - Named Constants - Constants, Enumerations and Structures - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
谢谢。
SYMBOL_VOLUME_LIMIT' - 未声明的标识符.............
SymbolInfoDouble'--没有一个重载可以应用于函数调用.............
只有我吗?
SYMBOL_VOLUME_LIMIT' - 未声明的标识符.............
SymbolInfoDouble'--没有一个重载可以应用于函数调用.............
只有我吗?
你能做到吗?
还有一个关于SeriesInfoInteger() 函数的问题。
在创建主题"AccountInfo...信息相关性"时,我了解到有些函数使用 "缓存在软件环境中 "的数据,而有些函数总是 "直接访问实际数据"。
SeriesInfoInteger() 函数属于哪一类函数?
CheckVolumeValue 函数中使用了以下代码:
int ratio=(int)MathRound(volume/volume_step);
if(MathAbs(ratio*volume_step-volume)>0.0000001)
{
description=StringFormat("Объем не является кратным минимальной градации SYMBOL_VOLUME_STEP=%.2f, ближайший корректный объем %.2f",
volume_step,ratio*volume_step);
return(false);
}
但它更正确:
int ratio = (int)MathRound((volume-min_volume)/volume_step);
if (MathAbs(ratio*volume_step+min_volume-volume)>0.0000001)
{
description=StringFormat("Объем не является кратным минимальной градации SYMBOL_VOLUME_STEP=%.2f, ближайший корректный объем %.2f",
volume_step,ratio*volume_step+min_volume);
return(false);
}
因为体积变化的最小步长 必须从最小值开始计算。
也许代码段
//--- вычислим значение маржи
bool check=OrderCalcMargin(type,Symbol(),lots,last_tick.ask,margin);
应替换为
//--- вычислим значение маржи
double price = (type == ORDER_TYPE_BUY || type == ORDER_TYPE_BUY_LIMIT || type == ORDER_TYPE_BUY_STOP || type == ORDER_TYPE_BUY_STOP_LIMIT) ? last_tick.ask : last_tick.bid;
bool check=OrderCalcMargin(type,Symbol(),lots,price,margin);
由于 MQL5 中的更改,现在一个符号允许的最大总体积可通过以下方式获得:
请勿使用旧版本! 原来是这样的:
文章已更正,并附上了新的Check_Order_And_Volume_Limits.mq5 专家代码。亲爱的管理员
我尝试使用此函数,但在所有情况下都返回 0。
我的 MT5 版本是 2280
double orders_volume_on_symbol=PendingsVolume(symbol);出现错误,没有此类函数
我修改函数使其不包括挂单后,结果是 0
这是因为最大交易量为 0,开仓交易量为 0;
如果没有未结头寸,为什么最大交易量为 0?
第 2715 版