Ответ
 
Опции темы
14.03.2012, 16:14
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
выдает ошибку 130 - ERR_INVALID_STOPS Неправильные стопы

подскажите в чем ошибка...уже мозг плывет)

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:29
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
Стоп и ТП в 15 пп. может быть меньше чем стоплевел. Определить стоплевел можно так
MarketInfo(Symbol(),MODE_STOPLEVEL);
Тем более что ТП еще меньше на спред. Особенно актуально если 5-ти знак

Последний раз редактировалось Nata_FX; 14.03.2012 в 16:32.
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:33
Аватар для DIN_Smol
DIN_Smol Новичок форума
Регистрация: 10.12.2009 / Адрес: Москва-Подольск-Смоленск / Сообщений: 65
Поблагодарили 17 раз(а) / Репутация: 16
  • Отправить сообщение для DIN_Smol с помощью Skype™
может стоп коротковат? 5-тизнак? больше ставить пробовал?
-----------------
опоздал=)
DIN_Smol вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:36
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
пробовал и 500)
самое интересное, что этот скрипт приведен в учебнике mql



//--------------------------------------------------------------------
// simpleopen.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------

int start() // Спец. функция start()
{
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
return; // Выход из start()
}
//--------------------------------------------------------------------
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:38
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
да, 5-и знак
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:40
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
Так пробовал, или только стоп менял?
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-500*Point,Bid+500*Point);
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:42
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-500*Point,Bid+500*Point);

именно так и пробовал...

стоплэвэл - 0
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:45
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
У меня прекрасно сработало, какой ДЦ и пара?
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
hitkill (14.03.2012)
14.03.2012, 16:48
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
пхах)
Альпари
EURUSD
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:53
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
я уже час пытаюсь понять в чем дело и никак)
от отчаяния решил написать на форум
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 16:55
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
Все замечательно работает даже со стопом в 15 пп. Ты случайно не ECN или NDD север выбрал? На каком-то из них стопы можно ставить только после открытия ордера
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
hitkill (14.03.2012)
14.03.2012, 17:01
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
так точно...)
ндд был) сменил сервер, заработало..)потом увидел ваше сообщение)
спасибо!



тогда встречный вопрос, как можно тоже самое описать для ндд? если не трудно помогите)
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 17:01
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
и в чем подвох?)
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 17:03
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
Это не подвох, на таких серверах сначала надо открыть ордер, а потом только добавлять стоп и тейк. Вот пример

PHP код:
int start() 

int ticket OrderSend(Symbol(),OP_BUY,0.1,MarketInfo(Symbol(),MODE_ASK),3,0,0); 
OrderSelect(ticket,SELECT_BY_TICKET);
OrderModify(ticket,OrderOpenPrice(), OrderOpenPrice() - 15MarketInfo(Symbol(),MODE_POINT),
                
OrderOpenPrice() + 15MarketInfo(Symbol(),MODE_POINT),0,Blue);
return; } 
Кстати, этот код будет работать и на обычном сервере.

Последний раз редактировалось Nata_FX; 14.03.2012 в 17:07.
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DIN_Smol (14.03.2012)
14.03.2012, 17:07
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
премного благодарен)
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 17:42
Аватар для DiZin
DiZin Почётный гражданин
Регистрация: 06.10.2009 / Адрес: то тут, то там / Сообщений: 734
Поблагодарили 460 раз(а) / Репутация: 465
Сообщение от Nata_FX Посмотреть сообщение
Это не подвох, на таких серверах сначала надо открыть ордер, а потом только добавлять стоп и тейк. Вот пример

PHP код:
int start() 

int ticket OrderSend(Symbol(),OP_BUY,0.1,MarketInfo(Symbol(),MODE_ASK),3,0,0); 
OrderSelect(ticket,SELECT_BY_TICKET);
OrderModify(ticket,OrderOpenPrice(), OrderOpenPrice() - 15MarketInfo(Symbol(),MODE_POINT),
                
OrderOpenPrice() + 15MarketInfo(Symbol(),MODE_POINT),0,Blue);
return; } 
Кстати, этот код будет работать и на обычном сервере.
OrderSelect не нужен.... вместо этого лучше проверку поставить, что ticket > 0 (что ордер открылся благополучно)
Еще не совсем понятны извращения типа
MarketInfo(Symbol(),MODE_POINT), ведь есть просто Point
MarketInfo(Symbol(),MODE_ASK) - ведь есть просто Ask
DiZin вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
hitkill (14.03.2012)
14.03.2012, 18:02
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
Сообщение от DiZin Посмотреть сообщение
OrderSelect не нужен.... вместо этого лучше проверку поставить, что ticket > 0 (что ордер открылся благополучно)
Еще не совсем понятны извращения типа
MarketInfo(Symbol(),MODE_POINT), ведь есть просто Point
MarketInfo(Symbol(),MODE_ASK) - ведь есть просто Ask

спасибо!
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 18:09
Аватар для hitkill
hitkill Активный участник
Регистрация: 17.01.2012 / Сообщений: 50
Поблагодарили 66 раз(а) / Репутация: 67
Сообщение от DiZin Посмотреть сообщение
OrderSelect не нужен.... вместо этого лучше проверку поставить, что ticket > 0 (что ордер открылся благополучно)
А точнее?
hitkill вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 18:42
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
Сообщение от DiZin Посмотреть сообщение
OrderSelect не нужен....
OrderSelect используется чтобы получить цену открытия ордера OrderOpenPrice()
Сообщение от DiZin Посмотреть сообщение
Еще не совсем понятны извращения типа
MarketInfo(Symbol(),MODE_POINT), ведь есть просто Point
MarketInfo(Symbol(),MODE_ASK) - ведь есть просто Ask
MarketInfo не требует вызова RefreshRates, так как эта функция обращается непосредственно к котировочному механизму.
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
14.03.2012, 19:07
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
hitkill вообще советую исходники советников разных посмотреть, в нормальных роботах ордер открывается отдельной функцией с кучей проверок и попыток.
Вот здесь сборник всяких разных функций, взгляни, много нового узнаешь
_http://forum.mql4.com/ru/11287
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 21:21. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO