Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 844

 
Escapee:

Погодите... поймите, наконец, что мне надо...

Вот открытие ордера, которое мне было нужно - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . И этот скрипт работает.

Теперь мне нужно закрытие......

Это не скрипт. Это всего лишь команда открыть ордер. Функция OrderSend возвращает тикет ордера если открытие произошло успешно. Но перед закрытием надо сначала определить тикет ордера. А чтобы его определить надо сначала выбрать ордер из списка ордеров по его индексу. Если ордеров открыто всего 1 то его индекс в списке будет 0. Соответственно если только один открытый ордер, можно написать без цикла и проверки соответствия символа и соответствия магика так. Не грамотно, но всё-же. Исключительно для примера.

if(OrderSelect(0, SELECT_BY_POS))
if(OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 30, clrNONE))
Print("Ордер закрыт");
Такая не документированная примочка в mql4 можно использовать для закрытия ордера OrderClosePrice() вместо Ask или Bid и в этом случае не надо разделять по типу ордера. Закроет в любом случае.
 
AlexeyVik:

Это не скрипт. Это всего лишь команда открыть ордер. Функция OrderSend возвращает тикет ордера если открытие произошло успешно. Но перед закрытием надо сначала определить тикет ордера. А чтобы его определить надо сначала выбрать ордер из списка ордеров по его индексу. Если ордеров открыто всего 1 то его индекс в списке будет 0. Соответственно если только один открытый ордер, можно написать без цикла и проверки соответствия символа и соответствия магика так. Не грамотно, но всё-же. Исключительно для примера.

Такая не документированная примочка в mql4 можно использовать для закрытия ордера OrderClosePrice() вместо Ask или Bid и в этом случае не надо разделять по типу ордера. Закроет в любом случае.

Ну вот смотри, написал, а отвечать потом за "неполадки" кто будет? :))))

Он же не понимает, что это весьма и весьма некорректный код для работы на реале. Ну ... эт по типу, что он катится с горки сидя в бочке, считая, что едет в машине.

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

 
Escapee:

Погодите... поймите, наконец, что мне надо...

Вот открытие ордера, которое мне было нужно - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . И этот скрипт работает.

Теперь мне нужно закрытие......

Я прекрасно понимаю что вам надо. И я стараюсь вам объяснить как это ваше "надо" делать правильно. Вы же заткнули уши и не желаете слушать. Наверное откланяться придётся.

В пример приводите простую команду отсылки торгового запроса на сервер. Конечно же она вам отправит запрос. Но вот верные ли данные в нём? А что возвращает вам торговый сервер?

И да: это не скрипт. Это команда языка mql4

 
Добрый вечер, есть вопрос, нужно в советник ставить блок работы с ошибками или терминал сам их преодолевает (ошибки например сервер не отвечает, цена изменилась)?     
 
Pokrov:
Добрый вечер, есть вопрос, нужно в советник ставить блок работы с ошибками или терминал сам их преодолевает (ошибки например сервер не отвечает, цена изменилась)?     
Хороший вопрос. И?
 
Pokrov, нужно вписать обработку ошибок если хочешь чтоб советник преодолевал их.
 
artmedia70:
Хороший вопрос. И?
Так это и был вопрос, там в конце вопросительный знак, так нужно или не обязательно?  
 
artmedia70:

Ну вот смотри, написал, а отвечать потом за "неполадки" кто будет? :))))

Он же не понимает, что это весьма и весьма некорректный код для работы на реале. Ну ... эт по типу, что он катится с горки сидя в бочке, считая, что едет в машине.

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

Принято. Меньше пить надо. :) Хотя там есть оговорка Не грамотно, но всё-же. Исключительно для примера.
 
Pokrov:
Так это и был вопрос, там в конце вопросительный знак, так нужно или не обязательно?  
Если пишешь тестерную игрушку, то не обязательно. А для рабочего советника желательно. Если советник будет беспрерывно долбить сервер ДЦ ошибочными командами, или модификацией ордера без изменения параметров то ДЦ может заблокировать советник и соответственно ордера поставленные советником, становятся "беспризорниками".
 
AlexeyVik:
Если пишешь тестерную игрушку, то не обязательно. А для рабочего советника желательно. Если советник будет беспрерывно долбить сервер ДЦ ошибочными командами, или модификацией ордера без изменения параметров то ДЦ может заблокировать советник и соответственно ордера поставленные советником, становятся "беспризорниками".
Спасибо! 
Причина обращения: