Proszę o pomoc -zmiana w kodzie chodzi o godziny handlu

O jezykach programowania w platformach i nie tylko.
marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Proszę o pomoc -zmiana w kodzie chodzi o godziny handlu

Nieprzeczytany post autor: marcin76 »

Witam serdecznie proszę was o pomoc jak to zmienić , kombinowałem na kilka sposobów ale nic z tego nie wyszło , mam wycinek kodu z EA z godzinami handlu i działa on bez problemu w tej wersji tzn wpisuje się godzine otwarcia np 7 i godzinę zamknięcia np 7 i otwiera pozycje przez 24 godziny od 7 rano do 7 rano następnego dnia i to działa , ale chciałem to trochę zmodyfikować , chciał bym dodać jeszcze 2 możliwości wyboru godzin otwarcia i zamknięcia czyli razem ma ich być 3 do wyboru np EA działa od 7 do 9 potem włacza się 12 do 14 a potem np 19 do 23 , może ktoś trochę zmienić ten kod tak aby to tak działało

Bardzo dziękuję za pomoc

kod orginalny

w menu do wyboru jest na górze :

extern string S1=" Godziny Handlu ";
extern int Open_Hour=7;
extern int Close_Hour=9;
extern bool TradeOnFriday=TRUE;
extern int Friday_Hour=22;



//część kodu odp za godziny handlu

bool TradeTime(int MagicNumber)

{

bool Trade = true;
if (!TradeOnFriday && DayOfWeek() == 5) Trade = FALSE;
if (TradeOnFriday && DayOfWeek() == 5 && TimeHour(TimeCurrent()) > Friday_Hour) Trade = FALSE;
if (Open_Hour==24)Open_Hour=0;
if (Close_Hour==24)Close_Hour=0;
if (Open_Hour < Close_Hour && TimeHour(TimeCurrent()) < Open_Hour || TimeHour(TimeCurrent()) >= Close_Hour) Trade = FALSE;
if (Open_Hour > Close_Hour && (TimeHour(TimeCurrent()) < Open_Hour && TimeHour(TimeCurrent()) >= Close_Hour)) Trade = FALSE;
//if (Month()==12 && Day()>3) Trade = FALSE;
//if (Month()==1 && Day()<5) Trade = FALSE;
return(Trade);
}
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
investsoft.pl
Stały bywalec
Stały bywalec
Posty: 35
Rejestracja: 30 sie 2013, 11:38

Re: Proszę o pomoc -zmiana w kodzie chodzi o godziny handlu

Nieprzeczytany post autor: investsoft.pl »

Dodałem jeszcze 2 dodatkowe przedziały czasowe:

Kod: Zaznacz cały

extern string S1=" Godziny Handlu ";
extern int Open_Hour1=7;
extern int Close_Hour1=9;
extern int Open_Hour2=12;
extern int Close_Hour2=14;
extern int Open_Hour3=19;
extern int Close_Hour3=23;
extern bool TradeOnFriday=TRUE;
extern int Friday_Hour=22;

Kod: Zaznacz cały

bool TradeTime(int MagicNumber)

{

 bool Trade = true;
 if (!TradeOnFriday && DayOfWeek() == 5) Trade = FALSE;
 if (TradeOnFriday && DayOfWeek() == 5 && TimeHour(TimeCurrent()) > Friday_Hour) Trade = FALSE; 
 if (Open_Hour1==24)Open_Hour1=0;
 if (Close_Hour1==24)Close_Hour1=0; 
 if (Open_Hour2==24)Open_Hour2=0;
 if (Close_Hour2==24)Close_Hour2=0;
 if (Open_Hour3==24)Open_Hour3=0;
 if (Close_Hour3==24)Close_Hour3=0;
 if (((Open_Hour1 < Close_Hour1 && TimeHour(TimeCurrent()) < Open_Hour1 || TimeHour(TimeCurrent()) >= Close_Hour1) || (Open_Hour1 > Close_Hour1 && (TimeHour(TimeCurrent()) < Open_Hour1 && TimeHour(TimeCurrent()) >= Close_Hour1))) && ((Open_Hour2 < Close_Hour2 && TimeHour(TimeCurrent()) < Open_Hour2 || TimeHour(TimeCurrent()) >= Close_Hour2) || (Open_Hour2 > Close_Hour2 && (TimeHour(TimeCurrent()) < Open_Hour2 && TimeHour(TimeCurrent()) >= Close_Hour2))) && ((Open_Hour3 < Close_Hour3 && TimeHour(TimeCurrent()) < Open_Hour3 || TimeHour(TimeCurrent()) >= Close_Hour3) || (Open_Hour3 > Close_Hour3 && (TimeHour(TimeCurrent()) < Open_Hour3 && TimeHour(TimeCurrent()) >= Close_Hour3)))) Trade = FALSE; 
 //if (Month()==12 && Day()>3) Trade = FALSE; 
 //if (Month()==1 && Day()<5) Trade = FALSE; 
 return(Trade);
}

marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Re: Proszę o pomoc -zmiana w kodzie chodzi o godziny handlu

Nieprzeczytany post autor: marcin76 »

witam serdecznie - wielkie dzięki sprawdzałem działa bez problemu - pozdrawiam

ODPOWIEDZ