新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1735 1...172817291730173117321733173417351736173717381739174017411742...1953 新评论 Nikolay Ivanov 2021.11.09 11:17 #17341 anrei2002 #:关键字是 "帮助"!正如我以前写的那样:你最好马上告诉我,这个指标不能在这个论坛上最终确定!你的意思是说,这个指标是不可能的。就这样......我就明白....,为什么会有这么多的矿渣倒出来?? 当初是我写的。 你不能修复它,它是弯曲的...... 这是我写的第一件事。你没有看到它,你没有意识到它,你认为它是胡说八道。 你认为我试图向你传达的事实是你在这里搅乱的垃圾--我没有被冒犯,我没有为了你而努力,别人会读到它,不会犯错。至于你,祝你的指标好运,如果你不喜欢这个论坛,就去找其他论坛。 Taras Slobodyanik 2021.11.09 11:41 #17342 Nikolay Ivanov #:我马上就写了。没有办法修复它,它是歪的...... 它可以被修复,但它会重新绘制最外层的8个条形图。 Taras Slobodyanik 2021.11.09 11:43 #17343 anrei2002 #:关键字是 "帮助"! 我帮助了你--我写下了你需要做的事情--然后呢?) 你做了什么? Nikolay Ivanov 2021.11.09 11:43 #17344 Taras Slobodyanik #:它可以被修复,但它会重新绘制最外面的8个柱子。 还有人说,信号可以立即应用于第9条,根本不会有重划的情况。 Taras Slobodyanik#: 我已经帮助了你--我已经写了你需要做的事情--而且?)你做了什么? 顺便说一下,你会得到(有一定的概率)套利,你需要事先同意他需要做的一切 - 你不能没有保留地做。 Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам 2021.11.09www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... Taras Slobodyanik 2021.11.09 11:47 #17345 Nikolay Ivanov #:也有人说,你可以在第9条发出信号,根本不会有过高的价格......但这个人不明白......。顺便说一下,你会得到套利,你必须事先谈判一切......他需要的东西不能没有保留。这里一切都可以做,这个人同意重写,并发出8条信号,有什么问题呢? ps. 分歧和分形也出现在过去,没什么大不了的。 Nikolay Ivanov 2021.11.09 11:54 #17346 Taras Slobodyanik #:这里一切都可以做,当事人同意重新评级,信号8条回来,有什么问题? 他需要 "仅仅 "删除多余的箭头,就可以了。而如何做到这一点,通过重新评级或不评级,是你的问题...任何仲裁都是这样开始的 :) 这取决于你如何制定职权范围,但在任何情况下--我都不会冒这个险......。即使是成功的仲裁也是几个月的压力... Artyom Trishkin 2021.11.09 15:34 #17347 anrei2002 #:关键字是 "帮助"!正如我以前写过的:你最好马上告诉我,这个指标不能在这个论坛上最终确定!你的意思是说,这个指标不能在这个论坛上最终确定。就这样......我就明白....,为什么会有这么多的矿渣倒出来?? 正是如此。如果你帮助做,就意味着你做,有人帮助你,你能做多少就做多少,能做多少就做多少。 如果你所做的只是要求,没有做其他事情,而有人为你做,那么这就是一个善意的局。 当我创建这个主题时,我的意思是帮助,而不是免费许愿。 Artis98 2021.11.09 15:54 #17348 亲爱的论坛用户和有经验的程序员,你们好我需要帮助来确定EA))。请告知如何在代码顾问中添加2个东西。 1.情况是这样的:我开了一个订单(第一笔),有TP和SL,有一定的手数(可能是0.01)。如果这个订单在获利时关闭 - 很好,没有任何变化。但是,如果这个(第一笔)订单在SL平仓,紧接着的下一笔订单(第二笔)会以2倍的手数(0.01*2=0.02)开仓。如果第二笔订单在止盈点平仓,那么下一笔订单(第三笔)将以普通手数开仓,即在前一笔(第一笔)在止盈点平仓后,下一笔订单(第二笔)只需要2倍的手数。如果第3笔订单连续第二次在SL中被关闭,手数将继续增加2倍,直到没有TP关闭。我希望我已经详细描述了需要添加的逻辑。 现在让我用一个例子来解释:假设我们有一个基本参数为T.p.+300,S.l.的订单,我们必须增加SL运动。- 500.价格向要求的方向移动,并从订单的开盘价中通过+100点。一旦价格从订单的开盘价达到+100,SL应该从基础的-500移动到+90。即:当价格达到与订单开盘价相比+100点时,我们通过设置S,L为+90点将订单转移到盈亏平衡点。之后,如果价格进一步向所需的方向移动并通过另一个+50点--S.L.被移动了50点=>它现在应该是在订单开盘价的+140点。即S.L.首先从它的基本位置移动到离订单开盘价+90点的位置,然后再移动,如果它通过了+50点(- 500 => + 90 => + 140 => + 190等)。如此这般,直到价格达到T.P。或当趋势反转并冲击S.L.时。 我希望我详细地描述了一切,我真的希望得到你的帮助,因为通过添加这些缺失的元素,专家顾问就可以准备好了))。如果你有任何问题,请问))))。我在下面粘贴了专家顾问的部分代码。 extern string s1 = "Main options"; extern string Symbol = ""; extern int timeframe = 30; extern int MagicNumber = 122122; //+------------------------------------------------------------------+ extern string s2 = "Trading options"; extern int BarsForConfirm = 40; extern double Lot = 0.01; // размер лота: 0 - авт.расчет (свободная маржа/9000 => 100/5000=0.02 лота); любое другое число - фиксированный лот extern int StopLoss = 50; // стоплосс (в пунктах) extern int TakeProfit = 30; // тейкпрофит (в пунктах) //+------------------------------------------------------------------+ bool OrderBuy = true, OrderSell = true, Trade = false; int timeprev = 0, Slip = 3.0, Start, cnt=1, a; datetime newbar=0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- if(CheckForOpen()==0) {a=1; Trade = false;} else if(CheckForOpen()==1) {a=0; Trade = false;} else {Trade = true;} if (Digits == 3 || Digits == 5) // Пересчет для 5-ти знаков, работает автоматически { TakeProfit *= 10; StopLoss *=10; Slip *=10; } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(CheckForOpen()==a) Trade = true; if(newbar!=Time[0] && Trade==true) { if(CheckForOpen()!=Start) {Start=CheckForOpen(); cnt=1;} else {cnt+=1;} if(cnt==BarsForConfirm) { if(CheckForOpen()==0) { if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue)) {Print("BUY OK");} else {Print(GetLastError());} } if(CheckForOpen()==1) { if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red)) {Print("SELL OK");} else {Print(GetLastError());} } } newbar=Time[0]; //открытие ордера на цене открытия свечи } } //+------------------------------------------------------------------+ //| Calculate optimal lot size | //+------------------------------------------------------------------+ double Lots() // Расчет объема лота { double Lots; if(Lot>0) return(Lot); Lots=AccountFreeMargin()/9000; // раcчёт лота - свободная маржа/9000 => 100/9000=0.01 лота Lots=MathMin(15,MathMax(0.01,Lots)); if(Lots<0.1) Lots=NormalizeDouble(Lots,2); else { if(Lots<1) Lots=NormalizeDouble(Lots,1); else Lots=NormalizeDouble(Lots,0); } return(Lots); } //+------------------------------------------------------------------+ asdkika1 2021.11.09 17:58 #17349 MakarFX #:接住 非常感谢你。对不起,我没有直接回复--分心了。 试了一下,发现一个小问题...... 只有当我在USDX符号上运行时,它才会画出来。 它在欧元兑美元上没有显示(很明显,我正在改变Symbol_2)。 请看图片,可能更容易理解。 是否知道为什么会这样,如何解决? 附加的文件: EURUSD.JPG 260 kb USDX.JPG 318 kb [删除] 2021.11.09 18:51 #17350 你好。 对不起,我的问题很愚蠢...现在订单正常下达,然后错误129--错误的价格。越来越麻烦了......。帮帮我吧...(( int f = OrderSend(para_2,OP_BUY,0.)1,Ask_para_2,3,0,0,",0,Blue); if(f < 0){Alert("Error setting Buy Stop order: " , GetLastError(); } 1...172817291730173117321733173417351736173717381739174017411742...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
关键字是 "帮助"!
正如我以前写的那样:你最好马上告诉我,这个指标不能在这个论坛上最终确定!你的意思是说,这个指标是不可能的。
就这样......我就明白....,为什么会有这么多的矿渣倒出来??
当初是我写的。
你不能修复它,它是弯曲的......
这是我写的第一件事。你没有看到它,你没有意识到它,你认为它是胡说八道。
你认为我试图向你传达的事实是你在这里搅乱的垃圾--我没有被冒犯,我没有为了你而努力,别人会读到它,不会犯错。至于你,祝你的指标好运,如果你不喜欢这个论坛,就去找其他论坛。
我马上就写了。
没有办法修复它,它是歪的......它可以被修复,但它会重新绘制最外层的8个条形图。
关键字是 "帮助"!
我帮助了你--我写下了你需要做的事情--然后呢?)
你做了什么?
它可以被修复,但它会重新绘制最外面的8个柱子。
还有人说,信号可以立即应用于第9条,根本不会有重划的情况。
我已经帮助了你--我已经写了你需要做的事情--而且?)
你做了什么?
顺便说一下,你会得到(有一定的概率)套利,你需要事先同意他需要做的一切 - 你不能没有保留地做。
也有人说,你可以在第9条发出信号,根本不会有过高的价格......但这个人不明白......。
顺便说一下,你会得到套利,你必须事先谈判一切......他需要的东西不能没有保留。
这里一切都可以做,这个人同意重写,并发出8条信号,有什么问题呢?
ps. 分歧和分形也出现在过去,没什么大不了的。这里一切都可以做,当事人同意重新评级,信号8条回来,有什么问题?
他需要 "仅仅 "删除多余的箭头,就可以了。而如何做到这一点,通过重新评级或不评级,是你的问题...任何仲裁都是这样开始的 :)
这取决于你如何制定职权范围,但在任何情况下--我都不会冒这个险......。即使是成功的仲裁也是几个月的压力...
关键字是 "帮助"!
正如我以前写过的:你最好马上告诉我,这个指标不能在这个论坛上最终确定!你的意思是说,这个指标不能在这个论坛上最终确定。
就这样......我就明白....,为什么会有这么多的矿渣倒出来??
正是如此。如果你帮助做,就意味着你做,有人帮助你,你能做多少就做多少,能做多少就做多少。
如果你所做的只是要求,没有做其他事情,而有人为你做,那么这就是一个善意的局。
当我创建这个主题时,我的意思是帮助,而不是免费许愿。
亲爱的论坛用户和有经验的程序员,你们好我需要帮助来确定EA))。请告知如何在代码顾问中添加2个东西。
1.情况是这样的:我开了一个订单(第一笔),有TP和SL,有一定的手数(可能是0.01)。如果这个订单在获利时关闭 - 很好,没有任何变化。但是,如果这个(第一笔)订单在SL平仓,紧接着的下一笔订单(第二笔)会以2倍的手数(0.01*2=0.02)开仓。如果第二笔订单在止盈点平仓,那么下一笔订单(第三笔)将以普通手数开仓,即在前一笔(第一笔)在止盈点平仓后,下一笔订单(第二笔)只需要2倍的手数。如果第3笔订单连续第二次在SL中被关闭,手数将继续增加2倍,直到没有TP关闭。我希望我已经详细描述了需要添加的逻辑。
现在让我用一个例子来解释:假设我们有一个基本参数为T.p.+300,S.l.的订单,我们必须增加SL运动。- 500.价格向要求的方向移动,并从订单的开盘价中通过+100点。一旦价格从订单的开盘价达到+100,SL应该从基础的-500移动到+90。即:当价格达到与订单开盘价相比+100点时,我们通过设置S,L为+90点将订单转移到盈亏平衡点。之后,如果价格进一步向所需的方向移动并通过另一个+50点--S.L.被移动了50点=>它现在应该是在订单开盘价的+140点。即S.L.首先从它的基本位置移动到离订单开盘价+90点的位置,然后再移动,如果它通过了+50点(- 500 => + 90 => + 140 => + 190等)。如此这般,直到价格达到T.P。或当趋势反转并冲击S.L.时。
我希望我详细地描述了一切,我真的希望得到你的帮助,因为通过添加这些缺失的元素,专家顾问就可以准备好了))。如果你有任何问题,请问))))。我在下面粘贴了专家顾问的部分代码。
接住
你好。
对不起,我的问题很愚蠢...现在订单正常下达,然后错误129--错误的价格。越来越麻烦了......。帮帮我吧...((
int f = OrderSend(para_2,OP_BUY,0.)1,Ask_para_2,3,0,0,",0,Blue); if(f < 0){Alert("Error setting Buy Stop order: " , GetLastError(); }