Zamknięcie wszystkich pozycji o danej godzinie.

O jezykach programowania w platformach i nie tylko.
tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Zamknięcie wszystkich pozycji o danej godzinie.

Nieprzeczytany post autor: tmkk90 »

Witam, czy moglby ktos podpowiedziec co zrobic zeby wszytskie otwarte pozycje zamknely sie o danej godzinie (kazdego dnia) np. 23.55?

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

Nieprzeczytany post autor: Tig3r »

sprawdzasz czas na platformie i o danej godzinie wykonujesz funkcję zamykające wszystkie transakcje
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Nieprzeczytany post autor: tmkk90 »

a moglbys mi podac jak wyglada ta funcja?

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

Nieprzeczytany post autor: Tig3r »

na forum było wiele razy jak się postarasz to znajdziesz a duży wysiłku nie trzeba włożyć
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Nieprzeczytany post autor: tmkk90 »

Kod: Zaznacz cały

string CzasZamkniecia="23:55";

Kod: Zaznacz cały

if(TimeCurrent()>StrToTime(CzasZamkniecia)) ZamknijAll();

Kod: Zaznacz cały

void ZamknijAll()
{     
   int i;
   
   for (i = 0; i < OrdersTotal(); i++)
   {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      OrderClose(OrderTicket(), OrderLots(), Bid, 3, Orange);
   }
} 
Czy jak zapisze to tak to bedzie dobrze?

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

z tym zamykaniem to lepiej zamykac od ostatniego, niz od zerowego (bo w miedzy czasie sie przenumeruja). Kodu nie pisze, bo chyba wiesz o co chodzi.

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

Nieprzeczytany post autor: Tig3r »

Zmień tylko na to

Kod: Zaznacz cały

for (i = OrdersTotal()-1; i>=0; i--) 
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Nieprzeczytany post autor: tmkk90 »

dzieki wielkie ;)

Dodano po 9 godzinach 7 minutach:

to jeszcze mam jedno pytanie. Chcialbym zeby kazdego nowego dnia (czyli o godzinie 00:00) bralo wartosc zamknięcia poprzedniej swieczki (Close[1]) i ustawialo ta wartosc jako pewien poziom i chcialbym zeby ten poziom codziennie o 00:00 zmienial swoja wartosc.

probowalem tak:

Kod: Zaznacz cały


extern string time1Begin = "00:00";

if(TimeCurrent()==StrToTime(time1Begin))
{
poziom=Close[1];


ObjectCreate("myline1",OBJ_HLINE,0,0,0,0,0); // tutaj chcialem sobie narysowac te poziomy na wykresie, ale cos nie dziala :(
ObjectSet("myline1",OBJPROP_PRICE1,poziom); 
}


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

Nieprzeczytany post autor: Tig3r »

Ale po co?
Dajesz Close[1] i w każdej chwili masz czas zamknięcia z poprzedniego dnia - nie trzeba zabawy z godziną jeśli to ma być cena zamknięcia na D1.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Nieprzeczytany post autor: tmkk90 »

akurat teraz robie na TF 5-30 minutowym, ale przed chwila 'wpadlem' na pomysl zeby zrobic to przez

Kod: Zaznacz cały

iClose(NULL,Period_D1,1) // cena z zamkniecia z poprzedniego dnia
iClose(NULL,Period_D1,2) // cena zamkniecia 2 dni wstecz
tylko juz widze ze bede mail maly problem, ale to najpierw sprobuje napisac strategie do konca i sprecyzuje pozniej co to za problem (moze ktos pomoze ;))

ODPOWIEDZ