Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
SceptycznyProgramista
Stały bywalec
Stały bywalec
Posty: 37
Rejestracja: 02 kwie 2011, 23:51

Nieprzeczytany post autor: SceptycznyProgramista »

czy da się zrobić EA w MT4 otwierające i zamykające zlecenia na dwóch parach walutowych ?

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1522
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Oczywiście. W OrderSend() pierwszą w nawiasie ustalasz parę walutową.
Przykład :

Kod: Zaznacz cały

OrderSend("EURJPY", OP_BUY,lot,MarketInfo("EURJPY",MODE_ASK),1,0,0,"",magic,0,Blue);
Zwróć uwagę, że cenę otwarcia nie dajesz Bid lub Ask tylko po cenie danej pary walutowej.
Solą życia jest kasa.

Awatar użytkownika
SceptycznyProgramista
Stały bywalec
Stały bywalec
Posty: 37
Rejestracja: 02 kwie 2011, 23:51

Nieprzeczytany post autor: SceptycznyProgramista »

mhm dzięki, nie wiedziałem, że musi być z MArket INFO. Cały czas próbuje w ten sposób to rozgryźć, ale wciąż nie otwiera mi dwóch pozycji zaraz po sobie.

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1522
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Nie da się tak szybko to otworzyć. Myślę, że zawsze będzie to przynajmniej sekunda różnicy i to pod warunkim, że nie bedzie jesczze przy tym rekwota.
Solą życia jest kasa.

Awatar użytkownika
SceptycznyProgramista
Stały bywalec
Stały bywalec
Posty: 37
Rejestracja: 02 kwie 2011, 23:51

Nieprzeczytany post autor: SceptycznyProgramista »

a podczas bakctestingu można zobaczyć zlecenia wykonywane na innyej walucie niż ta wybrana? Oczywiście używając tego sposobu

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1522
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Niestety nie. Backtest obsługuje tylko jedna parę.
Solą życia jest kasa.

daniel.wro
Stały bywalec
Stały bywalec
Posty: 25
Rejestracja: 27 wrz 2011, 21:44

Nieprzeczytany post autor: daniel.wro »

Hej,

ja rowniez mam duze problemy z datami przy testowaniu EA..

w centrum historii sciagam dana pare w kazdym przedziale czasowym az do 1999.. w opcjach - wykresy/slupki ustawione na maxa jakies - 999999999.

i teraz jak daje "uzyj daty" np. 1.07.2011 to pojawia sie okienko z "czekam na aktualizacje".. innym razem po chwili uruchomi sie testowanie ale z data startu jakos koniec wrzesnia..
natomiast jak nie zaznacze - "uzyj daty" to leci normalnie od poczatku 1999r..

calkowiecie nie moge wyczuc determinizmu w testowaniu na platformie mt4..


pozdrawiam

Daniel

sonny
Gaduła
Gaduła
Posty: 277
Rejestracja: 22 lis 2009, 16:59

Nieprzeczytany post autor: sonny »

Witam

Co należy dopisać do kodu aby zamknąć wszystkie zlecenia oczekujące w aktywnym oknie instrumentu ?

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

Nieprzeczytany post autor: Tig3r »

sonny pisze:o należy dopisać do kodu aby zamknąć wszystkie zlecenia oczekujące w aktywnym oknie instrumentu ?
1. sprawdzasz jaki jest instrument na wykresie -> Symbol()
2. lecisz po wszystkich zleceniach wybierając je OrderSelec(...), jak znajdziesz z taką walutą OrderSymbol()==Symbol() i typem transakcji OrderType == => OP_BUYLIMIT, OP_BUYSTOP, OP_SELLSTOP, OP_SELLLIMIT
3. to kasujesz zlecenie (oczekujące się kasuje nie zamyka) => OrderDelete(OrderMagic())
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

sonny
Gaduła
Gaduła
Posty: 277
Rejestracja: 22 lis 2009, 16:59

Nieprzeczytany post autor: sonny »

Tig3r pisze:
sonny pisze:o należy dopisać do kodu aby zamknąć wszystkie zlecenia oczekujące w aktywnym oknie instrumentu ?
1. sprawdzasz jaki jest instrument na wykresie -> Symbol()
2. lecisz po wszystkich zleceniach wybierając je OrderSelec(...), jak znajdziesz z taką walutą OrderSymbol()==Symbol() i typem transakcji OrderType == => OP_BUYLIMIT, OP_BUYSTOP, OP_SELLSTOP, OP_SELLLIMIT
3. to kasujesz zlecenie (oczekujące się kasuje nie zamyka) => OrderDelete(OrderMagic())
ok wielkie dzięki wszystko działa
chodziło mi tylko o to OrderDelete(l_ticket_20);

ODPOWIEDZ