prościej

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
pavelstock
Bywalec
Bywalec
Posty: 8
Rejestracja: 04 lis 2009, 21:19

prościej

Nieprzeczytany post autor: pavelstock »

witam,
czy ktoś ma pomysł aby to uprościć.
chodzi mi o to że po każdym wywołaniu funkcji
start gdy spełniony jest poniższy warunek dot. RSI
cały czas po każdym ticku jest dukowany komunikat
"RSI większy od 70"
jak to uprościć, aby ten komunikat był drukowany tylko raz
przy pierwszym przekroczenie RSI wartości 70
pomimo że warunek może być przy kolejnych tickach spełniony.
Takie rozwiązanie z licznikiem który osiąga wartość 1 jest trochę kłopotliwe.

tzn. chcę powien ciąg instrukcji albo funkcję wyywołać tylko raz
pomimo kolejnych tickow, jak to prosto zrobić ?


Kod: Zaznacz cały

    
int licznik;
            
int start() 
{        
       double mojRSI=iRSI(NULL,0,14,PRICE_CLOSE,0);
       if (mojRSI>=70)
         {
         while(licznik==0)
                  {
                     Print("RSI wiekszy od 70"); 
                     licznik++;
                  }

         }
}
return;

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

Masz RETURN w złym miejscu. Co do kodu to chyba wystarczy tak:

Kod: Zaznacz cały

int licznik;
           
int start()
{      
       static double oldRSI;
       double mojRSI=iRSI(NULL,0,14,PRICE_CLOSE,0);
       if (oldRSI<70 && mojRSI>=70)
         {
         while(licznik==0)
                  {
                     Print("RSI wiekszy od 70");
                     licznik++;
                  }

         }
         oldRSI=mojRSI;
        return;
}

======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

ODPOWIEDZ