Author: Copyright © 2017
Orders Execution
Checks for the total of open ordersIt can change open orders parameters, due to possible stepping strategy
0 Views
0 Downloads
0 Favorites
_SL Mouse
ÿþ//+------------------------------------------------------------------+

#property copyright "Copyright © 2017"

#property link      "http://cmillion.ru"

#property version   "2.00"

#property strict

//+------------------------------------------------------------------+

void OnStart()

  {

   int Ticket;

   double OOP,OL,value = NormalizeDouble(WindowPriceOnDropped(),Digits);

   string txt=StringConcatenate("!:@8?B 2KAB02;5=8O SL ",DoubleToStr(value,Digits)," AB0@B ",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));

   RefreshRates();

   double profit,Rrofit=0,TICKVALUE=MarketInfo(Symbol(),MODE_TICKVALUE);

   for(int i=OrdersTotal()-1;i>=0;i--)

   {

      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

      if(OrderSymbol()!=Symbol()) continue;

      

      Ticket = OrderTicket();

      OOP = OrderOpenPrice();

      OL = OrderLots();

      if(OrderType()==OP_BUY)     

      if(value<Ask) 

      {

         profit=(value-OOP)/Point*OL*TICKVALUE;

         if (OrderModify(Ticket,OrderOpenPrice(),value,OrderTakeProfit() ,OrderExpiration(),White))

            txt = StringConcatenate(txt,"\nKAB02;5= AB>?;>AA ",DoubleToStr(value,Digits)," BUY >@45@C ",Ticket," =0 ",DoubleToStr((value-OOP)/Point,2)," ?.  ",DoubleToStr(profit,2)," ",AccountCurrency());

         else txt = StringConcatenate(txt,"\nH81:0 ",GetLastError()," 2KAB02;5=8O AB>?;>AA BUY >@45@C ",Ticket);

         Rrofit+=profit;

      }

      

      if(OrderType()==OP_SELL)

      if(value>Bid) 

      {

         profit=(OOP-value)/Point*OL*TICKVALUE;

         if (OrderModify(Ticket,OrderOpenPrice(),value, OrderTakeProfit(),OrderExpiration(),White))   

            txt = StringConcatenate(txt,"\nKAB02;5= AB>?;>AA ",DoubleToStr(value,Digits)," SELL >@45@C ",Ticket," =0 ",DoubleToStr((OOP-value)/Point,2)," ?.  ",DoubleToStr(profit,2)," ",AccountCurrency());

         else txt = StringConcatenate(txt,"\nH81:0 ",GetLastError()," 2KAB02;5=8O AB>?;>AA SELL >@45@C ",Ticket);

         Rrofit+=profit;

      }

         

      if((OrderType()==OP_BUYSTOP) || (OrderType()==OP_BUYLIMIT))     

      if(value<OrderOpenPrice()) 

      {

         if (OrderModify(Ticket,OrderOpenPrice(),value, OrderTakeProfit(),OrderExpiration(),White)) 

            txt = StringConcatenate(txt,"\nKAB02;5= AB>?;>AA ",DoubleToStr(value,Digits)," >B;>65==><C BUY  >@45@C ",Ticket);

         else txt = StringConcatenate(txt,"\nH81:0 ",GetLastError()," 2KAB02;5=8O AB>?;>AA >B;>65==><C BUY >@45@C ",Ticket);

      }

       

      if((OrderType()==OP_SELLSTOP) || (OrderType()==OP_SELLLIMIT))

      if(value>OrderOpenPrice()) 

      {

         if (OrderModify(Ticket,OrderOpenPrice(),value, OrderTakeProfit(),OrderExpiration(),White))                

            txt = StringConcatenate(txt,"\nKAB02;5= AB>?;>AA ",DoubleToStr(value,Digits)," >B;>65==><C SELL >@45@C ",Ticket);

         else txt = StringConcatenate(txt,"\nH81:0 ",GetLastError()," 2KAB02;5=8O AB>?;>AA >B;>65==><C SELL >@45@C ",Ticket);

      }

      Comment(txt);

   }   

   Comment(txt,"\n@8 70:@KB88 ?> SL ?>;CG8< ?@81K;L = ",DoubleToStr(Rrofit,2)," ",AccountCurrency(),"\n!:@8?B 70:>=G8; A2>N @01>BC ",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));

   return;

  }

//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---