//+------------------------------------------------------------------+
//| 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);
}
//+------------------------------------------------------------------+
Comments