if(InpTrailingStop!=0 && InpTrailingStep==0)
{
string err_text=(TerminalInfoString(TERMINAL_LANGUAGE)=="Russian")?
"Трейлинг невозможен: параметр \"Trailing Step\" равен нулю!":
"Trailing is not possible: parameter \"Trailing Step\" is zero!";
//--- when testing, we will only output to the log about incorrect input parametersif(MQLInfoInteger(MQL_TESTER))
{
Print(__FILE__," ",__FUNCTION__,", ERROR: ",err_text);
return(INIT_FAILED);
}
else// if the Expert Advisor is run on the chart, tell the user about the error
{
Alert(__FILE__," ",__FUNCTION__,", ERROR: ",err_text);
return(INIT_PARAMETERS_INCORRECT);
}
}
你好,我的系统函数OrderCalcProfit有一个奇怪的行为,我感觉在计算中忽略了体积参数,即利润值总是按体积1.0计算。
我正试图在测试器中对不同的货币对在不同的模拟账户上进行检查。
1.1.0的计算是正确的,见calc_profi101.png。
2.函数的 第二次和任何后续调用 返回的利润结果是基于1.0的成交量,成交量的值被忽略了,请看一个截图(calc_profit02.png)--传递了成交量0.5,但结果还是和1.0的一样
你能告诉我问题可能是什么吗?谢谢
你好,我的系统函数OrderCalcProfit有一个奇怪的行为,我感觉在计算中忽略了体积参数,也就是说,利润大小总是按体积1.0计算的。
我正试图在测试器中对不同的货币对在不同的模拟账户上进行检查。
1.1.0的计算是正确的,见calc_profi101.png。
2.函数的 第二次和任何后续调用 返回的利润结果是基于1.0的成交量,成交量的值被忽略了,请看一个截图(calc_profit02.png)--传递了成交量0.5,但结果还是和1.0的一样
你能告诉我问题可能是什么吗?谢谢
我认为答案就在帮助中。
"...利润
[out] 如果函数成功,该变量将保存计算出的利润值。利润估计值取决于许多因素,并可能随着市场环境的变化而变化。"
补充:虽然这只是一个猜测。
你好,我的系统函数OrderCalcProfit有一个奇怪的行为,我感觉在计算中忽略了体积参数,即利润总是按体积1.0计算。
我正试图在测试器中对不同的货币对在不同的模拟账户上进行检查。
1.1.0的计算是正确的,见calc_profi101.png。
2.函数的 第二次和任何后续调用 返回的利润结果是基于1.0的成交量,成交量的值被忽略了,请看一个截图(calc_profit02.png)--传递了成交量0.5,但结果还是和1.0的一样
你能告诉我问题可能是什么吗?谢谢
这是测试的考官--一切工作正常。
和结果。
你能不能给我一个提示。这是否可能,我怎样才能以编程方式找出正在使用的终端的语言?
我确定这要么是俄罗斯的终端语言,要么是另一种语言--输出 是英语的。
补充:我以为我从TERMINAL_LANGUAGE枚举中保存了所有语言 - 但找不到了。必须失去...
大家好,谁能帮忙在这里补充一下,在SL的时候,不光是翻身,还要加很多甚至更多。而当TP被触发时,它将返回一个手。
1.我明确建议不要使用通过字符选择位置的函数。使用一个函数,通过一个列表中的索引来选择一个位置。
2.要知道一个头寸是如何关闭的,必须在OnTradeTransaction中查看ENUM_DEAL_REASON 枚举。
使用ENUM_DEAL_REASON的例子。
止损止盈
代码库 | 2017.07.13 07:42 |Vladimir Karputov| EAs | MetaTrader 5
是否有可能将账户登录信息输入第三方程序并管理账户,你知道,开仓/平 仓?
还是只能通过安装在账户上的机器人?
我正在将指标从MQL4转移到MQL5,关于缓冲区和 "绘图 "的问题。该指标有2个缓冲区和1个情节。
#property indicator_buffers 2
#property indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS)。
SetIndexBuffer(1,Array2,INDICATOR_DATA)。
如果第一个缓冲区用于计算等,而第二个缓冲区应该被绘制出来,那么
首先,如果在SetIndexBuffer()函数中已经设置为INDICATOR_CALCULATIONS,是否有必要为第一个缓冲区设置DRAW_NONE?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE)。
第二,如果只画第二个缓冲区,我应该在PlotIndexSetInteger()中设置什么索引而不是问号(?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM)。
第三,如果我使用两个DRAW_HISTOGRAM类型的样式,我可以为每个样式设置颜色,并得到像Volumes指标中那样的直方图,其中绿色和红色的柱子交替出现,但如果我使用DRAW_HISTOGRAM2,我是否也可以为一个柱子设置两种颜色,或者这种样式只设置一种颜色?
我正在将指标从MQL4转移到MQL5,关于缓冲区和 "绘图 "的问题。该指标有2个缓冲区和1个情节。
#property indicator_buffers 2
#property indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS)。
SetIndexBuffer(1,Array2,INDICATOR_DATA)。
如果第一个缓冲区用于计算等,而第二个缓冲区应该被绘制出来,那么
首先,如果在SetIndexBuffer()函数中已经设置为INDICATOR_CALCULATIONS,是否有必要为第一个缓冲区设置DRAW_NONE?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE)。
第二,如果只画第二个缓冲区,我应该在PlotIndexSetInteger()中设置什么索引而不是问号(?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM)。
第三,如果我使用两个DRAW_HISTOGRAM类型的样式,我可以为每个样式设置颜色,并得到像Volumes指标中那样的直方图,其中绿色和红色的柱子交替出现,但如果我使用DRAW_HISTOGRAM2,我是否也可以为一个柱子设置两种颜色,或者这种样式只设置一种颜色?
你为什么对自己如此苛刻?先设置你想显示的缓冲区,然后再设置辅助缓冲区,有什么问题吗?
对于DRAW_HISTOGRAМ2,定义了3个缓冲区,其顺序是强制性的,首先是2个值缓冲区,然后是一个颜色缓冲区。但是DRAW_HISTOGRAM和DRAW_HISTOGRAM2之间有区别,DRAW_HISTOGRAM是从零到缓冲区中的值绘制的,而DRAW_HISTOGRAM2是从一个 缓冲区的值到另一个缓冲区的值。