[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 389
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При пуске советника ничего,это для проверки,чтоб потом при каждом тике новые рдера не открывалитсь
это ваш код, никаких изменений не делал
у вас написано, что ордера будут выставлены если вы выбрав ордер tiket выберете ордер данного символа и данного magic и всего ордеров менее 2
Без кода сказать трудно. Вполне возможно, что советнеик написан под четырёхзнак, а демосчёт пятизнаковый. Сами понимаете, что если в настройках стоит, например, стоп-лосс ордера в 10 пунктов, то на пятизнаке это такое же расстояние, как 1 пункт на четырёхзнаке. Если при этом минимально-допустимое расстояние для установки стоп-приказов, скажем = 3 пункта, то на пятизнаке это будет уже не три, а тридцать пунктов. Понятно, что на пятизнаке сервер просто отвергнет команду установки ордера со стопом в 10 пунктов.
Хотя, причина может и какая-то другая. Понимаете, Вы у народа спросили, мол, почему не заводится Ваш автомобиль? Народ не сможет сказать причину, не открыв капот и не послушав как машина реагирует на попытки завестись...
Тестер стратегий запускал по EURUSD, на исполнение пробовал запускать по нескольким валютам, EURUSD, GBPUSD, USDJPY - не работает нигде. При отправке ордеров на покупку/продажу использовал Point, так что должно срабатывать для всех-знаков. Больше всего не понятно, почему тестер показывает реультаты, но на демо-счете советник не открывает позиции. В каких случаях это может случиться?
В любом случае спасибо за ответ, вечером повешу код.
Извините,я тут чушь какую-то написал,если можно,покажите,в каком месте я совсем баранн.
Во всех :)))))))))))))))))))
Давайте с самого начала:
Изначально две переменные инициализированы нулём:
int tiket, tikett;
далее первой строчкой кода мы выбираем ордер по тикету:
OrderSelect (tiket, SELECT_BY_TICKET, MODE_TRADES);
тут переменная ticket равна нулю. Т.е. пытаемся выбрать ордер с нулевым тикетом. При этом, даже не почитали справку, т.к. при выборе по тикету параметр pool игнорируется, а вы всё-равно указываете MODE_TRADES. Это не ошибка - это лишний параметр в данном случае, который попросту игнорируется. Соответственно ордер с нулевым тикетом не выбирается - его же нет...
Далее всё идет во вложенных условиях; первым же условием является:
... если символ выбранного ордера совпадает с символом текущего графика... А так как никакой ордер и не выбран, то мы благополучно добираемся до выхода из start(), ничего при этом не делая.
Смею вас заверить... Далее у вас там не менее интересно, но ... ковыряться не интересно.
Начните пока с поиска уже открытых позиций или установленных отложенных ордеров.
Удачи.
это ваш код, никаких изменений не делал
у вас написано, что ордера будут выставлены если вы выбрав ордер tiket выберете ордер данного символа и данного magic и всего ордеров менее 2
А,не,все верно,при запуске ордеров меньше два,выставляются два отложенных, и на следующем тике их два и ничего не происходит.
Наверно, у меня в голове какой-то кризис.
А,не,все верно,при запуске ордеров меньше два,выставляются два отложенных, и на следующем тике их два и ничего не происходит.
Наверно, у меня в голове какой-то кризис.
Тестер стратегий запускал по EURUSD, на исполнение пробовал запускать по нескольким валютам, EURUSD, GBPUSD, USDJPY - не работает нигде. При отправке ордеров на покупку/продажу использовал Point, так что должно срабатывать для всех-знаков. Больше всего не понятно, почему тестер показывает реультаты, но на демо-счете советник не открывает позиции. В каких случаях это может случиться?
В любом случае спасибо за ответ, вечером повешу код.
В том-то и дело, что значение Point различается.
В том-то и дело, что значение Point различается.
Значение Point различается от котировки к котировке, но его суть для всех котировок с любым кол-вом знаков после запятой одинаковое - это минимальный шаг цены.
Именно поэтому ведь то, что я использовал для стоп-лосса, к примеру, Ask-30*Point, а не Ask-0,003, нивелирует совет комментарий drknn.
""...Вполне возможно, что советнеик написан под четырёхзнак, а демосчёт пятизнаковый. Сами понимаете, что если в настройках стоит, например, стоп-лосс ордера в 10 пунктов, то на пятизнаке это такое же расстояние, как 1 пункт на четырёхзнаке. Если при этом минимально-допустимое расстояние для установки стоп-приказов, скажем = 3 пункта, то на пятизнаке это будет уже не три, а тридцать пунктов. Понятно, что на пятизнаке сервер просто отвергнет команду установки ордера со стопом в 10 пунктов...""
Подскажите.
Написал простенький скрипт, который выводит значение минимально допустимого уровня стоп-лосса/тейк-профита в пунктах.
int start()
{
int min=MarketInfo(Symbol(),MODE_STOPLEVEL);
Alert(min);
return(0);
}
Выводит ноль. Это стандартное значение для этого параметра?
fx_max:
Написал простенький скрипт, который выводит значение минимально допустимого уровня стоп-лосса/тейк-профита в пунктах.
int min=MarketInfo(Symbol(),MODE_STOPLEVEL);
Выводит ноль. Это стандартное значение для этого параметра?
нет