[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 186 1...179180181182183184185186187188189190191192193...652 新评论 Алексей Тарабанов 2011.09.18 01:31 #1851 Vinin: 如果(c %2==0)// 偶数 我不会重复检查与任何东西的平等性。 falmera 2011.09.18 08:30 #1852 你能告诉我如何在已经关闭的亏损订单上运行for循环吗?或者,也许有人已经有了一个功能:当亏损的交易被关闭时,乘以一手? Victor Nikolaev 2011.09.18 09:36 #1853 tara: 我不会用任何东西来加倍检查是否平等。 我想我之前写过,只针对整数。还是你读得不好? Vinin 18.09.2011 03:14 am |删除尼克XXX。 问题为一个谜题)。 如何以编程方式 确定一个数字是偶数还是奇数? 比如说。 int a, b, c; a=2; b=3; c=a+b c是偶数还是奇数? 如果数字是整数,检查除以2的余数。 if (c % 2==0) //четное --- 2011.09.18 10:23 #1854 澄清代码错误 2 Qwuyt 18.09.2011 11:56 下午好! 请不懒的人看一下代码,告诉我的错误是什么。我在编译时出现了一堆错误。这是我的第一个EA,我刚刚开始了解它。专家顾问的想法如下:在周一的某个时间,我们在距离前一周收盘价X个点的地方双向放置挂单。周五,在给定的时间,我们将关闭市场订单并删除挂单。这就是全部。 //+------------------------------------------------------------------+ //| Week.mq4 | //| Copyright © 2011, Qwuyt | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, Qwuyt" #property link "" //--- input parameters extern double lot=0.01; //размер лота extern int tp=200; //тейк профит extern int sl=50; //стоплосс extern int move=100; //движение цены extern int hc=22; //час закрытия extern int ho=4; //час закрытия double BP; //цена открытия бай double SP; //цена открытия селл int Ticket; int Tip; //тип ордера int Curday; //день недели bool Ans = false; //ответ сервера после закрытия ордера //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int Curday = DayOfWeek double BP = iClose(NULL,10080,1)+NormalizeDouble(move*Point,Digits); // double SP = iClose(NULL,10080,1)-NormalizeDouble(move*Point,Digits); if (ho >= Hour && Curday=1) //4 утра понедельника - открытие бай { OrderSend (Symbol(),OP_BUYSTOP,lot,BP,3,sl,tp,NULL,0,0,Red) } if (ho >= Hour && Curday=1) //4 утра понедельника - открытие селл { OrderSend (Symbol(),OP_SELLSTOP,lot,SP,3,sl,tp,NULL,0,0,Red) } while(true) //цикл закрытия орд. { if (Tip==0 && hc >= Hour && Curday=6) // Открыт ордер Buy, 22 часа пятницы закрыть { // RefreshRates(); // Обновление данных Ans=OrderClose(Ticket,lot,Bid,3); // Закрытие Buy return; // Выход из start() } if (Tip==1 && hc >= Hour && Curday=6) // Открыт ордер Sell, 22 часа пятницы закрыть { // RefreshRates(); // Обновление данных Ans=OrderClose(Ticket,lot,Bid,3); return; // Выход из start() } if (Tip==4||Tip==5 && hc >= Hour && Curday=6) // Открыт ордер Buy, 22 часа пятницы закрыть { // RefreshRates(); // Обновление данных Ans=OrderDelete(Ticket,CLR_NONE); // Закрытие Buy return; // Выход из start() } break; // Выход из while } Tip = OrderType(); return(); } 附件文件。 Week_1.mq4(4.52 KB) 929 abolk 18.09.2011 12:00 am correct |delete 以此开始。 1) 在每个运算符的末尾加上;。 2) 使用正确的函数,例如Hour() falmera 2011.09.18 10:54 #1855 Falmera: 你能告诉我如何在已经关闭的亏损订单上运行for循环吗?或者,也许有人已经有了一个功能:当亏损的交易被关闭时,乘以一手? 有什么提示吗? Andrey F. Zelinsky 2011.09.18 10:57 #1856 Falmera: 提建议! 让我看看你自己实现这一功能的尝试--"新手帮助 "主题。 或搜索 "搜索最后关闭的订单 "或类似的内容--这个话题已经存在很长时间了。 Роман 2011.09.18 11:01 #1857 Falmera: 好吧,给我一个提示。 看雪崩支部的猫头鹰。 [Удален] 2011.09.18 11:32 #1858 我正在学习一种编程语言,我在理解程序的行为方面遇到了困难。我 根据教科书写了一个EA,但我把它扭曲成一个稍微不同的操作原理。 专家顾问是基于2μW的平均数。这个想法很简单,移动平均线交叉,订单被关闭,相反的订单被打开。我已经写了一个EA,它工作得很好。当然,它处于轻微的劣势,但符合想法。整个问题如下(黑体字)。 A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // B C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D 如果我改变移动平均线的计算方式(可以显示加号),用指数法( MODE_SMA) 代替简单法(MODE_EEMA )和另外一种(MODE_SMMA),即所谓的平滑法,一切都会出错。工作原理变得更加有趣(在策略测试器中),因为EA在设定的时间段的最开始打开一个订单,并在结束时关闭它。也就是说,对于一年来说,它在期初开出一个单一的交易,并在期末关闭。结果,专家顾问向我展示了一个加号,但我不需要这样的加号。我可以自己掷硬币,打开买入或卖出订单,看看,我在一年内是赢还是输。顺便说一下,如果我把MODE_SMA 设置为MODE_LWMA (线性加权移动平均),程序就能正常工作。 请告诉我,什么是错的?原理是一样的,只是移动平均线的计算方式有了一些改变。 整个代码在附件中。 我在这里得到了答复,但他们并不称职,也不在案情上。据称,我使用了4条移动平均线。这不是真的,有两条移动平均线,但对于每条移动平均线都取了两个条形的值(总共有4个数组调用,A、B、C、D):1和2。此外,他们写道,当一个订单被关闭时,我们应该降低订单总数的数量,但没有必要这样做,因为订单是用Odertotal函数计算的,如果我关闭一个订单,订单总数本身在下一次迭代中会改变其值。他们还建议使用所谓的神奇数字来跟踪订单,但我还没有看到手册的这一部分。我应该重申,当使用MODE_SMA和MODE_LWMA时,程序可以工作,但当使用MODE_EMA和MODE_SMMA时,则不能工作。谁知道为什么,请给我写一个答案。 附加的文件: ljzkfpg2jficantkgtolpzbd.mq4 11 kb [WARNING CLOSED!] Any newbie [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 Errors, bugs, questions Всеволод 2011.09.18 11:50 #1859 Falmera: 请给我一个提示。 去雪崩主题,那里有足够的顾问,有任何地段的增量。在右上方的论坛中搜索,或用谷歌搜索。 Victor Nikolaev 2011.09.18 12:18 #1860 neisseria: 我正在学习一种编程语言,我在理解程序的行为方面遇到了困难。我根据教科书写了一个EA,但我把它扭曲成一个稍微不同的操作原理。 专家顾问是基于2μW的平均数。这个想法很简单,移动平均线交叉,订单被关闭,相反的订单被打开。我已经写了一个EA,它工作得很好。当然,它处于轻微的劣势,但符合想法。整个问题如下(黑体字)。 A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // B C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D 如果我改变移动平均线的计算方式(可以显示加号),用指数法( MODE_SMA) 代替简单法(MODE_EEMA )和另外一种(MODE_SMMA),即所谓的平滑法,一切都会出错。工作原理变得更加有趣(在策略测试器中),因为EA在设定的时间段的最开始打开一个订单,并在结束时关闭它。也就是说,对于一年来说,它在期初开出一个单一的交易,并在期末关闭。结果,专家顾问向我展示了一个加号,但我不需要这样的加号。我可以自己掷硬币,打开买入或卖出订单,看看,我在一年内是赢还是输。顺便说一下,如果我把MODE_SMA 设置为MODE_LWMA (线性加权移动平均),程序就能正常工作。 请告诉我,什么是错的?原理是一样的,只是移动平均线的计算方式有了一些改变。 整个代码在附件中。 我在这里得到了答复,但他们并不称职,也不在案情上。据称,我使用了4条移动平均线。这不是真的,有两条移动平均线,但对于每条移动平均线都取了两个条形的值(总共有4个数组调用,A、B、C、D):1和2。此外,他们写道,当一个订单被关闭时,我们应该降低总订单的数量,但这是没有必要的,因为订单是用Odertotal函数计算的,如果我关闭一个订单,订单总数本身在下一次迭代时就会改变其值。他们还建议使用所谓的神奇数字来跟踪订单,但我还没有看到手册的这一部分。我应该重申,当使用MODE_SMA和MODE_LWMA时,程序可以工作,但当使用MODE_EMA和MODE_SMMA时,则不能工作。谁知道为什么,请给我写一个答案。 我还会仔细检查条件。那里可能有一个问题 1...179180181182183184185186187188189190191192193...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果(c %2==0)// 偶数
我不会重复检查与任何东西的平等性。
我不会用任何东西来加倍检查是否平等。
我想我之前写过,只针对整数。还是你读得不好?
问题为一个谜题)。
如何以编程方式 确定一个数字是偶数还是奇数?
比如说。
int a, b, c;
a=2;
b=3;
c=a+b
c是偶数还是奇数?
如果数字是整数,检查除以2的余数。
澄清代码错误
下午好!
请不懒的人看一下代码,告诉我的错误是什么。我在编译时出现了一堆错误。这是我的第一个EA,我刚刚开始了解它。专家顾问的想法如下:在周一的某个时间,我们在距离前一周收盘价X个点的地方双向放置挂单。周五,在给定的时间,我们将关闭市场订单并删除挂单。这就是全部。
Week_1.mq4(4.52 KB)
以此开始。
1) 在每个运算符的末尾加上;。
2) 使用正确的函数,例如Hour()
你能告诉我如何在已经关闭的亏损订单上运行for循环吗?或者,也许有人已经有了一个功能:当亏损的交易被关闭时,乘以一手?
有什么提示吗?
提建议!
让我看看你自己实现这一功能的尝试--"新手帮助 "主题。
或搜索 "搜索最后关闭的订单 "或类似的内容--这个话题已经存在很长时间了。
好吧,给我一个提示。
看雪崩支部的猫头鹰。
我正在学习一种编程语言,我在理解程序的行为方面遇到了困难。我 根据教科书写了一个EA,但我把它扭曲成一个稍微不同的操作原理。
专家顾问是基于2μW的平均数。这个想法很简单,移动平均线交叉,订单被关闭,相反的订单被打开。我已经写了一个EA,它工作得很好。当然,它处于轻微的劣势,但符合想法。整个问题如下(黑体字)。
A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A
B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // B
C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C
D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D
如果我改变移动平均线的计算方式(可以显示加号),用指数法( MODE_SMA) 代替简单法(MODE_EEMA )和另外一种(MODE_SMMA),即所谓的平滑法,一切都会出错。工作原理变得更加有趣(在策略测试器中),因为EA在设定的时间段的最开始打开一个订单,并在结束时关闭它。也就是说,对于一年来说,它在期初开出一个单一的交易,并在期末关闭。结果,专家顾问向我展示了一个加号,但我不需要这样的加号。我可以自己掷硬币,打开买入或卖出订单,看看,我在一年内是赢还是输。顺便说一下,如果我把MODE_SMA 设置为MODE_LWMA (线性加权移动平均),程序就能正常工作。
请告诉我,什么是错的?原理是一样的,只是移动平均线的计算方式有了一些改变。
整个代码在附件中。
我在这里得到了答复,但他们并不称职,也不在案情上。据称,我使用了4条移动平均线。这不是真的,有两条移动平均线,但对于每条移动平均线都取了两个条形的值(总共有4个数组调用,A、B、C、D):1和2。此外,他们写道,当一个订单被关闭时,我们应该降低订单总数的数量,但没有必要这样做,因为订单是用Odertotal函数计算的,如果我关闭一个订单,订单总数本身在下一次迭代中会改变其值。他们还建议使用所谓的神奇数字来跟踪订单,但我还没有看到手册的这一部分。我应该重申,当使用MODE_SMA和MODE_LWMA时,程序可以工作,但当使用MODE_EMA和MODE_SMMA时,则不能工作。谁知道为什么,请给我写一个答案。
请给我一个提示。
我正在学习一种编程语言,我在理解程序的行为方面遇到了困难。我根据教科书写了一个EA,但我把它扭曲成一个稍微不同的操作原理。
专家顾问是基于2μW的平均数。这个想法很简单,移动平均线交叉,订单被关闭,相反的订单被打开。我已经写了一个EA,它工作得很好。当然,它处于轻微的劣势,但符合想法。整个问题如下(黑体字)。
A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A
B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // B
C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C
D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D
如果我改变移动平均线的计算方式(可以显示加号),用指数法( MODE_SMA) 代替简单法(MODE_EEMA )和另外一种(MODE_SMMA),即所谓的平滑法,一切都会出错。工作原理变得更加有趣(在策略测试器中),因为EA在设定的时间段的最开始打开一个订单,并在结束时关闭它。也就是说,对于一年来说,它在期初开出一个单一的交易,并在期末关闭。结果,专家顾问向我展示了一个加号,但我不需要这样的加号。我可以自己掷硬币,打开买入或卖出订单,看看,我在一年内是赢还是输。顺便说一下,如果我把MODE_SMA 设置为MODE_LWMA (线性加权移动平均),程序就能正常工作。
请告诉我,什么是错的?原理是一样的,只是移动平均线的计算方式有了一些改变。
整个代码在附件中。
我在这里得到了答复,但他们并不称职,也不在案情上。据称,我使用了4条移动平均线。这不是真的,有两条移动平均线,但对于每条移动平均线都取了两个条形的值(总共有4个数组调用,A、B、C、D):1和2。此外,他们写道,当一个订单被关闭时,我们应该降低总订单的数量,但这是没有必要的,因为订单是用Odertotal函数计算的,如果我关闭一个订单,订单总数本身在下一次迭代时就会改变其值。他们还建议使用所谓的神奇数字来跟踪订单,但我还没有看到手册的这一部分。我应该重申,当使用MODE_SMA和MODE_LWMA时,程序可以工作,但当使用MODE_EMA和MODE_SMMA时,则不能工作。谁知道为什么,请给我写一个答案。
我还会仔细检查条件。那里可能有一个问题