Dynamic Stop Loss

Author: Copyright © 2019 by Jt, FXFledgling Forex Study Group
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
Dynamic Stop Loss
ÿþ//+-------------------------------------------------------------------------+

//|                                                     DynamicStopLoss.mq4 |

//|                   Copyright © 2019 by Jt, FXFledgling Forex Study Group |

//|                            https://www.facebook.com/groups/FXFledgling/ |

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

#property copyright "Copyright © 2019 by Jt, FXFledgling Forex Study Group"

#property link      "https://www.facebook.com/groups/FXFledgling/"

#property version   "1.00"

#property strict

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



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

//| Parameter                                                               |

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

extern double StopLoss         = 800  ; //Stop Loss in Points



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

//| Variable                                                                |

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

datetime NewCandleTime=TimeCurrent();



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

//| Expert tick function                                                    |

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

void OnTick()

{

      if(IsNewCandle())

      {

            bool error;

            for(int i=0; i<OrdersTotal(); i++)

            {

                  if(OrderSelect(i,SELECT_BY_POS)  && OrderSymbol()==Symbol())

                  {

                        if(OrderType()==OP_BUY)

                        {

                              error=OrderModify(OrderTicket(),OrderOpenPrice(),

                              Bid-(StopLoss*Point),OrderTakeProfit(),0,White);

                              Sleep(500); 

                        }

                        else if(OrderType()==OP_SELL)

                        {

                              error=OrderModify(OrderTicket(),OrderOpenPrice(),

                              Ask+(StopLoss*Point),OrderTakeProfit(),0,White);

                              Sleep(500);

                        }

                  }

            }      

      }

}  



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

//| Check New Candle Bar                                                    |

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

bool IsNewCandle()

{   

      if(NewCandleTime==iTime(Symbol(),0,0)) return false;

      else

      {

            NewCandleTime=iTime(Symbol(),0,0);

            return true;

      }

} 

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