Watch how to download trading robots for free
Find us on Facebook!
Join our fan page
Interesting script?
So post a link to it -
let others appraise it
You liked the script? Try it in the MetaTrader 5 terminal
Experts

Stop Loss Take Profit - expert for MetaTrader 5

Views:
12052
Rating:
(30)
Published:
2017.11.03 11:43
Updated:
2018.02.28 10:46
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

If a trade is closed by Stop loss, the volume is doubled; if it's closed by Take profit the minimum volume is used. OnTradeTransaction is used to determine whether a trade was performed after the activation of Stop loss or Take profit.

The excellent enumeration ENUM_DEAL_REASON was added in build 1625:

ENUM_DEAL_REASON Reason description
... ...
DEAL_REASON_SL The operation was executed as a result of Stop Loss activation
DEAL_REASON_TP The operation was executed as a result of Take Profit activation
... ...

It can be checked in OnTradeTransaction.

In other words, it is a very simple and reliable way to determine that a trade resulted from Take Profit or Stop Loss.

At the moment (build 1626), this Expert Advisor can only be checked in a live test - by launching it on a chart or in a debug mode on real data (F5 in the MetaEditor editor). I used the following bypass maneuver:

In OnTradeTransaction, we determined whether Take Profit or Stop Loss triggered:

      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            if(deal_reason==DEAL_REASON_SL)
               ExtLot*=2.0;
            else if(deal_reason==DEAL_REASON_TP)
               ExtLot=m_symbol.LotsMin();
           }

Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/18755

AFStar AFStar

A semaphore signal indicator.

ZigZagOnParabolic_channel ZigZagOnParabolic_channel

A channel based on peaks and troughs of ZigZagOnParabolic.

ColorFisher_m11 ColorFisher_m11

Oscillator using inverse Fisher Transform.

iCCI iMA iCCI iMA

The iMA (Moving Average) indicator based on iCCI (Commodity Channel Index). It is an analogue of Previous Indicator's Data in the terminal.