Скачать MetaTrader 5

Ошибка 130 в OrderSend

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
alp
156
alp 2011.11.07 01:56 

Я новичек в создании этих скриптов не могу разобраться.

Вот за не мысловатый код:

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);

if(ticket<0)

{

Print("OrderSend failed with error #",GetLastError());

return(0);

}

Выдернут из справки.

Я просто хочу открыть ордер а он мне пишет ошибка 130.

Вопрос что за ошибка 130?

Где можно посмотреть коды ошибок (что они означают) ?

И что такое Point которое всегда равно 0?

В справке написано что это

The current symbol point value in the quote currency.

Гугл перевел как "Текущее значение точки символа в валюте котировки."

Все-равно не понятно .

Если сделать так ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-0.5,Ask+0.5,"My order #2",16384,0,Green);

все-ровно 130я ошибка.

Хелп

alp
156
alp 2011.11.07 02:12  

Подозреваю что это возможно из-за того что у меня 401й билд.

Хотя в ручную ордеры открываются.

alp
156
alp 2011.11.07 02:20  

Про апдейтил до 409го билда все-равно 130я ошибка.

Boris
503
Boris 2011.11.07 02:24  
alp
156
alp 2011.11.07 02:39  

Ага разобрались с первым вопросом "Не правельные стопы"

Допустим они не правельны в первом варианте ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);

т.к. Point=0

Но во втором почему ошибка то? ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-0.5,Ask+0.5,"My order #2",16384,0,Green);

alp
156
alp 2011.11.07 02:43  

Попробовал так ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25,Ask+25,"My order #2",16384,0,Green);

Ошибка 4007 "нет памяти для временной строки" какой строки?

Выше у меня стоит int cnt, ticket, total;

ticket объявлена что не нравиться то?

Boris
503
Boris 2011.11.07 05:55  

С 4007 не сталкивался.

А так, если хотите примеры как это делается, то вам сюда :

Полезные функции от KimIV

Vladimir Paukas
4099
Vladimir Paukas 2011.11.07 06:11  
Alp:

Я новичек в создании этих скриптов не могу разобраться.

Вот за не мысловатый код:

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);


Вам не дают поставить стоп в 2,5 пипсах от цены. Увеличьте до уровня допустимого стопов ДЦ по этому символу.

Коды ошибок все есть в хелпе

ERR_INVALID_STOPS 130 Invalid stops.
Sergey Guliaev
2301
Sergey Guliaev 2011.11.07 07:15  

Point - размер пункта текущего финансового инструмента в валюте котировки,

он не может быть равен нулю по определению.

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-25*Point,Bid+25*Point,"My order #2",16384,0,Green);

OP_BUY открывается по Ask, закрывается по Bid.

Билды здесь не при чём.

Подобные вопросы задавайте здесь https://forum.mql4.com/ru/42300

Vladimir Paukas
4099
Vladimir Paukas 2011.11.07 07:51  
valenok2003:

OP_BUY открывается по Ask, закрывается по Bid.


У топикстартера так и есть. У него всё правильно, только очень близко.
Sergey Guliaev
2301
Sergey Guliaev 2011.11.07 08:01  
paukas:
У топикстартера так и есть. У него всё правильно, только очень близко.

Нет, не так, он стопы считает тоже от Ask. Сравните внимательно

это у топикстартера:

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green); 
это исправлено:
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-25*Point,Bid+25*Point,"My order #2",16384,0,Green); 
Может и близко, но мой ДЦ ваще снял ограничение на минимальную дистанцию.
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий