Trailing Stop apartir do valor do RSI

 
jorgeemec:

Bom dia,


Senhores a questão é a seguinte: É possivel criar um trailing stop através do valor RSI da última candle?

Se sim qual o melhor método...


Obrigado em antecipado por todas as respostas...

J. Costa

Olá Jorge, sem dúvida, na prática é possível utilizar qualquer indicador para ser o gatilho do seu trailing stop, embora alguns sejam mais populares, como o clássico Parabolic SAR (Stop and Reverse).

Recomendo o artigo Como criar o seu próprio limite móvel como prata da casa para aprofundares teus estudos nesse assunto. 

 
figurelli:

Olá Jorge, sem dúvida, na prática é possível utilizar qualquer indicador para ser o gatilho do seu trailing stop, embora alguns sejam mais populares, como o clássico Parabolic SAR (Stop and Reverse).

Recomendo o artigo Como criar o seu próprio limite móvel como prata da casa para aprofundares teus estudos nesse assunto. 

Ok já dei uma vista de olhos mas nao cheguei lá,

Com a programação que tenho hoje, quando o valor do RSI atinge a seguinte condição, fecha a "short position" e abre uma "long position" no mesmo instante. O que eu pretendia era que apenas fechasse a "short position"  e nada mais... 


//--- checking of conditions to close short position
//--- signal line crossover of overbought/oversold levels (upward 30, upward 70)
  if((RSI(1)<50) && (RSI(2)>50)))
     result=40;

Qual é a melhor maneira de conseguir isto? Será através do trailing stop? ou apenas tenho que arranjar a programação que tenho.

É que nao estou a ver. Sinceramente.


J. Costa

//+------------------------------------------------------------------+
//| Checks conditions for entry and exit from market                 |
//| 1) Market entry (open long position, result=80)                  |
//| 2) Market exit (close short position, result=40)                 |
//+------------------------------------------------------------------+
int CBE_BE_RSI::LongCondition()
  {
   int result=0;
//--- idx can be used to determine Expert Advisor work mode
//--- idx=0 - in this case EA checks trade conditions at each tick
//--- idx=1 - in this case EA checks trade consition only at news bars
   int idx   =StartIndex();
//--- checking of conditions to open long position
//--- formation of Bullish Engulfing pattern and RSI<30
  if(CheckCandlestickPattern(CANDLE_PATTERN_BULLISH_ENGULFING) && (RSI(1)<40))
     result=80;
//--- checking of conditions to close short position
//--- signal line crossover of oerbought/oversold levels (upward 30, upward 70)
  if((RSI(1)<50) && (RSI(2)>50)))
     result=40;
//--- return result
   return(result);
  }

//+------------------------------------------------------------------+
//| Checks conditions for entry and exit from market                 |
//| 1) Market entry (open short position, result=80)                 |
//| 2) Market exit (close long position, result=40)                  |
//+------------------------------------------------------------------+
int CBE_BE_RSI::ShortCondition()
  {
   int result=0;
//--- idx can be used to determine Expert Advisor work mode
//--- idx=0 - in this case EA checks trade conditions at each tick
//--- idx=1 - in this case EA checks trade consition only at news bars
   int idx   =StartIndex();
//--- checking of conditions to open short position
//--- formation of Bearish Engulfing pattern and RSI>60
  if(CheckCandlestickPattern(CANDLE_PATTERN_BEARISH_ENGULFING) && (RSI(1)>60))
     result=80;
//--- checking of conditions to close long position
//--- signal line crossover of overbought/oversold levels (downward 70, downward 30)
  if((RSI(1)>50) && (RSI(2)<50)))
     result=40;
//--- return result
   return(result);
  }
 
jorgeemec:
Ok já dei uma vista de olhos mas nao cheguei lá,

Com a programação que tenho hoje, quando o valor do RSI atinge a seguinte condição, fecha a "short position" e abre uma "long position" no mesmo instante. O que eu pretendia era que apenas fechasse a "short position"  e nada mais... 


Qual é a melhor maneira de conseguir isto? Será através do trailing stop? ou apenas tenho que arranjar a programação que tenho.

É que nao estou a ver. Sinceramente.


J. Costa

Olá Jorge, me parece que você está confundindo fechar o trade quando atinge um objetivo específico com ajustar o seu StopLoss (SL) dinamicamente.

Nesse caso sugiro começar ajustando a programação que tens, como você mesmo refere, para definir exatamente o 'entry' e 'exit' do mercado, como essas rotinas que você apresenta buscam fazer, e, principalmente, qual o tratamento de execução de ordens que você faz com esses retornos (40, 80, etc), que não aparecem nesse código exposto. 

Razão: