Forex programozás › Fórum › Egyéb › Számlák közti különbség
-
SzerzőBejegyzés
-
Szia!
Érdekes hibát találtam. Több számlát is futtatok egy Windows 7-es VPS-en egy saját robottal. Minden számlát külön felhasználói fiókban kezelek, de accountonként nem telepítettem új MetaTrader-t, hisz az egyéni adatok egyébként is a felhasználó Roaming mappájában vannak.
A legújabb számla, amit néhány napja nyitottam valamiért másképp működik mint a többi, de a bróker szerint semmi különbség nincs.
Így néz ki egy korábbi számla jobbklikkes menüje:
https://app.box.com/s/11przn3ob3a4zlg2vmbnÍgy néz ki az új számla jobbklikkes menüje:
https://app.box.com/s/4sbnrpdizq3j4f3znhqcMár ebből világosan látszik, hogy van valami indokolatlannak tűnő eltérés, de nem tudok rájönni, hogy mi a probléma. Például kézzel nem tudnék kereskedni jobbklikkes menüből, mert nincs ott a Kereskedés menüpont. Hogyan lehetséges ez?
Egyetlen MetaTrader van feltelepítve, amit minden user használ:
Version: 4.0.0 Build 745
(24 October 2014)A nagyobbik baj viszont ez:
https://app.box.com/s/9wmj30fp7m7uvlugr36z
(Ne tévesszen meg, hogy amikor a screenshotot csináltam épp ki volt nyomva az automated trading – mosolygós fejjel is ugyanezt a hibaüzenetet kapom.)Valamiért nem fogadja el az EA ordereit (amit a screenshoton látsz, azokat kézzel raktam be próbaképpen), és nem tudok rájönni hol döccen, ha elvileg ugyanaz a MetaTrader és ugyanaz a számlatípus.
Köszönöm a segítséget!
Szerintem a 2. metába az investor jelszóval jelentkeztél be és ott tiltottak a kereskedési műveletek. Persze ennek ellentmond, hogy kézzel tudtál berakni ordereket.
Majd jelezz vissza, hogy ez volt-e a gond!
GG
Sokkal prózaibb az ok: az egyik instrumentum EURUSD, míg a másik EURUSD. (ponttal a végén). A sima EURUSD instrumentum nem kereskedhető, expertet sem futtathatsz rajta. Ennyi.
Az expert azért nem tud kereskedni, mert magán az instrumentumon nem lehet kötni egyáltalán.
Válaszd ki a helyes instrumentumot, ami gyakorlatilag mindkét esetben az EURUSD. nevű.
Köszönöm, tényleg ez volt a baj első körben, egy if-fel validáltam ezt a „.” dolgot.
Elkezdtem viszont más hibaüzenetet kapni.
Az alábbi teszt script eredménye:
ticket: -1
lasterror: 129void start(){ string symbol=Symbol(); if(StringLen(symbol)==6) symbol+="."; string minlot=MarketInfo(symbol,MODE_MINLOT); int magic=0; RefreshRates(); int ticket=OrderSend(symbol,OP_BUY,StrToDouble(minlot),Ask,3,NULL,NULL,NULL,magic,NULL,"LimeGreen"); Alert(ticket+" || " + GetLastError()); }
Hogy lehet invalid price (129), amikor a MarketInfo-t használja az Ask? Próbáltam így is:
int ticket=OrderSend(symbol,OP_BUY,0.1,NormalizeDouble(Ask,Digits),3,NULL,NULL,"",magic,0,"LimeGreen");
Érdekes, hogy az eddigi éles és demo számlákon az elmúlt 2 évben soha nem volt ezekkel probléma.
Az a kód, amit bemásoltál az EURUSD vagy EURUSD. chartra van csatolva? Ha a sima EURUSD-ra, akkor az EURUSD. instrumentumon próbálsz nyitni az EURUSD árával. Ez okozhat ilyen hibaüzenetet.
Felejtsd el a sima instrumentumokat, és mindig csak a pontra végződőeket használd ennél a brókernél.
A MODE_MINLOT -nál pedig ne stringet használj, hanem double -t.
Sikerült működésre bírni, köszönöm!
Viszont utána rájöttem, hogy mégsem kell az egész EA-t átírni, mert nagy nehezen feltűnt, hogy ilyen számlákon nem csak „EURUSD”, hanem „EURUSD.” chart nyitását is felajánlja a MetaTrader. Azon pedig működik az eredeti kódom is, amit eddig használtam.
Bocs, én a „Válaszd ki a helyes instrumentumot, ami gyakorlatilag mindkét esetben az EURUSD. nevű.” hozzászólásommal a helyes chart megnyitására utaltam. Így utólag visszaolvasva, nem voltam 100%-ig egyértelmű.
Nem is értettem, miért erőlteted a sima EURUSD instrumentumot :)
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.