Как написать скрипт, который совершает покупку одного лота по текущей цене ASK в этот же момент времени?
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
может в опциях терминала что то поменять?
В окне свойств скрипта галочка есть "разрешить советнику торговать" - попробуйте с ней что-нибдь сделать. Можно в настройках терминала сделать, чтобы она по умолчанию стояла как надо.
Есть ф-ия IsTradeAllow() - она возвращает признак разрешено ли торговать советнику, она так же и смотрит галочку в настройках эксперта. Так же мона определить визуально - если значек советника на графики улыбается значит можно торговать.
А вообще ошибки обязательно надо обрабатывать и анализировать. Иначе будет мрак и путаница и сервер забадается запросы ваши исполнять
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
я пробовал вот это, но ничего не происходит:
int start()
{
int ticket;
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,0,0,"no comment",0,0,Green);
return(0);
}
может кто знает в чем дело? у меня учебный счет, версия программы MetaTrader4