需要稍作调整 - 页 5 123456789101112...18 新评论 Сергей Дыбленко 2020.06.16 15:42 #41 谢谢,但问题是,我用这些按钮把它设置成我想要的方式。 这个人可以去我想去的地方! Alexsandr San 2020.06.16 15:46 #42 事实证明,删除未决订单的代码并不复杂。 //+------------------------------------------------------------------+ //| OrderDelete.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- for(int i=0; i<OrdersTotal(); i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol()) { if(OrderType()>0) { if(OrderDelete(OrderTicket())) i++; } } } } } //+------------------------------------------------------------------+ Сергей Дыбленко 2020.06.16 15:47 #43 我今天做了一些事情,止损被设置了,但在SEL.....中没有设置BUY......,我仍然找不到一个可以设置利润的错误。 我需要利润!!这就是我关心的全部。 //+------------------------------------------------------------------+ //| InstantExecution.mq4 | //| Copyright 2015, @traderconfident | //| https://confident-trader.blogspot.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, @traderconfident" #property link "https://confident-trader.blogspot.com" #property version "1.0" #property strict //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ extern string _Orders_=" --- Set Order ---"; extern double Lots=0.1; extern int StopLoss=60; extern int TakeProfit=13; extern int TrailingStart= 65; extern int TrailingStop = 65; extern int TrailingStep = 35; extern int MaxOrderAtOnceTime=1; extern int Slippage=0; extern int Magic=90910; double _sl,_tp,_pip; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int OnInit() { _pip=Point; if(Digits==3 || Digits==5) _pip=10*Point; //--- ObjectCreate(0,"CloseButton",OBJ_BUTTON,0,0,0); ObjectSetInteger(0,"CloseButton",OBJPROP_XDISTANCE,10); ObjectSetInteger(0,"CloseButton",OBJPROP_YDISTANCE,15); ObjectSetInteger(0,"CloseButton",OBJPROP_XSIZE,100); ObjectSetInteger(0,"CloseButton",OBJPROP_YSIZE,25); ObjectSetString(0,"CloseButton",OBJPROP_TEXT,"Close Orders"); ObjectSetInteger(0,"CloseButton",OBJPROP_COLOR,White); ObjectSetInteger(0,"CloseButton",OBJPROP_BGCOLOR,Red); ObjectSetInteger(0,"CloseButton",OBJPROP_BORDER_COLOR,Red); ObjectSetInteger(0,"CloseButton",OBJPROP_BORDER_TYPE,BORDER_FLAT); ObjectSetInteger(0,"CloseButton",OBJPROP_HIDDEN,true); ObjectSetInteger(0,"CloseButton",OBJPROP_STATE,false); ObjectSetInteger(0,"CloseButton",OBJPROP_FONTSIZE,12); //Exit ObjectCreate(0,"Exit",OBJ_BUTTON,0,0,0); ObjectSetInteger(0,"Exit",OBJPROP_XDISTANCE,120); ObjectSetInteger(0,"Exit",OBJPROP_YDISTANCE,15); ObjectSetInteger(0,"Exit",OBJPROP_XSIZE,80); ObjectSetInteger(0,"Exit",OBJPROP_YSIZE,25); ObjectSetString(0,"Exit",OBJPROP_TEXT,"Exit"); ObjectSetInteger(0,"Exit",OBJPROP_COLOR,White); ObjectSetInteger(0,"Exit",OBJPROP_BGCOLOR,Green); ObjectSetInteger(0,"Exit",OBJPROP_BORDER_COLOR,Green); ObjectSetInteger(0,"Exit",OBJPROP_BORDER_TYPE,BORDER_FLAT); ObjectSetInteger(0,"Exit",OBJPROP_HIDDEN,true); ObjectSetInteger(0,"Exit",OBJPROP_STATE,false); ObjectSetInteger(0,"Exit",OBJPROP_FONTSIZE,12); //Buy ObjectCreate(0,"Buy",OBJ_BUTTON,0,0,0); ObjectSetInteger(0,"Buy",OBJPROP_XDISTANCE,210); ObjectSetInteger(0,"Buy",OBJPROP_YDISTANCE,15); ObjectSetInteger(0,"Buy",OBJPROP_XSIZE,50); ObjectSetInteger(0,"Buy",OBJPROP_YSIZE,25); ObjectSetString(0,"Buy",OBJPROP_TEXT,"Buy"); ObjectSetInteger(0,"Buy",OBJPROP_COLOR,White); ObjectSetInteger(0,"Buy",OBJPROP_BGCOLOR,Blue); ObjectSetInteger(0,"Buy",OBJPROP_BORDER_COLOR,Blue); ObjectSetInteger(0,"Buy",OBJPROP_BORDER_TYPE,BORDER_FLAT); ObjectSetInteger(0,"Buy",OBJPROP_HIDDEN,true); ObjectSetInteger(0,"Buy",OBJPROP_STATE,false); ObjectSetInteger(0,"Buy",OBJPROP_FONTSIZE,12); //Sell ObjectCreate(0,"Sell",OBJ_BUTTON,0,0,0); ObjectSetInteger(0,"Sell",OBJPROP_XDISTANCE,270); ObjectSetInteger(0,"Sell",OBJPROP_YDISTANCE,15); ObjectSetInteger(0,"Sell",OBJPROP_XSIZE,50); ObjectSetInteger(0,"Sell",OBJPROP_YSIZE,25); ObjectSetString(0,"Sell",OBJPROP_TEXT,"Sell"); ObjectSetInteger(0,"Sell",OBJPROP_COLOR,White); ObjectSetInteger(0,"Sell",OBJPROP_BGCOLOR,Gray); ObjectSetInteger(0,"Sell",OBJPROP_BORDER_COLOR,Gray); ObjectSetInteger(0,"Sell",OBJPROP_BORDER_TYPE,BORDER_FLAT); ObjectSetInteger(0,"Sell",OBJPROP_HIDDEN,true); ObjectSetInteger(0,"Sell",OBJPROP_STATE,false); ObjectSetInteger(0,"Sell",OBJPROP_FONTSIZE,12); //Closed at Profit ObjectCreate(0,"CloseAtProfit",OBJ_BUTTON,0,0,0); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_XDISTANCE,330); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_YDISTANCE,15); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_XSIZE,100); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_YSIZE,25); ObjectSetString(0,"CloseAtProfit",OBJPROP_TEXT,"Close Profit"); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_COLOR,White); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BGCOLOR,Green); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BORDER_COLOR,Green); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_BORDER_TYPE,BORDER_FLAT); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_HIDDEN,true); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_STATE,false); ObjectSetInteger(0,"CloseAtProfit",OBJPROP_FONTSIZE,12); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ int start() { if(TrailingStart>0) Trailing(); return(0); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { int _ticket=0; if(sparam=="CloseButton") // Close button has been pressed { int total=OrdersTotal(); int i = 0; for(i = total; i >=0; i--) { if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==Symbol()) { //OrderSelect(i,SELECT_BY_POS); if(OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL)) { _ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),5); _ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),5); } } } if(_ticket>0) { ObjectSetInteger(0,"CloseButton",OBJPROP_STATE,false); ObjectsDeleteAll(); ExpertRemove(); } } if(sparam=="Exit") { ObjectSetInteger(0,"Exit",OBJPROP_STATE,false); ObjectsDeleteAll(); ExpertRemove(); } if(sparam=="Buy") { ObjectSetInteger(0,"Buy",OBJPROP_STATE,false); _ticket=Order("BUY"); } if(sparam=="Sell") { ObjectSetInteger(0,"Sell",OBJPROP_STATE,false); _ticket=Order("SELL"); } if(sparam=="CloseAtProfit") { ObjectSetInteger(0,"CloseAtProfit",OBJPROP_STATE,false); CloseAtProfit(); } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void Trailing() { int ticket=0; for(int cnt=0;cnt<OrdersTotal();cnt++) { ticket=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { if(OrderType()==OP_SELL) { if((TakeProfit>0 && OrderOpenPrice()>Bid+TakeProfit*_pip) || (StopLoss>0 && OrderOpenPrice()>Ask+StopLoss*_pip)) { ticket=OrderClose(OrderTicket(),OrderLots(),Bid,0,Violet); } if(TrailingStart>0) { if(OrderStopLoss()==0) { if(Bid+OrderOpenPrice()>TrailingStart*_pip) { ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+TrailingStop*_pip,OrderTakeProfit(),0,Gray); } }else{ if(Bid-OrderStopLoss()>Bid+TrailingStep*_pip) { ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+TrailingStop*_pip,OrderTakeProfit(),0,Gray); } } } } if(OrderType()==OP_BUY) { if((TakeProfit>0 && OrderOpenPrice()>Ask+TakeProfit*_pip) || (StopLoss>0 && OrderOpenPrice()>Bid+StopLoss*_pip)) { ticket=OrderClose(OrderTicket(),OrderLots(),Ask,0,Violet); } if(TrailingStart>0) { if(OrderStopLoss()==0) { if(Ask+OrderOpenPrice()>TrailingStart*_pip) { ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(),0,Gray); } }else{ if(Ask-OrderStopLoss()>Ask+TrailingStep*_pip) { ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(),0,Gray); } } } } } } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CloseAtProfit() { int ticket=0; RefreshRates(); for(int cnt=0;cnt<OrdersTotal();cnt++) { ticket=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && Bid>OrderOpenPrice()) { ticket=OrderClose(OrderTicket(),OrderLots(),Bid,0,Violet); } if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderOpenPrice()>Ask) { ticket=OrderClose(OrderTicket(),OrderLots(),Ask,0,Violet); } } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int Order(string _Order) { int i,ticket=0; _sl = 0.0; _tp = 0.0; if(_Order=="BUY") { for(i=0; i<MaxOrderAtOnceTime; i++) { ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask,Slippage,_sl,_tp,"",Magic,0,Blue); } }else { for(i=0; i<MaxOrderAtOnceTime; i++) { ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid,Slippage,_sl,_tp,"",Magic,0,Red); } } return(ticket); } //+------------------------------------------------------------------+ Alexsandr San 2020.06.16 15:50 #44 Сергей Дыбленко:我今天做了一些事情,止损被设置了,但在SEL.....中没有设置BUY......,我仍然找不到一个可以设置利润的错误。我需要利润!这是我所关心的全部。 我正在寻找一个更好的--为了让所有的东西都能在测试器中工作 ------------------- 我已经设置了挂单。 ----------------- 删除 Сергей Дыбленко 2020.06.16 15:54 #45 但由于某些原因,止损 被设置为650或750的高位。 我试着把它减到30,但不起作用。 Сергей Дыбленко 2020.06.16 15:55 #46 Alexsandr San:我正在寻找更酷的东西--为了测试器的工作。 我不需要测试者!.....,最低限度是一个演示,而冷却器是真实的。 最小的是用于演示,更陡峭的是用于真实的! Alexsandr San 2020.06.16 16:00 #47 Сергей Дыбленко:我不需要测试者!.....,最低限度是一个演示,而冷却器是真的。我会借钱,直接到真正的账户上! 你不能确定在演示中会有一个好的结果! 你可以使用演示或真实的,也可以使用测试器。 Сергей Дыбленко 2020.06.16 16:04 #48 对我来说,最主要的是要看到我想要的结果!"。 Alexsandr San 2020.06.16 16:05 #49 我只需要完成止损 和获利订单。 Сергей Дыбленко 2020.06.16 16:05 #50 我的按钮在测试器上不起作用!所以这些按钮是我在演示中测试的。 123456789101112...18 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢,但问题是,我用这些按钮把它设置成我想要的方式。
这个人可以去我想去的地方!
事实证明,删除未决订单的代码并不复杂。
我今天做了一些事情,止损被设置了,但在SEL.....中没有设置BUY......,我仍然找不到一个可以设置利润的错误。
我需要利润!!这就是我关心的全部。
我今天做了一些事情,止损被设置了,但在SEL.....中没有设置BUY......,我仍然找不到一个可以设置利润的错误。
我需要利润!这是我所关心的全部。
我正在寻找一个更好的--为了让所有的东西都能在测试器中工作
-------------------
我已经设置了挂单。
-----------------
删除
但由于某些原因,止损 被设置为650或750的高位。
我试着把它减到30,但不起作用。
我正在寻找更酷的东西--为了测试器的工作。
我不需要测试者!.....,最低限度是一个演示,而冷却器是真实的。
最小的是用于演示,更陡峭的是用于真实的!
我不需要测试者!.....,最低限度是一个演示,而冷却器是真的。
我会借钱,直接到真正的账户上!
你不能确定在演示中会有一个好的结果!
你可以使用演示或真实的,也可以使用测试器。