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

 
Dimka-novitsek:

В общем, вот функция и ее вызов

 'volume' - some operator expected htghtgfhthf.mq5 104 15

 'Lot' - expression has no effect htghtgfhthf.mq5 104 22

Это ругается собственно на структуру. Переменная доубле..   Лот равен лоту.. Не пойму!

По крайней мере, пропущена точка с запятой:

request.price=BID
 
Ох, СПАСИБО!!! Извините, действительно долго не мог заметить. Да, это все!! В смысле, скомпилировалось.Еще раз спасибо!!
 
Точно, 10016
TRADE_RETCODE_INVALID_STOPS
Неправильные стопы в запросе
 
Dimka-novitsek:

Доброго дня! Допустим я закрываю часть позиции, открыв обратную позицию. Какой мне нужно ставить стоп лосс и профит? Наверно он станет такой, какой я закажу, а не тот что был? Нет, не может быть, я то , чтоб уменьшить позу, произвожу обратную сделку, и профит и лось у нее вообще обратные отностельно позиции. В общем, сам себя запутал. Проясните, пожалуста. 

 ...

Для понимания этого вопроса в MQL5, нужно сначало понять одну простую (но основопологающую фразу):


Торговый ордер - это приказ на изменение состояния торговой позиции


Таким образом если нужно урезать позицию, то её тип не изменится а значит копируем стоп и профит из позиции в новый запрос и спокойно отсылаем.

Если же позицию нужно перевернуть, то меняем поля местами.

На самом деле стопы это ОСО ордера (отложенные ордера привязанные к факту существования позиции и автоматически имеющие тот же объём и обратный тип что и позиция), а ордер на изменение объёма это отдельная безстоповоя заявка на проведение транзакции прямо сейчас.

Сложность понимания происходит из того что эти разные акты по изменению позиции проводятся одним запросом.

Но вы можете отдельно отсылать заявку на изменение объёма и отдельно на изменения стопов. В некоторых диллингах (например при маркет исполнении) по другому и не получится.

ЗЫ А вообще внимательно разберите стандартную библиотеку, там много что реализовано.

 
Urain: Но вы можете отдельно отсылать заявку на изменение объёма и отдельно на изменения стопов.
Гм, не понял.. Если отсылать только "заявку на изменение объёма", то в такой заявке SL==TP==0.0, правильно? Но при исполнении такой заявки  уровни SL/TP позиции должны обнулиться. Значит, Вы ведёте речь об обязательной связке <'заявка на изменение объёма' +'заявка на изменение стопов'>?
 
Yedelkin:
Гм, не понял.. Если отсылать только "заявку на изменение объёма", то в такой заявке SL==TP==0.0, правильно? Но при исполнении такой заявки  уровни SL/TP позиции должны обнулиться. Значит, Вы ведёте речь об обязательной связке <'заявка на изменение объёма' +'заявка на изменение стопов'>?

Я говорю о...

Справочник MQL5 / Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций

конкретно TRADE_ACTION_DEAL и TRADE_ACTION_SLTP, а уж как вы будете их связывать это ваше дело, но возможность такая есть.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
Urain: Я говорю о... Справочник MQL5 / Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций

конкретно TRADE_ACTION_DEAL и TRADE_ACTION_SLTP, а уж как вы будете их связывать это ваше дело, но возможность такая есть.

 ОК, уточню вопрос: Если отсылать только "заявку на изменение объёма", то подразумевается, что в такой заявке SL==TP==0.0, правильно?
 
Yedelkin:
 ОК, уточню вопрос: Если отсылать только "заявку на изменение объёма", то подразумевается, что в такой заявке SL==TP==0.0, правильно?

во-первых. Вы как то странно и не "по-русски"  обозвали MqlTradeRequest, с каким то контекстом, что сложилось впечатление, про непонимание чем ордер отличается от позиции.

во-вторых -  когда ответите себе на вопрос - что такое заявка. тогда сразу и отпадет этот вопрос о SL==TP.

ну и в-третьих ,  блин в который раз,  а слабо в терминале попробовать? неужели каждый чих непонимания базы знаний нужно обсуждать на форуме? 

вперёд - в документацию, в практику в терминал, в тестер, в скриптовые пробы.

и только потом приходите и спрашивайте

с показанными для конкретного обсуждения проблемы - результатами что вы делали, и где получили противоречие.

 

sergeev:

Yedelkin:
 ОК, уточню вопрос: Если отсылать только "заявку на изменение объёма", то подразумевается, что в такой заявке SL==TP==0.0, правильно?

во-первых. Вы как то странно и не "по-русски"  обозвали MqlTradeRequest

К сожалению, под вечер Вы перестали отслеживать тему. Если кто и "странно и не "по-русски обозвал MqlTradeRequest", то это уж точно - не я. Потрудитесь обратить внимание на кавычки, и на обращение к автору процитированного утверждения. Я всего лишь общаюсь с автором в рамках той терминологии, которую он предложил. Лично меня это совершенно не раздражает.

sergeev: во-первых. ...сложилось впечатление, про непонимание чем ордер отличается от позиции.  

во-вторых - когда ответите себе на вопрос - что такое заявка 

   Ну да, из той же оперы.

sergeev: ну и в-третьих ,  блин в который раз,  а слабо в терминале попробовать? неужели каждый чих непонимания базы знаний нужно обсуждать на форуме? 

вперёд - в документацию, в практику в терминал, в тестер, в скриптовые пробы.

 Вы в очередной раз не заметили, что вопрос  обращён не к Вам, а к конкретному автору. Причём с использованием его (автора) терминологии. Для получения ответа на такой вопрос совершенно не обязательно в очередной раз включать метод научного тыка. Достаточно услышать ответ автора, который утверждает вполне определённые вещи. Неужели это так сложно понять?

 

В четвёртых, тема - "Для начинающих". Неужели так трудно в этой теме ответить на вопрос вполне определённо, без отсылок к Вашему любимому методу? Могли бы заметить, кем именно поднят основной вопрос, и после какого сообщения прозвучали мои вопросы. 

 
Yedelkin:

глупый спросит - что десять умных не ответят.