Praca programu na różnych parach oraz interwałach

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Praca programu na różnych parach oraz interwałach

Nieprzeczytany post autor: mikolaj2 »

Witam serdecznie wszystkich forumowiczów! Jako nowicjusz mam pytanie do osób piszących opr. w języku MQL4 - czy istnieje możliwość, aby uruchomiana strategia (program) odnosił się nie tylko do jednej pary walutowej oraz interwału na którym jest uruchomiony, ale stale monitorował sytuację na innych parach oraz interwałach celem wyszukania np. określonej formacji? Z góry dziękuję za odp.

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

tak :D, wystaczy, ze wkodzie niemasz przypisanej odgurnie pary walutowej, to otwierasz interesujace Cie okna i włanczasz na nich oddzielnie EA.

Awatar użytkownika
xpep
Pasjonat
Pasjonat
Posty: 844
Rejestracja: 02 gru 2007, 11:50

Nieprzeczytany post autor: xpep »

zdajsiersciuch ale po co tak?

bez problemu ea odpalone na dowolnej parze moze sprawdzac sytuacje na innych parach a nawet otwierac pozycje

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

Nieprzeczytany post autor: Tig3r »

praktycznie każda funkcja wymaga podania i symbolu i period - więc jest do tego przystosowana aby działać na dowolnej parze i TF
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

bialy
Stały bywalec
Stały bywalec
Posty: 54
Rejestracja: 16 maja 2011, 20:41

przyklady

Nieprzeczytany post autor: bialy »

to chyba wiadomo o co chodzi

Kod: Zaznacz cały

MarketInfo("EURUSD",MODE_ASK);
MarketInfo("EURUSD",MODE_BID);
i przykladowe zlecenie na EURGBP w automacie na oknie EURUSD

Kod: Zaznacz cały

OrderSend("EURGBP",OP_BUY,0.1,MarketInfo("EURGBP",MODE_ASK),0,MarketInfo("EURGBP",MODE_ASK)-15*MarketInfo("EURGBP",MODE_POINT),MarketInfo("EURGBP",MODE_ASK)+30*MarketInfo("EURGBP",MODE_POINT),"",0,0,Lime);
zlecenie buy z TP=30pips SL=15pips
PS. nie sprawdzalem czy zlecenie wchodzi ale dane pobieramy komenda double MarketInfo( string symbol, int type)
Returns various data about securities listed in the Market Watch window. A part of information about the current security is stored in predefined variables.
Ostatnio zmieniony 16 maja 2011, 22:38 przez bialy, łącznie zmieniany 1 raz.

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

Nieprzeczytany post autor: Tig3r »

bialy pisze:i przykladowe zlecenie na EURGBP w automacie na oknie EURUSD
Kod:
OrderSend("EURGBP",OP_BUY,0.1,MarketInfo("EURUSD",MODE_ASK),0,MarketInfo("EURUSD",MODE_ASK)-15*MarketInfo("EURUSD",MODE_POINT),MarketInfo("EURUSD",MODE_ASK)+30*MarketInfo("EURUSD",MODE_POINT),"",0,0,Lime);
Bzdura. Jeśli składasz zlecenie na GBPUSD to musisz z niej pobrać ceny a nie z EURUSD. W tym co napisałeś trzeba zamienić wszystkie EURUSD na GBPUSD
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

bialy
Stały bywalec
Stały bywalec
Posty: 54
Rejestracja: 16 maja 2011, 20:41

moj blad

Nieprzeczytany post autor: bialy »

sry, troche wypilem i pomyliem bo poprawnosc sprawdzalem w metaeditorze a ten jesli widzi string w MarketInfo("GBPUSD",MODE_ASK) to nie zglasza bledu /moj blad/
jeszcze raz kod

Kod: Zaznacz cały

OrderSend("EURGBP",OP_BUY,0.1,MarketInfo("EURGBP",MODE_ASK),0,MarketInfo("EURGBP",MODE_ASK)-15*MarketInfo("EURGBP",MODE_POINT),MarketInfo("EURGBP",MODE_ASK)-30*MarketInfo("EURGBP",MODE_POINT),"",0,0,Lime);
PS wczesniejsze tez poprawilem[/code]

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

Nieprzeczytany post autor: Tig3r »

bialy Tak by było chyba czytelniej:

Kod: Zaznacz cały

string symbol="GBPUSD";
double ask=MarketInfo(symbol,MODE_ASK);
double point=MarketInfo(symbol,MODE_POINT);
int wynik=OrderSend(symbol,OP_BUY,0.1,ask,0,ask-15*point,ask-30*point,"",0,0,Lime);
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

bialy
Stały bywalec
Stały bywalec
Posty: 54
Rejestracja: 16 maja 2011, 20:41

na pewno

Nieprzeczytany post autor: bialy »

na pewno czytelniej i sam tak robie, ale czasami lepiej podac to w taki sposob.
moze troche zmotywowac pytajacego do zastosowania dodatkowej zmiennej, moze troche uproscic kod i nie deklarowac kolejnych zmiennych i umiescic co sie da w jednym poleceniu bo np nigdy sie nie zmieniaja /do MarketInfo() uzywam np tablicy string symbols[7] = ["EURGBP","GBPJPY","GBPAUD","GBPNZD","GBPCHF","GBPCAD","GBPUSD"}; + petla
na pewno byloby prosciej, ale to zalezy od sytuacji
PS moze to moje zboczenie ze staram sie upraszczac ale moje wskazniki na kilku parach walutowych na starcie odczytuja dane z kilku TF a to zjada RAM maksymalnie

ODPOWIEDZ