Как написать скрипт, который совершает покупку одного лота по текущей цене ASK в этот же момент времени?

 

привет. у меня вопрос: как написать простейший скрипт который совершает покупку одного лота по текущей цене ASK в этот же момент времени.

я пробовал вот это, но ничего не происходит:

int start()
{
int ticket;
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,0,0,"no comment",0,0,Green);
return(0);
}

может кто знает в чем дело? у меня учебный счет, версия программы MetaTrader4
 
Посмотри что пишется в журнале. И проверь код последней ошибки.
 
А что, уже есть чайники с программным управлением? :-) После вызова OrderSend() вызовите функцию GetLastError(), сделайте Print() в журнал и посмотрите номер ошибки. 
 

int start()
{
int ticket;
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,0,0,"no comment",0,0, Green);
Alert("ошибка: ",GetLastError());
return(0);
}

ошибка: 4109

что это? напишите пожалуйста код на открытие позиции BUY который работает?

 

Учись пользоваться тем, что здесь выложено.

Здесь коды ошибок: https://docs.mql4.com/ru/constants/errors .

Или просто вводишь в поиск по сайту фразу "Ошибка 4109" и получаешь страничку https://www.mql4.com/ru/search/?keyword=%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0+4109 . Ну а оттуда выйдешь на ее объяснение - 'Как запрограммировать выставление ордера при брокерском режиме "Исполнение по запросу"' , первый пост stringo. Если и после этого непонятно, ищи дальше по ключевой фразе - скажем, "Разрешить советнику торговать". Или открывай помощь терминала и читай.

 

в журнале появляется ошибка: '115489' trading with experts is prohibited

может в опциях терминала что то поменять?

 
кстати когда запускаю встроенный скрипт "trade" тоже ничего не происходит.
 

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

 

Есть ф-ия IsTradeAllow() - она возвращает признак разрешено ли торговать советнику, она так же и смотрит галочку в настройках эксперта. Так же мона определить визуально - если значек советника на графики улыбается значит можно торговать.

А вообще ошибки обязательно надо обрабатывать и анализировать. Иначе будет мрак и путаница и сервер забадается запросы ваши исполнять

Причина обращения: