新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 334 1...327328329330331332333334335336337338339340341...1953 新评论 [删除] 2017.10.10 11:48 #3331 Top2n: 这个怎么样?如果( 指标条数== EA条数 ) Mikhail Toptunov 2017.10.10 12:55 #3332 Alexey Kozitsyn:如果( 指标条数== EA条数 )那么我如何获得EA中的指标条数? [删除] 2017.10.10 12:56 #3333 Top2n: 那么我如何在EA中获得指标的条数?BarsCalculated()。 kirill1405 2017.10.10 14:21 #3334 你好,请你告诉我,返回函数的括号里应该怎么写?在旧版本中,你可以不写任何东西,但在较新的版本中,你需要写一些东西我将把EA部分的截图发给你,作为一个例子。 附加的文件: yzo9qp_ednv89_2017-10-10_3_18.20.04.png 26 kb [删除] 2017.10.10 14:40 #3335 kirill1405:你好,请你告诉我,返回函数的括号里应该怎么写?在旧版本中,你可以不写任何东西,但在较新的版本中,你需要写一些东西我将把EA部分的截图发给你,作为一个例子。 你必须在括号里写出与函数类型相对应的值/变量。如果函数是一个bool,那么括号里应该是true或false,或者是一个bool类型的 变量。对于其他函数类型,同样的方法。如果该函数是无效的--只需返回。 kirill1405 2017.10.10 14:42 #3336 Alexey Kozitsyn: 与函数类型相对应的值/变量应写在括号里。如果函数是bool,应该是true或false,或者在括号内是bool类型的 变量。对于其他函数类型--类似。如果该函数是无效的--只需返回。你能从我掉落的图片中告诉我,返回函数需要什么吗?为了更好地了解它应该是什么样子。谢谢你! [删除] 2017.10.10 14:44 #3337 kirill1405: 你能从我掉落的图片中告诉我,返回函数需要什么吗?以更好地了解它应该是什么样子。谢谢你! 正如我之前所说,为了返回一个正确的值,你需要知道函数类型。而图片上并没有显示。 kirill1405 2017.10.10 14:55 #3338 给你,如果不嫌麻烦的话 附加的文件: lmdf9hx.mq4 10 kb [删除] 2017.10.10 15:38 #3339 kirill1405:给你,如果不嫌麻烦的话 通过SRC按钮粘贴代码,不希望下载它,看它和删除它。 kirill1405 2017.10.10 15:59 #3340 Alexey Kozitsyn: 通过SRC按钮粘贴代码,不希望下载它,看它和删除它。extern double StopLoss = 100; extern double TakeProfit = 400; extern int Period_MA_1 = 100; extern int Period_MA_2 = 150; extern double Rasst = 40; extern double Lots = 0.5; bool Work = true; string Symb; //------------------------------------------------2 int start() { int Total, //количество ордеров в окне Tip = -1, Ticket; // тип выбранного ордера double MA_1_t, // текущее значение средней №1 MA_2_t, // текущее значение средней №2 Lot, // количество лотов в выбранном ордере Lts, // Количество лотов в открыв. ордере Min_Lot, // минимальное количество лотов Step, // шаг изменения размера лота Free, // текущие свободные средства One_Lot, // стоимость одного лота Price, // цена выбранного ордера SL, // стоплосс выбранного ордера TP; // тейкпрофит выбранного ордера bool Ans = false, Cls_B = false, Cls_S = false, Opn_B = false, Opn_S = false; //---------------------------------------------- 3 // предварительная обработка if (Bars < Period_MA_2) { Alert ("Недостаточно баров в окне. Эксперт не работает"); } return; if (Work==false) { Alert ("Критическая ошибка. Эксперт не работает"); } return; //здесь можно указать разные параметры например задать время работы эксперта //---------------------------------------------- 4 // учет ордеров Symb = Symbol(); Total =0; for (int i=1;i<=OrdersTotal();i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if (OrderSymbol()!= Symb) continue; if ( OrderType()>1) { Alert ("Обнаружен отложенный ордер. Эксперт не работает"); return ; } Total++; //счетчик рыночных ордеров if (Total>1) { Alert ("Несколько рыночных ордеров. Эксперт не работает."); return ; } Ticket=OrderTicket(); Tip=OrderType(); Price=OrderOpenPrice(); SL=OrderStopLoss(); TP=OrderTakeProfit(); Lot=OrderLots(); } } // Торговые критерии MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_CLOSE,0); MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_EMA,PRICE_CLOSE,0); if (MA_1_t>MA_2_t+Rasst*Point) { Opn_B=true; Cls_S=true; } if (MA_1_t<MA_2_t-Rasst*Point) { Opn_S=true; Cls_B=true; } //-------------------------------------------- // закрытие ордеров while (true) { if (Tip==0 && Cls_B==true) { Alert ("Попытка закрыть Buy ",Ticket,"ожидание ответа.."); RefreshRates(); Ans=OrderClose(Ticket,Lot,Bid,2); if (Ans==true) { Alert ("Закрыт ордер Buy" ,Ticket); break; } if (Fun_Error(GetLastError())==1) continue; return; } if (Tip==1 && Cls_S==true) { Alert ("Попытка закрыть Sell ",Ticket,"ожидание ответа.."); RefreshRates(); Ans=OrderClose(Ticket,Lot,Ask,2); if (Ans==true) { Alert ("Закрыт ордер Sell" ,Ticket); break; } if (Fun_Error(GetLastError())==1) continue; return; } break; } //------------------------------------------------- // расчет размера позиций RefreshRates(); Min_Lot=MarketInfo(Symb,MODE_MINLOT); Free = AccountFreeMargin(); One_Lot = MarketInfo(Symb,MODE_MARGINREQUIRED); Step = MarketInfo(Symb,MODE_LOTSTEP); if (Lots>0) Lts=Lots; if (Lts<Min_Lot) Lts=Min_Lot; if (Lts*One_Lot<Free) { Alert ("Не хватает денежных средств на ",Lts," лотов"); return; } //-------------------------------------------- // блок открытия ордеров while (true) { if (Total==0 && Opn_B==true) { RefreshRates(); SL=Bid-New_Stop(StopLoss)*Point; TP=Bid+New_Stop(TakeProfit)*Point; Alert ("Попытка открыть ордер BUY. Ожидаем ответа.."); Ticket = OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP); if (Ticket>0) { Alert (" Открыт ордер BUY" ,Ticket); return ; } if (Fun_Error(GetLastError())==1) continue; return ; } if (Total==0 && Opn_S==true) { RefreshRates(); SL=Ask-New_Stop(StopLoss)*Point; TP=Ask+New_Stop(TakeProfit)*Point; Alert ("Попытка открыть ордер Sell. Ожидаем ответа.."); Ticket = OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP); if (Ticket>0) { Alert (" Открыт ордер Sell" ,Ticket); return ; } if (Fun_Error(GetLastError())==1) continue; return ; } break; } //----------------------------------------------------------- return; } //--------------------------------------------------------- int Fun_Error (int Error) { switch (Error) { default : Alert ("Возникла ошибка ",Error); return(0); } } //------------------------------------------------------------- int New_Stop (int Parametr) { int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL); if (Parametr<Min_Dist) { Parametr=Min_Dist; Alert ("Увеличена дистанция стоп приказа"); } return(Parametr); } //------------------------------------------------------------ 1...327328329330331332333334335336337338339340341...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这个怎么样?
如果( 指标条数== EA条数 )
如果( 指标条数== EA条数 )
那么我如何获得EA中的指标条数?
那么我如何在EA中获得指标的条数?
你好,请你告诉我,返回函数的括号里应该怎么写?
在旧版本中,你可以不写任何东西,但在较新的版本中,你需要写一些东西
我将把EA部分的截图发给你,作为一个例子。
你好,请你告诉我,返回函数的括号里应该怎么写?
在旧版本中,你可以不写任何东西,但在较新的版本中,你需要写一些东西
我将把EA部分的截图发给你,作为一个例子。
与函数类型相对应的值/变量应写在括号里。如果函数是bool,应该是true或false,或者在括号内是bool类型的 变量。对于其他函数类型--类似。如果该函数是无效的--只需返回。
你能从我掉落的图片中告诉我,返回函数需要什么吗?
为了更好地了解它应该是什么样子。
谢谢你!
你能从我掉落的图片中告诉我,返回函数需要什么吗?
以更好地了解它应该是什么样子。
谢谢你!
给你,如果不嫌麻烦的话
给你,如果不嫌麻烦的话
通过SRC按钮粘贴代码,不希望下载它,看它和删除它。