新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 569 1...562563564565566567568569570571572573574575576...1953 新评论 Ihor Herasko 2018.06.17 10:24 #5681 YanSay:你能告诉我如何排除/添加一个特定的日期到EA吗? 例如,不要在2018年3月2日进行交易。尝试了不同的选项,对日期感到困惑。 最简单的选择是这样的。 input datetime i_dtSkipTheDay = D'2018.03.02'; ... datetime dtDayStartTime = TimeCurrent() / (60 * 60 * 24); if (dtDayStartTime == i_dtSkipTheDay) { // не торговать } baksik99 2018.06.17 11:06 #5682 我已经写了一个EA,它的交易很好。我决定对它进行补充,并通过相反的信号规定平仓指令......但它没有反应....,它根本不开仓或开仓但不通过相反的信号平仓....,只通过TP和SL进行平仓。 if (CCILong < Level0 && CountBuy() == 0) { for(int i=OrdersTotal()-1; i >=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) { if(OrderMagicNumber() == Magic && OrderType() == OP_BUY) bool close1 = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, clrNONE); } } } if (CCILong > Level0 && CountSell() == 0) { for(int i=OrdersTotal()-1; i >=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) { if(OrderMagicNumber() == Magic && OrderType() == OP_SELL) bool close1 = OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, clrNONE); } } } Ihor Herasko 2018.06.17 11:21 #5683 baksik99:我已经写了一个EA,它的交易很好。我决定对它进行补充,并通过相反的信号规定平仓指令......但它没有反应....,它根本不开仓或开仓但不通过相反的信号平仓....,只通过TP和SL进行平仓。你已经写了。 if (CCILong < Level0 && CountBuy() == 0) 如果没有买入订单,我们应该关闭买入。卖出也是如此。 baksik99 2018.06.17 11:24 #5684 Ihor Herasko:你已经写好了。 如果没有买入订单,你必须关闭买入。卖出也是如此。它们是否要被CountSell和CountBuy 删除? 它起作用了....,我把它修好了!谢谢你!!++++。 YanSay 2018.06.17 11:40 #5685 Ihor Herasko:最简单的选择是这样的。 不幸的是,它没有发挥作用( 一切如你所做,只是不平等。 input datetime i_dtSkipTheDay = D'2018.03.02'; datetime dtDayStartTime = TimeCurrent() / (60 * 60 * 24); if (dtDayStartTime != i_dtSkipTheDay) { //Открытие ордера } 仍然在测试器中,在那一天打开了交易。 Taras Slobodyanik 2018.06.17 12:59 #5686 YanSay:不幸的是,它没有发挥作用(。 我所做的一切和你一样,只是不平等。 仍然在测试器中,在那一天打开了交易。所以呢? input datetime i_dtSkipTheDay = D'2018.03.02'; if (TimeToStr(TimeCurrent(),TIME_DATE) != TimeToStr(i_dtSkipTheDay,TIME_DATE)) { //Открытие ордера } YanSay 2018.06.17 14:15 #5687 Taras Slobodyanik:这个怎么样? 它就像那样工作!非常感谢您! Ihor Herasko 2018.06.17 15:08 #5688 YanSay:不幸的是,它没有发挥作用(。 我所做的一切和你一样,只是不平等。 当天还是在测试器上开了一个交易。对不起,它需要在后面乘以。 input datetime i_dtSkipTheDay = D'2018.03.02'; datetime dtDayStartTime = (TimeCurrent() / (60 * 60 * 24)) * (60 * 60 * 24); if (dtDayStartTime != i_dtSkipTheDay) { //Открытие ордера } 这就是为什么没能成功。 YanSay 2018.06.17 17:25 #5689 Ihor Herasko:对不起,需要在后面多加说明。 这就是为什么没能成功。谢谢你! Roman Sharanov 2018.06.18 03:18 #5690 我想用标准的分形指标做我自己的分形指标,似乎可以,但有时还是把分形放在所有错误的地方,谁能帮帮我? //+------------------------------------------------------------------+ //| Fractals.mq5 | //| Copyright 2009-2017, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2009-2017, MetaQuotes Software Corp." #property link "http://www.mql5.com" //---- indicator settings #property indicator_chart_window #property indicator_buffers 2 #property indicator_plots 2 #property indicator_type1 DRAW_ARROW #property indicator_type2 DRAW_ARROW #property indicator_color1 Gray #property indicator_color2 Gray #property indicator_label1 "Fractal Up" #property indicator_label2 "Fractal Down" bool high_f, low_f; //---- input data input int period = 5; int per = period; //---- indicator buffers double ExtUpperBuffer[]; double ExtLowerBuffer[]; //--- 10 pixels upper from high price int ExtArrowShift=-10; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { if(per % 2 == 0) per++; //---- indicator buffers mapping SetIndexBuffer(0,ExtUpperBuffer,INDICATOR_DATA); SetIndexBuffer(1,ExtLowerBuffer,INDICATOR_DATA); IndicatorSetInteger(INDICATOR_DIGITS,_Digits); //---- sets first bar from what index will be drawn PlotIndexSetInteger(0,PLOT_ARROW,217); PlotIndexSetInteger(1,PLOT_ARROW,218); //---- arrow shifts when drawing PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ExtArrowShift); PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ExtArrowShift); //---- sets drawing line empty value-- PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); //---- initialization done } //+------------------------------------------------------------------+ //| Accelerator/Decelerator Oscillator | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i,limit; //--- if(rates_total<per) return(0); //--- if(prev_calculated<per+(per-1)/2) { limit=(per-1)/2; //--- clean up arrays ArrayInitialize(ExtUpperBuffer,EMPTY_VALUE); ArrayInitialize(ExtLowerBuffer,EMPTY_VALUE); } else limit=rates_total-per; for(i=limit;i<rates_total-(per+1)/2 && !IsStopped();i++) { for(int g = 1; g < (per+1)/2; g++){ high_f = true; low_f = true; //---- Upper Fractal if(high[i-g] > high[i] || high[i+g] > high[i]){ ExtUpperBuffer[i] = EMPTY_VALUE; high_f = false; }else{ if(high_f) ExtUpperBuffer[i] = high[i]; } //---- Lower Fractal if(low[i-g] < low[i] || low[i+g] < low[i]){ ExtLowerBuffer[i] = EMPTY_VALUE; low_f = false; }else{ if(low_f) ExtLowerBuffer[i] = low[i]; } } } //--- OnCalculate done. Return new prev_calculated. return(rates_total); } //+------------------------------------------------------------------+ 1...562563564565566567568569570571572573574575576...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你能告诉我如何排除/添加一个特定的日期到EA吗?
例如,不要在2018年3月2日进行交易。尝试了不同的选项,对日期感到困惑。
最简单的选择是这样的。
我已经写了一个EA,它的交易很好。我决定对它进行补充,并通过相反的信号规定平仓指令......但它没有反应....,它根本不开仓或开仓但不通过相反的信号平仓....,只通过TP和SL进行平仓。
我已经写了一个EA,它的交易很好。我决定对它进行补充,并通过相反的信号规定平仓指令......但它没有反应....,它根本不开仓或开仓但不通过相反的信号平仓....,只通过TP和SL进行平仓。
你已经写了。
如果没有买入订单,我们应该关闭买入。卖出也是如此。
你已经写好了。
如果没有买入订单,你必须关闭买入。卖出也是如此。
它们是否要被CountSell和CountBuy 删除?
它起作用了....,我把它修好了!谢谢你!!++++。最简单的选择是这样的。
不幸的是,它没有发挥作用(
一切如你所做,只是不平等。
仍然在测试器中,在那一天打开了交易。
不幸的是,它没有发挥作用(。
我所做的一切和你一样,只是不平等。
仍然在测试器中,在那一天打开了交易。
所以呢?
这个怎么样?
它就像那样工作!非常感谢您!
不幸的是,它没有发挥作用(。
我所做的一切和你一样,只是不平等。
当天还是在测试器上开了一个交易。
对不起,它需要在后面乘以。
这就是为什么没能成功。
对不起,需要在后面多加说明。
这就是为什么没能成功。
谢谢你!
我想用标准的分形指标做我自己的分形指标,似乎可以,但有时还是把分形放在所有错误的地方,谁能帮帮我?