Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 23

 
andm2:

Пытаюсь узнать стоимость одного лота по команде SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL),а результат =0.Подскажите в чём дело?

https://www.mql5.com/ru/forum/1111/page95#comment_14665 

 
Большое спасибо!
 
Доброго дня! Пітаюсь написать различение для выбраной позиции- бай она или селл. Пишу так.
 if (PositionGetInteger(POSITION_TYPE)== ??? {
С чем его сравнивать? В справке не вижу..   Там действительно не написано, это  и не фальше и труэ, какое-то ENUM_POSITION_TYPE, жму на него- ссылка ведетна эту же таблицу.
 
Dimka-novitsek:
Доброго дня! Пітаюсь написать различение для выбраной позиции- бай она или селл. Пишу так.С чем его сравнивать? В справке не вижу..   Там действительно не написано, это  и не фальше и труэ, какое-то ENUM_POSITION_TYPE, жму на него- ссылка ведетна эту же таблицу.

Там в самом низу страницы табличка

сравнивать с

POSITION_TYPE_BUY для BUY и

POSITION_TYPE_SELL для SELL

 
Спасибо!!!!
 
Прошу прощения, напишите пожалуста, допустим несколькими строками выше, у меня каким-то случаем выбран ордер, а ни позиция. Тут я использую функцию PositionGetDouble, что произойдет? Что выдаст функция, и выдаст ли что-нибудь?
 
Dimka-novitsek:
Прошу прощения, напишите пожалуста, допустим несколькими строками выше, у меня каким-то случаем выбран ордер, а ни позиция. Тут я использую функцию PositionGetDouble, что произойдет? Что выдаст функция, и выдаст ли что-нибудь?

Функция что то выдаст, но гарантий что нет, перед использованием функции PositionGetDouble нужно использовать PositionSelect(symbol)

если она не была вызвана ранее.

Это похоже на перевод курсора на нужную строку. Если курсор уже стоит на нужной строке (ситуация когда функция PositionSelect(symbol) уже вызывалась в коде раньше, и вернула true) то можно использовать функции PositionGetXXX или PositionSetXXX сразу, если же курсор стоит на другой строке то его нужно сначало перевести в нужное положение.

 
СПАСИБО!!!
 
Dimka-novitsek:
СПАСИБО!!!
Поправил комент.
 
СПАСИБО!!!   Я весь смысл и так  понял, важно ордер правильно выбрать, или даже проверить 
 string PositionSymboll = "";
   if  (PositionSymboll=PositionGetSymbol(i))

if (PositionSymboll = ="")
Причина обращения: