任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1157 1...115011511152115311541155115611571158115911601161116211631164...1178 新评论 Aleksey Vyazmikin 2017.07.27 10:45 #11561 请帮助--有一段代码是这样的 if(Bars<=RSIPeriod) return(0); if(TF!=0) { string name = WindowExpertName(); for(i=0; i<Bars-counted_bars+1; i++) { int barIndex = iBarShift(NULL,TF,Time[i],false); RSIBuffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,0,barIndex); PosBuffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,1,barIndex); NegBuffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,2,barIndex); RSI_Up_Buffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,3,barIndex); RSI_Down_Buffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,4,barIndex); Worms_Up[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,5,barIndex); Worms_Down[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,6,barIndex); Delta[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,7,barIndex); Calc[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,8,barIndex); } return(0); }一切工作正常,但这里出现了一个错误--无法重现--代码中的错误以Time[I]括号开头2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array out of range in 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)。 出错的原因是什么,如何解决这个问题? Vitaly Muzichenko 2017.07.27 11:03 #11562 Aleksey Vyazmikin:请帮助--有一段代码是这样的 一切工作正常,但这里出现了一个错误--无法重现--代码中的错误以Time[I]括号开头2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array out of range in 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)。 导致该错误的原因是什么,如何解决?尝试用Bars(Symbol(), TF)替换Bars。 你从另一个时间段获取数据,但条数 是从当前时间段获取的。 Aleksey Vyazmikin 2017.07.27 12:01 #11563 Vitaly Muzichenko:尝试用Bars(Symbol(), TF)替换Bars。 你从另一个时间框架获得数据,并从当前的时间框架中获取条数,但你获得的数据可能更少,因此出现误差谢谢你!我想它会有帮助的! Alexey Volchanskiy 2017.07.30 01:09 #11564 Andrey Sokolov:注意,正确答案。支持团队2017.07.20 13:37没有在元编辑器的最新版本中编译的产品可能无法附加到图表中。上次更新后,我的EA在非视觉模式下停止了测试器的工作。我不得不重做一些事情。 Alexey Volchanskiy 2017.07.30 01:10 #11565 Andrey Sokolov:问候。是否有可能在历史上用价差进行测试?它是在测试器中设置的。还是你需要一个真正的浮动价差? Andrei Sokolov 2017.07.30 06:37 #11566 Alexey Volchanskiy: 所以它在测试器中被设定了。还是你想要一个 真正的浮动价差? 真实的 Artyom Trishkin 2017.07.30 08:59 #11567 Andrey Sokolov: 真实的 测试器中的真实(历史)将只在MT5中提供给你 scomoroh 2017.08.01 08:58 #11568 你好!我正在编写一个在分形上下挂单 的EA。但只下买单。我应该如何纠正它?我在此附上EA和指标。 附加的文件: Fractal_1.mq4 13 kb RFractals.ex4 10 kb Artyom Trishkin 2017.08.01 09:00 #11569 scomoroh:你好!我正在编写一个EA,在分形上放置挂单。但只有买入订单被打开。如何纠正?这一切都在这里。 KhuKhu 2017.08.01 23:35 #11570 你好。你能否帮助纠正两个错误。1.1个订单应该在一个柱子上打开(现在随机打开)。2.要正确地以设定的量打开1个订单(现在是以不同的量打开)。我的想法是,这个EA应该在一个酒吧打开10%的存款交易(我曾希望如此),但它没有发生。我已经在这方面工作了很长时间,我很高兴看到结果。//+------------------------------------------------------------------+ //| 1237654.mq4 | //| Copyright 2017, MetaQuotes Software Corp. | //| [url]https://www.mql5.com[/url] | //+------------------------------------------------------------------+ #property copyright "Copyright 2017, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict extern int tf_bar = 0; //таймфрейм на котором будет браться значение бара extern int magic = 123; extern double stop = 0; extern double StopLoss = 0; extern double TakeProfit =0; extern double Prots= 0.10; int ticket,Symbol; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int mper[10]={0,1,5,15,30,60,240,1440,10080,43200};//массив таймфрейма int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);// Мин. стоим. лотов double Step =MarketInfo(Symbol(),MODE_LOTSTEP);//Шаг изменен лотов double Free =AccountBalance(); // Свободн средства double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Стоим.лота double Lot=MathFloor(Free*Prots/One_Lot/Step)*Step;// Лоты if ( Close[0]>Close[1]) //if (! NumberOfBarOpenLastPos(NULL,mper[tf_bar],OP_BUY, magic) ==0) {//запрет неск. сделок на 1 баре stop = Ask - StopLoss * Point; ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,0,0,0,"Buy",magic,0,Lime); }//закрываем скобку NumberOfBarOpenLastPos if ( Close[0]<Close[1]) //if (!NumberOfBarOpenLastPos(NULL,mper[tf_bar],OP_SELL, magic) ==0) {//запрет неск. сделок на 1 баре ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,0,0,0,"Sell",magic,0,Red); }//закрываем скобку NumberOfBarOpenLastPos return; } //+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, [url=http://www.kimiv.ru]Автоматизация торговли на финансовых рынках - Главная[/url] | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает номер бара открытия последней позиции или -1. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" или NULL - текущий символ) | //| tf - таймфрейм ( 0 - текущий таймфрейм) | //| op - операция ( -1 - любая позиция) | //| mn - MagicNumber ( -1 - любой магик) | //+----------------------------------------------------------------------------+ int NumberOfBarOpenLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) { datetime t=0; int i, k=OrdersTotal(); if (sy=="" || sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderOpenTime()) t=OrderOpenTime(); }}}}}} return(iBarShift(sy, tf, t, True));} 1...115011511152115311541155115611571158115911601161116211631164...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请帮助--有一段代码是这样的
一切工作正常,但这里出现了一个错误--无法重现--代码中的错误以Time[I]括号开头
2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array out of range in 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)。
请帮助--有一段代码是这样的
一切工作正常,但这里出现了一个错误--无法重现--代码中的错误以Time[I]括号开头
2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array out of range in 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)。
尝试用Bars(Symbol(), TF)替换Bars。
你从另一个时间段获取数据,但条数 是从当前时间段获取的。
尝试用Bars(Symbol(), TF)替换Bars。
你从另一个时间框架获得数据,并从当前的时间框架中获取条数,但你获得的数据可能更少,因此出现误差
谢谢你!我想它会有帮助的!
注意,正确答案。
上次更新后,我的EA在非视觉模式下停止了测试器的工作。我不得不重做一些事情。
问候。
是否有可能在历史上用价差进行测试?
它是在测试器中设置的。还是你需要一个真正的浮动价差?
所以它在测试器中被设定了。还是你想要一个 真正的浮动价差?
真实的
你好!我正在编写一个在分形上下挂单 的EA。但只下买单。我应该如何纠正它?我在此附上EA和指标。
你好!我正在编写一个EA,在分形上放置挂单。但只有买入订单被打开。如何纠正?
这一切都在这里。
你好。
你能否帮助纠正两个错误。
1.1个订单应该在一个柱子上打开(现在随机打开)。
2.要正确地以设定的量打开1个订单(现在是以不同的量打开)。
我的想法是,这个EA应该在一个酒吧打开10%的存款交易(我曾希望如此),但它没有发生。
我已经在这方面工作了很长时间,我很高兴看到结果。