新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1658 1...165116521653165416551656165716581659166016611662166316641665...1953 新评论 Tretyakov Rostyslav 2021.10.09 16:11 #16571 artem artem MACD 所在的同一区域,那么订单将从第一根蜡烛开始打开。而且它必须被确认4次,订单应该在第四根蜡烛上打开。我附上了一个文件,以使其视觉上清晰。 SanAlex,你能放大看清楚MACD柱状图,以及快速柱状图与慢速柱状图的交叉情况吗?我几乎看不到它。 尝试 #define MagicNumber 122122 extern string s1 = "Trading options"; extern double Lot = 0.01; // размер лота 0 - авт.расчет extern double StopLoss = 40; // стоплосс extern double TakeProfit = 10; // тейкпрофит extern double TrailStop = 21; // уровень без убытка extern int Trailing = 0; // трейлинг стоп 1 вкл. 0 выкл. extern int Breakeven = 0; // перенос стоп лосса в без убыток extern string s2 = "Day & Hour"; extern int HrStart = 0; // время начала торговли extern int HrEnd = 23; // время окончания торговли extern int Monday = 1; // Понедельник 1 вкд. 0 выкл. extern int Tuesday = 1; // Вторник extern int Wednesday = 1; // Среда extern int Thursday = 1; // Четверг extern int Friday = 1; // Пятница //+------------------------------------------------------------------+ // параметры индикаторов double MovingPeriodLw = 5; double MovingPeriodS1 = 75; double MovingPeriodS2 = 85; double StopLevel; double TrailStep = 3; // шаг трейлинг стопа bool OrderBuy = true, OrderSell = true, Order = false, Init = true; int timeprev = 0, Slip = 3.0, start, cnt; //+------------------------------------------------------------------+ //| Init function | //+------------------------------------------------------------------+ void OnInit() { if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков TakeProfit *= 10; TrailStop *= 10; TrailStep *= 10; StopLoss *=10; Slip *=10; } return; } //+------------------------------------------------------------------+ //| Start function | //+------------------------------------------------------------------+ void start() { StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); if(CheckForOpen()!=start) {start=CheckForOpen(); cnt=0;} else {cnt+=1;} // Определение направления пересечения мувингов // if (Init) InitMetod(); // Трейлинг стоп открытых позиций if (Trailing != 0 ) RealTrailOrder(TrailStop, TrailStep, StopLevel, MagicNumber); // Ожидание нового бара на графике if(timeprev == Time[0]) return; timeprev = Time[0]; if(cnt==3) { // Открытие ордера по методу Пуриа if(CheckForOpen()==0 && OrderBuy==true) // Если сигнал для покупок { if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue)) {OrderBuy=false; Print("BUY OK");} } if(CheckForOpen()==1 && OrderSell==true) // Если сигнал для продаж { if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red)) {OrderSell=false; Print("SELL OK");} } } } //+------------------------------------------------------------------+ //| Check for open order conditions | //+------------------------------------------------------------------+ int CheckForOpen() // Открытие ордера по методу Пуриа { double malw,mas1,mas2,macd; int res=-1, buy=0, sell=0; // Считывание параметров индикаторов 3 свечи (4ой) malw=iMA(NULL,0,MovingPeriodLw,0,MODE_EMA,PRICE_CLOSE,3); mas1=iMA(NULL,0,MovingPeriodS1,0,MODE_LWMA,PRICE_LOW,3); mas2=iMA(NULL,0,MovingPeriodS2,0,MODE_LWMA,PRICE_LOW,3); macd=iMACD(NULL,0,15,26,1,PRICE_CLOSE,MODE_MAIN,3); if(malw>mas1&&malw>mas2&&macd>0) {buy+=1; sell=0;} if(malw<mas1&&malw<mas2&&macd<0) {buy=0; sell+=1;} // Считывание параметров индикаторов 2 свечи (3ей) malw=iMA(NULL,0,MovingPeriodLw,0,MODE_EMA,PRICE_CLOSE,2); mas1=iMA(NULL,0,MovingPeriodS1,0,MODE_LWMA,PRICE_LOW,2); mas2=iMA(NULL,0,MovingPeriodS2,0,MODE_LWMA,PRICE_LOW,2); macd=iMACD(NULL,0,15,26,1,PRICE_CLOSE,MODE_MAIN,2); if(malw>mas1&&malw>mas2&&macd>0) {buy+=1; sell=0;} if(malw<mas1&&malw<mas2&&macd<0) {buy=0; sell+=1;} // Считывание параметров индикаторов 1 свечи (2ой) malw=iMA(NULL,0,MovingPeriodLw,0,MODE_EMA,PRICE_CLOSE,1); mas1=iMA(NULL,0,MovingPeriodS1,0,MODE_LWMA,PRICE_LOW,1); mas2=iMA(NULL,0,MovingPeriodS2,0,MODE_LWMA,PRICE_LOW,1); macd=iMACD(NULL,0,15,26,1,PRICE_CLOSE,MODE_MAIN,1); if(malw>mas1&&malw>mas2&&macd>0) {buy+=1; sell=0;} if(malw<mas1&&malw<mas2&&macd<0) {buy=0; sell+=1;} // Считывание параметров индикаторов 0 свечи (1ой) malw=iMA(NULL,0,MovingPeriodLw,0,MODE_EMA,PRICE_CLOSE,0); mas1=iMA(NULL,0,MovingPeriodS1,0,MODE_LWMA,PRICE_LOW,0); mas2=iMA(NULL,0,MovingPeriodS2,0,MODE_LWMA,PRICE_LOW,0); macd=iMACD(NULL,0,15,26,1,PRICE_CLOSE,MODE_MAIN,0); if(malw>mas1&&malw>mas2&&macd>0) {buy+=1; sell=0;} if(malw<mas1&&malw<mas2&&macd<0) {buy=0; sell+=1;} if(buy <4) OrderBuy=true; if(sell<4) OrderSell=true; if(buy ==4) { res=0; OrderSell=true;} if(sell==4) { res=1; OrderBuy =true;} return(res); } Artis98 2021.10.09 16:26 #16572 MakaeFX,现在由于某些原因,它不是从第四根确认蜡烛开始,而是从第七根开始。附上测试者的屏幕截图 附加的文件: 3rg15xeyg_2b_hev8is4_3.png 61 kb SanAlex 2021.10.09 16:27 #16573 artem artem #:SanAlex,你能不能放大一点,让MACD柱状图清晰可见,快的柱状图与慢的柱状图交叉?我几乎看不到它。 但我在那里补充的是--专家顾问的目的是不同的。其目的是获得所有开放货币对的总利润,并关闭所有的专家顾问。 附加的文件: artem_artem.set 2 kb Tretyakov Rostyslav 2021.10.09 16:29 #16574 artem artem #: MakaeFX,现在由于某些原因,它不是从第四根确认蜡烛开始,而是从第七根开始。我附上了一张测试者的截图 上传你的EA文件,我将在测试器中查看。 Artis98 2021.10.09 16:32 #16575 SanAlex,所以重点是,我想实现的东西会更好+我已经做了几天了,我已经从根本上对正确的代码应该是什么样子的。而且它对未来非常有用,专家顾问也会非常好。但你的版本也很好,我不能说什么反对的话。 Artis98 2021.10.09 16:36 #16576 MakarFX,附上一个EA 附加的文件: Metod_Archepuria_ver._7.mq4 21 kb Tretyakov Rostyslav 2021.10.09 17:15 #16577 artem artem #: MakarFX, 附属EA 什么版本的MetaEditor? Artis98 2021.10.09 17:33 #16578 确切地说,MetaEditor - 5.00 build 2382版本 Tretyakov Rostyslav 2021.10.09 17:40 #16579 artem artem #: 正是MetaEditor - 版本5.00 build 2382 不清楚你是如何编译你发布的文件的... 在这里,尝试添加你需要的其他内容 附加的文件: artem.mq4 13 kb Artis98 2021.10.09 18:12 #16580 MakarFX,如果我测试所有的点位--从01.08.21到03.09.21--然后46个订单,是否可以? 如果我只用同一时期的开盘价 来测试--29个订单? +几个订单明确地错过了他们的开盘价,如果他们被测试了ticks。我附上了一张截图,它显示 附加的文件: ypo8ub9fq_xe_5wko1uh.png 71 kb 1...165116521653165416551656165716581659166016611662166316641665...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
SanAlex,你能放大看清楚MACD柱状图,以及快速柱状图与慢速柱状图的交叉情况吗?我几乎看不到它。
尝试
SanAlex,你能不能放大一点,让MACD柱状图清晰可见,快的柱状图与慢的柱状图交叉?我几乎看不到它。
但我在那里补充的是--专家顾问的目的是不同的。其目的是获得所有开放货币对的总利润,并关闭所有的专家顾问。
MakaeFX,现在由于某些原因,它不是从第四根确认蜡烛开始,而是从第七根开始。我附上了一张测试者的截图
MakarFX, 附属EA
正是MetaEditor - 版本5.00 build 2382
不清楚你是如何编译你发布的文件的...
在这里,尝试添加你需要的其他内容
MakarFX,如果我测试所有的点位--从01.08.21到03.09.21--然后46个订单,是否可以?
如果我只用同一时期的开盘价 来测试--29个订单?
+几个订单明确地错过了他们的开盘价,如果他们被测试了ticks。我附上了一张截图,它显示