bleh
[mqlkit.git] / scripts / modify.mq4
blobb8d353aeecdf0d60b238f7423649ff5e2d65db0a
1 //+------------------------------------------------------------------+\r
2 //|                                                       modify.mq4 |\r
3 //|                      Copyright © 2004, MetaQuotes Software Corp. |\r
4 //|                                       http://www.metaquotes.net/ |\r
5 //+------------------------------------------------------------------+\r
6 #property copyright "Copyright © 2004, MetaQuotes Software Corp."\r
7 #property link      "http://www.metaquotes.net/"\r
8 #property show_confirm\r
9 \r
10 //+------------------------------------------------------------------+\r
11 //| script "modify first market order"                               |\r
12 //+------------------------------------------------------------------+\r
13 int start()\r
14   {\r
15    bool   result;\r
16    double stop_loss,point;\r
17    int    cmd,total,error;\r
18 //----\r
19    total=OrdersTotal();\r
20    point=MarketInfo(Symbol(),MODE_POINT);\r
21 //----\r
22    for(int i=0; i<total; i++)\r
23      {\r
24       if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))\r
25         {\r
26          //---- print selected order\r
27          OrderPrint();\r
28          cmd=OrderType();\r
29          //---- buy or sell orders are considered\r
30          if(cmd==OP_BUY || cmd==OP_SELL)\r
31            {\r
32             //---- modify first market order\r
33             while(true)\r
34               {\r
35                if(cmd==OP_BUY) stop_loss=Bid-20*point;\r
36                else            stop_loss=Ask+20*point;\r
37                result=OrderModify(OrderTicket(),0,stop_loss,0,0,CLR_NONE);\r
38                if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); }\r
39                else error=0;\r
40                if(error==135) RefreshRates();\r
41                else break;\r
42               }\r
43              //---- print modified order (it still selected after modify)\r
44              OrderPrint();\r
45              break;\r
46            }\r
47         }\r
48       else { Print( "Error when order select ", GetLastError()); break; }\r
49      }\r
50 //----\r
51    return(0);\r
52   }\r
53 //+------------------------------------------------------------------+