Open a new position if the last one hit a Stop Loss

 

i'd like to open a new buy position if the last buy position hit a SL 

Here's my code buy it's not working !!

  #include <Trade\Trade.mqh>
  CTrade trade;
  
void OnTick()
  {
//---
     
    double ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
    double bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
 
     ulong ticketnum = HistoryOrderGetTicket(0);
     
     if (ticketnum > 0 )
     
     if ( ( HistoryDealGetInteger(ticketnum,DEAL_TYPE) == DEAL_TYPE_SELL)&& (HistoryDealGetInteger(ticketnum ,DEAL_REASON) == DEAL_REASON_SL) )
     {
     trade.Buy(0.10,ask ,NULL, ask - 100 * _Point , ask + 100 * _Point );
     }
     
  }
Reason: