Porównanie RSI z danego momentu z RSI w momencie zakupu

O jezykach programowania w platformach i nie tylko.
krzysiob
Bywalec
Bywalec
Posty: 8
Rejestracja: 19 maja 2017, 14:12

Porównanie RSI z danego momentu z RSI w momencie zakupu

Nieprzeczytany post autor: krzysiob »

Witam wszystkich.
Mam pytanie jak w tytule (porównanie RSI z danego momentu z RSI w momencie zakupu) - czy mogę to zrobić? Ewentualnie jak?
Pozdrawiam

TesterForex
Stały bywalec
Stały bywalec
Posty: 43
Rejestracja: 22 gru 2016, 12:45

Re: Porównanie RSI z danego momentu z RSI w momencie zakupu

Nieprzeczytany post autor: TesterForex »

Prosty przykład:

Kod: Zaznacz cały

datetime time_1=D'2017.03.21 12:00';
datetime time_2=D'2017.05.22 11:00';

int RSI_period = 14;

void OnStart()
 {
   int shift_1 = iBarShift(Symbol(),PERIOD_CURRENT, time_1);
   int shift_2 = iBarShift(Symbol(),PERIOD_CURRENT, time_2);
   
   double RSI_time_1 = iRSI(Symbol(), PERIOD_CURRENT, RSI_period, PRICE_CLOSE, shift_1);
   double RSI_time_2 = iRSI(Symbol(), PERIOD_CURRENT, RSI_period, PRICE_CLOSE, shift_2);
   
   printf("Wartosc RSI z 21 marca: %f \n Wartosc RSI z 22 maja: %f", RSI_time_1, RSI_time_2);
   
  }
Współautor interaktywnego kursu MQL4 dla serwisu fxwatch

krzysiob
Bywalec
Bywalec
Posty: 8
Rejestracja: 19 maja 2017, 14:12

Re: Porównanie RSI z danego momentu z RSI w momencie zakupu

Nieprzeczytany post autor: krzysiob »

Niestety jestem bardzo początkującym programistą, więc moje zabiegi w dręczeniu kodu nie dały rezultatu...
Ja chcę, żeby porównywać zawsze RSI dla pozycji otwartej (kupna lub sprzedaży) i aby w momencie jak RSI dojdzie do zadanej wartości wygenerować zamknięcie pozycji. Mam nadzieję że to wyjaśniłem zrozumiale. Pozdrawiam.

TesterForex
Stały bywalec
Stały bywalec
Posty: 43
Rejestracja: 22 gru 2016, 12:45

Re: Porównanie RSI z danego momentu z RSI w momencie zakupu

Nieprzeczytany post autor: TesterForex »

Hmm, to może taki robot, który zamyka wszystkie otwarte selle lub buye, gdy RSI przekroczy dany poziom?

Kod: Zaznacz cały

#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

extern double RSI_kupno;
extern double RSI_sprzedaz;
extern int RSI_okres = 14;

double currentRSI;
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
      for( int i=OrdersTotal(); i>=0; i-- ){
         if( !OrderSelect(i, SELECT_BY_POS) ) continue;
         
         currentRSI = iRSI(OrderSymbol(),PERIOD_CURRENT, RSI_okres, PRICE_CLOSE, 0);
         
         if( OrderType() == OP_BUY ){
            if (RSI_kupno > 0 && currentRSI > RSI_kupno) {
               OrderClose(OrderTicket(), OrderLots(), Bid, 50);
            }else if (RSI_kupno < 0 && currentRSI < MathAbs(RSI_kupno) ) {
               OrderClose(OrderTicket(), OrderLots(), Bid, 50);
            }
         }
         
         
          if( OrderType() == OP_SELL ){
            if (RSI_sprzedaz > 0 && currentRSI > RSI_sprzedaz) {
               OrderClose(OrderTicket(), OrderLots(), Ask, 50);
            }else if (RSI_sprzedaz < 0 && currentRSI < MathAbs(RSI_sprzedaz) ) {
               OrderClose(OrderTicket(), OrderLots(), Ask, 50);
            }
         }
      
      
      
      
      }
   
  }
//+------------------------------------------------------------------+

Jak się poda ujemne RSI to zamyka po spadku RSI poniżej danego poziomu (wartości bezwzględnej). Przy dodatnim RSI zamyka po wzroście powyżej danej wartości. Zobacz na demo czy o coś takiego chodzi.
Współautor interaktywnego kursu MQL4 dla serwisu fxwatch

krzysiob
Bywalec
Bywalec
Posty: 8
Rejestracja: 19 maja 2017, 14:12

Re: Porównanie RSI z danego momentu z RSI w momencie zakupu

Nieprzeczytany post autor: krzysiob »

Dzięki :)
Zadziałało

ODPOWIEDZ