• Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Не могу разобраться с mqt4,подскажите

mpak59rus

Любитель
Регистрация
02.03.2010
Сообщения
505
Реакции
29
Поинты
0.000
хотел написать простенький скрипт для открытия сказу нескольких ордеров с заданными тейк-профитами - пишу:
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;
}
- компилируется , при попытке добавить на график - ничего не происходит.
я , видимо, что то не понял в испонениии скриптов?
 

bvn

Новичок
Регистрация
17.06.2008
Сообщения
7,351
Реакции
2,723
Поинты
0.000
Да по-видимому что-то не поняли :)
Во-первых, если цена получается в результате рассчета, необходимо применять функцию NormalizeDouble...
Во-вторых, вы должны понимать, что торговые операции посылаются в порядке очереди через один торговый поток, при этом не происходит остановки программы... Если первая операция будет успешно отправлена на сервер, то последующие 9 вероятнее всего вернут ошибку "торговый поток занят".
И наконец, в-третьих, а может быть это надо было даже написать и в первую очередь - Смотрите журналы, там зачастую сообщаются все ошибки.
 

mpak59rus

Любитель
Регистрация
02.03.2010
Сообщения
505
Реакции
29
Поинты
0.000
Спасибо за оперативный и толковый ответ.
просто в единственном учебнике что я нашел с примерами как то туго. Нет ли какой нибудь толковой литературы по синтаксису языка с примерами?
 

bvn

Новичок
Регистрация
17.06.2008
Сообщения
7,351
Реакции
2,723
Поинты
0.000
Я в изучении MQL4 пользовался первоисточником.
http://docs.mql4.com/ru/
Там же есть и учебник... Хоть он мне и не сильно понравился, не везде в примерах хороший стиль программирования, ИМХО... Но зато расписано все подробно для новичка просто супер.
http://book.mql4.com/ru/
 

sanya32

Специалист
Регистрация
24.09.2010
Сообщения
1,416
Реакции
87
Поинты
0.000
Подскажите пожалуйста почему на тестере ошибка выходит "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 сдвиг от цены
 
Последнее редактирование:

Tomcat

Любитель
Регистрация
16.01.2010
Сообщения
279
Реакции
10
Поинты
0.000
OP_BUYSTOP - это когда цена открытия отложенного ордера ВЫШЕ текущей цены. А Вы какие цены устанавливаете? Bid-Step - для открытия и Bid-Step-0.0002 - для тейк-профита. Обе цены явно НИЖЕ текущего уровня. Отсюда ошибка.
Либо тип ордера меняйте, либо цены.
 

sanya32

Специалист
Регистрация
24.09.2010
Сообщения
1,416
Реакции
87
Поинты
0.000
понял туплю, спасибо!

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

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

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

добавлено через 47 минут
понял туплю, спасибо!

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

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

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

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