[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 105 1...9899100101102103104105106107108109110111112...537 新评论 Roma 2011.02.14 11:34 #1041 abolk: 看这里:https://docs.mql4.com/ru/basis/operations/math 我都看了,怎么解决我的问题呢? Roma 2011.02.14 11:35 #1042 Zhunko: 你也可以这样做。b不是等于1吗? 我查过了,一个。 100yan 2011.02.14 11:53 #1043 artmedia70: 创建旗帜,例如: 对于TP1 - bool TP1,对于TP2 - bool TP2,等等。最初它们的值是假的。 在下一次关闭之前,你要做一个检查。if (!TP1) {部分关闭第一部分的代码,关闭成功后写TP1=true}。if (!TP2) {部分关闭第二部分的代码,成功关闭后写TP2=true}。...以此类推,所有部件都是如此...因此,这些标志将预示着每个部分已经被关闭过一次...... 谢谢!重写了代码...TP0==false 我把它放在程序的开头。 问题仍然存在。第一部分关闭,并立即开始关闭第二部分:-(......,第二部分有错误131,可以理解--手数不同) 但另一个细微差别是,第一部分""警报("关闭",手数, "手数买入",票数);""没有写入日志,即没有达到验证Ans==true。为什么????下面是一段代码... 提前感谢! while(true) // 关闭角斗场循环。 { if (TP0==false &&(Cls_B0==true ||Cls_S0==true)) { LotC=MathRound(Lot/4/Step)*Step; Alert("Lot-",Lot, "Attempting to close-",LotC," Lot Buy ",Ticket,.等待回复...")。 RefreshRates(); // 刷新数据 Ans=OrderClose(Ticket,LotC,Bid,5); // TicketClose买入1/3手? if (Ans=true) // 成功了 :) { TP0=true; Alert ("Closed " ,Lot," Lot Buy " ,Ticket); break; // Exit from closed loop } if (Fun_Error(GetLastError() ==1) // Error handling continue; // Retry return; // Exit from start() } [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 [存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. Alexey Subbotin 2011.02.14 12:37 #1044 Sinichka: 亲爱的程序员! 请给予帮助。该指标在看涨的潜在背离上画出数值,而不画出看跌的潜在....。它写道,错误4002 - 数组索引 - 超出范围。 我似乎已经修复了一切...我花了一整个晚上...而这是一种耻辱--代码是最简单的...但它是用箭头画牛,而不是画熊......求你了!????????????????????? 中的错误是什么? 阿莲娜。 你需要为数组vpadcci[], v[], hh[], ss[]分配内存。它们被声明为动态的,但它们的大小并没有在任何地方指定。动态数组的大小是用ArrayResize() 函数指定的。 P.S. 并请使用SRC按钮来插入代码 Alexey Subbotin 2011.02.14 12:41 #1045 Snaf: 对MT5的问题。 我怎样才能知道策略测试器已经完成了它的工作?除了视觉上:) 当工作完成后,deinit()函数被执行。因此,如果我们到达那里,就意味着专家的工作已经完成。为了确定测试器中的工作是否在进行中,使用函数IsTesting()。 对不起,我注意到这个问题是与MT5有关的。 那里也是如此,只有OnDeinit()和MQL5InfoInteger(MQL5_TESTING)。 sinichka 2011.02.14 12:49 #1046 alsu: 阿莲娜。 你需要为数组vpadcci[], v[], hh[], ss[]分配内存。它们被声明为动态的,但它们的大小并没有在任何地方指定。动态数组的大小是用ArrayResize() 函数定义的。 P.S. 并请使用SRC按钮来插入代码 非常感谢你的答复,我会研究一下的。 Roma 2011.02.14 12:59 #1047 eddy: вопрос програмистам: как сделать число после запятой целым?:)например в числе 1,128 нужно 128, в 1,12 - 12, в 1,2 - 2)exnern double n=1,12 n-=MathFloor(n); // 0.12 = 0.1200000..01 или 0.11999999..99 int n2=MathRound(n*1000); // 0.12 > 120 или 119 while(true) // пока в конце 0 или 9 if(n2%10<1) // n2==хз*10+0 n2/=10; else // убираем 0 if(n2%10==9) // n2==хз*10+9 {n2=MathRound(n2/10);} // округляем 9 (119 > 11.9 > 12) else if(n2%10>0) break; 我就是这样解决的。 有一点不足--如果数字以0或9结尾,就不能得到数字。 但我不需要,我只是输入计算周期(4,8,12,16,24,36,48等)。 Lumos Occlumency 2011.02.14 13:41 #1048 请告知如何正确记录VininI LRMA指标color.mq4 https://www.mql5.com/ru/code/8200 已经改变。 如果你使用 double iCustom(stringsymbol, int timeframe, string name, ..., int mode, int shift)。我搞不清楚。我写了iCustom(NULL,0, "VininI_LRMA_color",55,0,1),不知道该怎么处理)。 Виктор 2011.02.14 14:29 #1049 线条的值在指标缓冲区1(绿色)和2(红色)。当在图表上画出一条绿线时,第1条上的变量up有这条线的值,而变量dn=EMPTY_VALUE,反之亦然。EMPTY_VALUE 是一个空的缓冲区值,其数值为2147483647。 然后你可以按照你的意愿使用这些值。 double up=iCustom(NULL,0,"VininI LRMA color",period,price,Shift,1,1); double dn=iCustom(NULL,0,"VininI LRMA color",period,price,Shift,2,1); poseidon 2011.02.14 14:49 #1050 Poseidon: 我们能否创建一个EA,当最后一个开仓订单的止盈触发时,关闭所有订单? 我只是一个初学者,不知道如何做。如果你不介意的话,你能为我做这件事吗? 1...9899100101102103104105106107108109110111112...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
看这里:https://docs.mql4.com/ru/basis/operations/math
你也可以这样做。
b不是等于1吗?
我查过了,一个。
创建旗帜,例如:
对于TP1 - bool TP1,对于TP2 - bool TP2,等等。
最初它们的值是假的。
在下一次关闭之前,你要做一个检查。
if (!TP1) {部分关闭第一部分的代码,关闭成功后写TP1=true}。
if (!TP2) {部分关闭第二部分的代码,成功关闭后写TP2=true}。
...以此类推,所有部件都是如此...
因此,这些标志将预示着每个部分已经被关闭过一次......
谢谢!重写了代码...TP0==false 我把它放在程序的开头。
问题仍然存在。第一部分关闭,并立即开始关闭第二部分:-(......,第二部分有错误131,可以理解--手数不同) 但另一个细微差别是,第一部分""警报("关闭",手数, "手数买入",票数);""没有写入日志,即没有达到验证Ans==true。为什么????下面是一段代码...
提前感谢!
while(true) // 关闭角斗场循环。
{
if (TP0==false &&(Cls_B0==true ||Cls_S0==true))
{
LotC=MathRound(Lot/4/Step)*Step;
Alert("Lot-",Lot, "Attempting to close-",LotC," Lot Buy ",Ticket,.等待回复...")。
RefreshRates(); // 刷新数据
Ans=OrderClose(Ticket,LotC,Bid,5); // TicketClose买入1/3手?
if (Ans=true) // 成功了 :)
{
TP0=true;
Alert ("Closed " ,Lot," Lot Buy " ,Ticket);
break; // Exit from closed loop
}
if (Fun_Error(GetLastError() ==1) // Error handling
continue; // Retry
return; // Exit from start()
}
亲爱的程序员!
请给予帮助。该指标在看涨的潜在背离上画出数值,而不画出看跌的潜在....。它写道,错误4002 - 数组索引 - 超出范围。
我似乎已经修复了一切...我花了一整个晚上...而这是一种耻辱--代码是最简单的...但它是用箭头画牛,而不是画熊......求你了!????????????????????? 中的错误是什么?
阿莲娜。
你需要为数组vpadcci[], v[], hh[], ss[]分配内存。它们被声明为动态的,但它们的大小并没有在任何地方指定。动态数组的大小是用ArrayResize() 函数指定的。
P.S. 并请使用SRC按钮来插入代码
对MT5的问题。 我怎样才能知道策略测试器已经完成了它的工作?除了视觉上:)
当工作完成后,deinit()函数被执行。因此,如果我们到达那里,就意味着专家的工作已经完成。为了确定测试器中的工作是否在进行中,使用函数IsTesting()。
对不起,我注意到这个问题是与MT5有关的。
那里也是如此,只有OnDeinit()和MQL5InfoInteger(MQL5_TESTING)。
阿莲娜。
你需要为数组vpadcci[], v[], hh[], ss[]分配内存。它们被声明为动态的,但它们的大小并没有在任何地方指定。动态数组的大小是用ArrayResize() 函数定义的。
P.S. 并请使用SRC按钮来插入代码
非常感谢你的答复,我会研究一下的。
请告知如何正确记录VininI LRMA指标color.mq4 https://www.mql5.com/ru/code/8200 已经改变。
如果你使用 double iCustom(stringsymbol, int timeframe, string name, ..., int mode, int shift)。我搞不清楚。我写了iCustom(NULL,0, "VininI_LRMA_color",55,0,1),不知道该怎么处理)。
线条的值在指标缓冲区1(绿色)和2(红色)。当在图表上画出一条绿线时,第1条上的变量up有这条线的值,而变量dn=EMPTY_VALUE,反之亦然。EMPTY_VALUE 是一个空的缓冲区值,其数值为2147483647。
然后你可以按照你的意愿使用这些值。
我们能否创建一个EA,当最后一个开仓订单的止盈触发时,关闭所有订单?