MT4, jak to jest z symbolami walut.

O jezykach programowania w platformach i nie tylko.
JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

MT4, jak to jest z symbolami walut.

Nieprzeczytany post autor: JAREK67 »

Załóżmy że mam konto (w PLN) u jakiegoś polskiego brokera. Niech będzie XTB.
I teraz chcę wyciągnąć wartość punktu dla pary EURUSD (1lot).
Sprawa banalnie prosta by się wydawało:

Kod: Zaznacz cały

Tick_Value = MarketInfo(Symbol(),MODE_TICKVALUE);
Po dzisiejszym kursie będzie to = 3.7458. Zdrowy rozsądek podpowiada, że ta wartość jest podana w PLN.
Ale jeśli chciałbym się upewnić jaka to jest waluta to

Kod: Zaznacz cały

Tick_Currency = SymbolInfoString(BaseSymbol,SYMBOL_CURRENCY_PROFIT);

zwraca wartość "USD" W takim razie powinno być 1 a nie 3.74...
Ale jeśli wezmę np.

Kod: Zaznacz cały

MarketInfo(Symbol(), MODE_MARGINREQUIRED)
to zwraca wartość = 4200. Czyli w PLN
I znowu

Kod: Zaznacz cały

SymbolInfoString(Symbol(),SYMBOL_CURRENCY_MARGIN);
zwraca "EUR" To w takim razie powinno być 1000 a nie 4200.
Jeśli wezmę na tapetę np. DAX30.
to Tick_Value pokaże = 2.5 i to logika podpowiada że jest w EURO.
Tak też odpowiada parametr SYMBOL_CURRENCY_PROFIT dla tego instrumentu.
Czyli dla kont prowadzonych w PLN i przy kwotowaniu walut wartości : tiku i wymaganego mariginu są podawane w PLN mimo, ze podane wyżej przykłady wskazują, że tak nie jest?
:roll:


robs
Gaduła
Gaduła
Posty: 196
Rejestracja: 22 sty 2010, 03:05

Re: MT4, jak to jest z symbolami walut.

Nieprzeczytany post autor: robs »

JAREK67 pisze:Zdrowy rozsądek podpowiada,

logika podpowiada że
Funkcja zwraca to co zwraca, kto powiedział że to ma być logiczne, rozsądne czy udokumentowane :d

Wygląda na to że SYMBOL_CURRENCY_PROFIT zwraca quote currency a SYMBOL_CURRENCY_MARGIN zwraca base currency.
radical material simplification

JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

Re: MT4, jak to jest z symbolami walut.

Nieprzeczytany post autor: JAREK67 »

robs pisze:
JAREK67 pisze:Zdrowy rozsądek podpowiada,

logika podpowiada że
Funkcja zwraca to co zwraca, kto powiedział że to ma być logiczne, rozsądne czy udokumentowane :d

Wygląda na to że SYMBOL_CURRENCY_PROFIT zwraca quote currency a SYMBOL_CURRENCY_MARGIN zwraca base currency.
Tylko, że wtedy dla EURUSD 1lot przy lewarze 1:100 wymaga depozytu 4200 USD !!
Jeśli wierzyć platformie i mql4.

ODPOWIEDZ