//+------------------------------------------------------------------+ //| modify.mq4 | //| Copyright © 2004, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" //+------------------------------------------------------------------+ //| script "modify first market order" | //+------------------------------------------------------------------+ int start() { bool result; double take_profit,stop_loss,point; int cmd,total,error; //---- double sl=GlobalVariableGet("StopLoss"); double tp=GlobalVariableGet("TakeProfit"); if(sl==0 || tp==0) { Print("Error!"); return(0); } //---- total=OrdersTotal(); point=MarketInfo(Symbol(),MODE_POINT); //---- for(int i=0; i<total; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { //---- print selected order OrderPrint(); cmd=OrderType(); //---- buy or sell orders are considered if(cmd==OP_BUY || cmd==OP_SELL) { //---- modify first market order while(true) { if(cmd==OP_BUY) { stop_loss=Bid-sl*point; take_profit=Bid+tp*point; } else { stop_loss=Ask+sl*point; take_profit=Ask-tp*point; } result=OrderModify(OrderTicket(),0,stop_loss,take_profit,0,CLR_NONE); if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); } else error=0; if(error==135) RefreshRates(); else break; } //---- print modified order (it still selected after modify) OrderPrint(); break; } } else { Print( "Error when order select ", GetLastError()); break; } } //---- return(0); } //+------------------------------------------------------------------+
Sample
image not available
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Checks for the total of open orders
It can change open orders parameters, due to possible stepping strategy
Other Features: