任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 661 1...654655656657658659660661662663664665666667668...1178 新评论 Victor Nikolaev 2014.07.09 12:21 #6601 berezhnuy:下午好,请您告诉我如何解决这个问题?我在猫头鹰中使用。猫头鹰在每次勾选时都会运行,否则基本条件将无法满足。我对iMAOnArray只用了20条,但在测试器上猫头鹰需要很长时间来思考。我在启动块中设置并调用它。如何优化该工具的使用,以便在每次勾选时检查主要条件,并使测试者的速度不致减慢。因为我在4小时图上测试一只猫头鹰一年的时间只需要2小时。我不敢想象要做多少优化,)))) 没有代码就没有人可以帮助你 [删除] 2014.07.09 12:42 #6602 这基本上是所有的代码。//------- Внешние параметры советника -----------------------------------------+ extern string _P_Expert = "---------- Параметры советника"; extern int Magic = 777; // Магический номер позиций extern double SL=10; // Размер лося extern double TP=10000; // Размер профита extern string ____= "Параметры блока MoneyManagement"; extern bool MoneyManagement=false; extern double Lots = 0.01; extern int MarginPercent=3; //------- Параметры трала -----------------------------------------------------+ extern string ______= "Параметры блока TrallingStop"; extern bool TralSimple=true; //------- Характкристики баров ------------------------------------------------+ //------- Подключение внешних модулей -----------------------------------------+ #include <stdlib.mqh> #include <stderror.mqh> int start() { total=OrdersTotal(); Comment( LotsCounting() ); //+=================================================================================+ // Проверка средств if(AccountFreeMargin()<(1000*Lots)){ Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } //=========================== Открытие позиций ===================================+ //==========================================================================================+ //============================= Center_array ========================================+ double Center_array[50]; int h,limit=ArraySize(Center_array); ArraySetAsSeries(Center_array,true); for(h=0; h<limit; h++) Center_array[h]=iRSI(NULL,0,14,0,h); double MA_1 =iMAOnArray(Center_array,0,14,0,MODE_SMA,1); double rs_1 = iRSI(NULL,0,14,0,1); if (Last_Max1!=Max1){ if (Close[1]>Close[2] && rs_1<MA_1){ lots=LotsCounting(); OrderSend(Symbol(),OP_BUYSTOP,lots,(Max1),0,SL_buy,TP_buy, "Покупаем ",Magic,Expiration,Blue); Last_Max1=Max1; PlaySound("ok.wav"); { Print ("При открытии произошла ошибка ", GetLastError()); return; } } } } //==========================================================================================+ if (delet) DeleteOppositeOrders("",-1,Magic); //==========================================================================================+ //=======================================TrallingStop=======================================+ for ( int v = OrdersTotal() - 1; v >= 0; v -- ){ if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES)){ if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic){ //+=================================================================================+ ///+================================Обычный трал ====================================+ if (TralSimple){ //+=================================================================================+ if(OrderType() == OP_BUY){ if((Bid-OrderOpenPrice()) > (Point*TrailingStop)){ if(OrderStopLoss() < Bid-Point*TrailingStop || (OrderStopLoss()==0)){ OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Blue); } } } } } // Symbol() } // select } //total //============================== Конец блока закрытия ==============================+ return(0); } //==========================================================================================+ 如果删除Center_errey,测试时间不到1分钟。如果这个条件仍然包含在代码中,测试将运行2小时 Victor Nikolaev 2014.07.09 13:20 #6603 berezhnuy:这基本上是所有的代码。如果删除Center_errey,测试时间不到1分钟。如果这个条件仍然包含在代码中,测试将运行2小时 你不是想做一个指标吗? Vitalie Postolache 2014.07.09 15:53 #6604 有一个变量A,它可以取值为0,1,2。这些比较会是同等的吗?如果(A=0 || A=1){do},如果(A !=2){do}。 TarasBY 2014.07.09 16:11 #6605 evillive:有一个变量A,它可以取值为0,1,2。这些比较会是同等的吗?如果(A=0 || A=1){do},如果(A !=2){do}。 如果变量是枚举类型的,表达式是相同的。 [删除] 2014.07.09 19:27 #6606 evillive:有一个变量A,可以取值0,1,2。这些比较会是同等的吗?如果(A=0 || A=1){do},如果(A !=2){do}。 不,因为 "A=0 "和 "A=1 "都不是一个比较。但比较的结果是 "A == 0 "和 "A == 1"。 TarasBY 2014.07.09 20:52 #6607 simpleton:不,因为 "A=0 "和 "A=1 "都不是一个比较。但 "A == 0 "和 "A == 1 "是比较。 +1!:) Chiripaha 2014.07.09 21:16 #6608 berezhnuy:这基本上是所有的代码。如果删除Center_errey,测试时间不到1分钟。如果在代码中包含这个条件,测试需要大约2小时。 根据条款,重新计算和检查并不是在每一个刻度 上都有意义,而只是在一个新的柱状物出现时才有意义。这就是为什么应用一个相应的函数是有意义的,比如这个函数。bool NevBar(){ static int PrevTime=0; if (PrevTime==Time[0]) return(false); PrevTime=Time[0]; return(true);}并在Center_errey出现时才运行它。你也可以扔掉各种各样的 "垃圾"。但它不会从本质上影响速度。你的代码中还有一个严重的错误--如果没有保证金,你就取消整个代码。拖网的情况如何?虽然...也许是因为它只是代码的一部分,正如我从评论中所理解的那样。 Vitalie Postolache 2014.07.09 21:25 #6609 simpleton:不,因为 "A=0 "和 "A=1 "都不是一个比较。但 "A == 0 "和 "A == 1 "是比较。 信用 )))) 只是我没有用MQL写,但从形式上看,这就是麻烦所在(。 Vladimir Paukas 2014.07.10 03:36 #6610 evillive: 分数 )))) 只是我没有用MQL写,但从形式上看,这就是问题所在(。 技术上不是,因为可能有NULL 1...654655656657658659660661662663664665666667668...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好,请您告诉我如何解决这个问题?
我在猫头鹰中使用。
猫头鹰在每次勾选时都会运行,否则基本条件将无法满足。我对iMAOnArray只用了20条,但在测试器上猫头鹰需要很长时间来思考。我在启动块中设置并调用它。
如何优化该工具的使用,以便在每次勾选时检查主要条件,并使测试者的速度不致减慢。因为我在4小时图上测试一只猫头鹰一年的时间只需要2小时。我不敢想象要做多少优化,))))
没有代码就没有人可以帮助你
这基本上是所有的代码。
如果删除Center_errey,测试时间不到1分钟。如果这个条件仍然包含在代码中,测试将运行2小时
这基本上是所有的代码。
如果删除Center_errey,测试时间不到1分钟。如果这个条件仍然包含在代码中,测试将运行2小时
你不是想做一个指标吗?
有一个变量A,它可以取值为0,1,2。
这些比较会是同等的吗?
如果(A=0 || A=1){do},如果(A !=2){do}。
有一个变量A,它可以取值为0,1,2。
这些比较会是同等的吗?
如果(A=0 || A=1){do},如果(A !=2){do}。
有一个变量A,可以取值0,1,2。
这些比较会是同等的吗?
如果(A=0 || A=1){do},如果(A !=2){do}。
不,因为 "A=0 "和 "A=1 "都不是一个比较。
但比较的结果是 "A == 0 "和 "A == 1"。
不,因为 "A=0 "和 "A=1 "都不是一个比较。
但 "A == 0 "和 "A == 1 "是比较。
这基本上是所有的代码。
如果删除Center_errey,测试时间不到1分钟。如果在代码中包含这个条件,测试需要大约2小时。
这就是为什么应用一个相应的函数是有意义的,比如这个函数。
并在Center_errey出现时才运行它。
你也可以扔掉各种各样的 "垃圾"。但它不会从本质上影响速度。
你的代码中还有一个严重的错误--如果没有保证金,你就取消整个代码。拖网的情况如何?虽然...也许是因为它只是代码的一部分,正如我从评论中所理解的那样。
不,因为 "A=0 "和 "A=1 "都不是一个比较。
但 "A == 0 "和 "A == 1 "是比较。
信用 ))))
只是我没有用MQL写,但从形式上看,这就是麻烦所在(。
分数 ))))
只是我没有用MQL写,但从形式上看,这就是问题所在(。