TrailingStop_v1

Author: Jo�o Barbosa
TrailingStop_v1
Price Data Components
Series array that contains open time of each bar
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
TrailingStop_v1
//+------------------------------------------------------------------+
//|                                      Universal Trailing Stop.mq4 |
//|                                                     Joao Barbosa |
//|                                        obarbosa2001@yahoo.com.br |
//+------------------------------------------------------------------+
#property copyright "João Barbosa"
#property link      "obarbosa2001@yahoo.com.br"

extern int TrailingStop = 20; // Valor do Trailing Stop
       int Tentativas = 10; // número de tentativas para executar a ordem
       int B=0; // Contagem de acionamentos = +- quantidade de pips garantidos
       // isso indica o quanto esse EA rendeu em pips em cada seçao para quem usa

int init()
  {Print("Garante Lucro Universal iniciado (",TimeToStr(CurTime(),TIME_DATE)," - ",TimeToStr(CurTime(),TIME_SECONDS),") ");
   start();return(0);}
int deinit()
  {Print("Garante Lucro Universal finalizado (",TimeToStr(CurTime(),TIME_DATE)," - ",TimeToStr(CurTime(),TIME_SECONDS),") ");return(0);}
int start()
  {Comment("Universal Trailing Stop(",TimeToStr(CurTime(),TIME_DATE)," - ",TimeToStr(CurTime(),TIME_SECONDS),") ");
   for(int J = OrdersTotal()-1; J >= 0; J--)
    {OrderSelect(J, SELECT_BY_POS, MODE_TRADES);
     double OrderPoint=MarketInfo(OrderSymbol(),MODE_POINT);
     double SLMin=MarketInfo(OrderSymbol(),MODE_STOPLEVEL);
     int TS=TrailingStop;
     int Mudou=Tentativas;
     if (TrailingStop<SLMin) TS=SLMin; 
     if ( (TrailingStop>0) && (OrderProfit()>0.0) && 
          (MathAbs(OrderStopLoss()-OrderClosePrice())/OrderPoint>TS) )
             { if (OrderType()==OP_SELL)
                { Print("Modificando ordem ",OrderSymbol()," SL: ", OrderClosePrice()+TS*OrderPoint);
                  while (Mudou>0)
                    { Mudou=Mudou-1;
                      if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()+TS*OrderPoint,OrderTakeProfit(),0,Red)==0) Mudou=0;
                      else Sleep(1000);
                    }
                  B=B+1;}
               else if (OrderType()==OP_BUY)
                { Print("Modificando ordem ",OrderSymbol()," SL: ", OrderClosePrice()-TS*OrderPoint);
                  while (Mudou>0)
                    { Mudou=Mudou-1;
                      if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()-TS*OrderPoint,OrderTakeProfit(),0,Red)==0) Mudou=0;
                      else Sleep(1000);
                    }
                  B=B+1;}
             }
    }
   return(0);
  }

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 ---