MMGP logo
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 640,437 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение - зарегистрируйтесь прямо сейчас.
Обсуждение синтаксиса, функций и процедур языка MQL. Обмен опытом, своими фрагментами кода. Оптимизация кода. Предложения и заказы на разработку советников.
Старый 08.06.2010, 15:19
#1
Любитель
 
Пол: Мужской
Инвестирую в: Форекс
Регистрация: 01.03.2010
Сообщений: 597
Благодарностей: 76
Не могу разобраться с mqt4,подскажите

хотел написать простенький скрипт для открытия сказу нескольких ордеров с заданными тейк-профитами - пишу:
int start()
{
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
OrderSend(Symbol(),OP_BUY,1,Ask,2,0,Bid+10*Point);
return;
}
- компилируется , при попытке добавить на график - ничего не происходит.
я , видимо, что то не понял в испонениии скриптов?
mpak59rus вне форума
Старый 08.06.2010, 16:06
#2
bvn
Заблокированный
 
Имя: Виталий
Пол: Мужской
Адрес: Полтава, Украина
Инвестирую в: Форекс
Регистрация: 16.06.2008
Сообщений: 8,092
Благодарностей: 3,604

награды Волшебный горшочек 
Re: Не могу разобраться с mqt4,подскажите

Да по-видимому что-то не поняли
Во-первых, если цена получается в результате рассчета, необходимо применять функцию NormalizeDouble...
Во-вторых, вы должны понимать, что торговые операции посылаются в порядке очереди через один торговый поток, при этом не происходит остановки программы... Если первая операция будет успешно отправлена на сервер, то последующие 9 вероятнее всего вернут ошибку "торговый поток занят".
И наконец, в-третьих, а может быть это надо было даже написать и в первую очередь - Смотрите журналы, там зачастую сообщаются все ошибки.
bvn вне форума
Сказали спасибо:
mpak59rus (09.06.2010)
Старый 09.06.2010, 07:03
#3
Любитель
 
Пол: Мужской
Инвестирую в: Форекс
Регистрация: 01.03.2010
Сообщений: 597
Благодарностей: 76
Автор темы Re: Не могу разобраться с mqt4,подскажите

Спасибо за оперативный и толковый ответ.
просто в единственном учебнике что я нашел с примерами как то туго. Нет ли какой нибудь толковой литературы по синтаксису языка с примерами?
mpak59rus вне форума
Старый 09.06.2010, 09:52
#4
bvn
Заблокированный
 
Имя: Виталий
Пол: Мужской
Адрес: Полтава, Украина
Инвестирую в: Форекс
Регистрация: 16.06.2008
Сообщений: 8,092
Благодарностей: 3,604

награды Волшебный горшочек 
Re: Не могу разобраться с mqt4,подскажите

Я в изучении MQL4 пользовался первоисточником.
https://docs.mql4.com/ru/
Там же есть и учебник... Хоть он мне и не сильно понравился, не везде в примерах хороший стиль программирования, ИМХО... Но зато расписано все подробно для новичка просто супер.
https://book.mql4.com/ru/
bvn вне форума
Старый 08.01.2011, 16:36
#5
Специалист
 
Пол: Мужской
Инвестирую в: Другое
Регистрация: 23.09.2010
Сообщений: 1,420
Благодарностей: 116
Re: Не могу разобраться с mqt4,подскажите

Подскажите пожалуйста почему на тестере ошибка выходит "2011.01.08 18:04:43 2010.12.01 15:00 15pips EURUSD,H1: OrderSend error 130
"
вот код открытия отложенного ордера: ticket=OrderSend(Symbol(),OP_BUYSTOP,1,Bid-Step,1,0,Bid-Step-0.0002,"ts",0,NULL,Aqua)
или в выходные нельзя прогнать тестер?

Bid=1.3128 цена за 01.12.2010
Step=0.0015
2 пункта выдает функция MarketInfo("EURUSD",MODE_STOPLEVEL), от рыночной можно минимум выставить, у меня уже на 15 сдвиг от цены

Последний раз редактировалось sanya32; 08.01.2011 в 17:22.
sanya32 вне форума
Старый 08.01.2011, 17:45
#6
Любитель
 
Пол: Мужской
Возраст: 48
Адрес: Регион 27
Инвестирую в: Фондовый рынок
Регистрация: 15.01.2010
Сообщений: 290
Благодарностей: 168
Re: Не могу разобраться с mqt4,подскажите

OP_BUYSTOP - это когда цена открытия отложенного ордера ВЫШЕ текущей цены. А Вы какие цены устанавливаете? Bid-Step - для открытия и Bid-Step-0.0002 - для тейк-профита. Обе цены явно НИЖЕ текущего уровня. Отсюда ошибка.
Либо тип ордера меняйте, либо цены.
__________________
Верни свою часть спреда в Leprecon Trading!
Tomcat вне форума
Старый 08.01.2011, 17:54
#7
Специалист
 
Пол: Мужской
Инвестирую в: Другое
Регистрация: 23.09.2010
Сообщений: 1,420
Благодарностей: 116
Re: Не могу разобраться с mqt4,подскажите

понял туплю, спасибо!

добавлено через 7 минут

поменял
ticket=OrderSend(Symbol(),OP_SELLSTOP,1,Ask-Step,3,0,Ask-0.0015,"ts",0,NULL,Aqua);

все равно на ошибка 130-я на стопы

добавлено через 47 минут
Цитата:
Сообщение от sanya32 Посмотреть сообщение
понял туплю, спасибо!

добавлено через 7 минут

поменял
ticket=OrderSend(Symbol(),OP_SELLSTOP,1,Ask-Step,3,0,Ask-0.0015,"ts",0,NULL,Aqua);

все равно на ошибка 130-я на стопы
поменял на 0 параметр slippage - Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу), заработало.

Последний раз редактировалось sanya32; 08.01.2011 в 18:42. Причина: Добавлено сообщение
sanya32 вне форума
Войдите, чтобы оставить комментарий.
Опции темы

Быстрый переход