Testrader: Извините, а как переделать под пятизнак?
Он под двух-трёхзнак судя по описанию, так как на йене работает, проверка под увеличенную точность инструментов в коде присутствует, в том числе и на пятизнак.
Testrader:
Извините, а как переделать под пятизнак?
Он под двух-трёхзнак судя по описанию, так как на йене работает, проверка под увеличенную точность инструментов в коде присутствует, в том числе и на пятизнак.
Не надо ничего переделывать, там встроена проверка в функции инициализации.
А как выставить минимальный лот 0,01? Поначалу я отредактировал строку:
double min_lot = 0.1; //минимальный лот по умолчанию (строка 59), поправил на 0.01
но советник продолжал ставить отложенные ордера 0,1 лота.
Потом нашёл в коде строку:
default: lot = 0.1; //строка 492, поправил на default: lot = 0.01;
но после её правки советник просто пишет в журнал
2013.08.2101:30:04 Master_MM_Droid USDJPY,M5: Ни один ордер не выбран
и не работает :(
Что делать?
default: lot = 0.1;
Эта строка в блоке ММ просто выключает любой ММ и возвращает лот равный 0.1 (можете выставить любой), строка сугубо для отладочных целей. Чтобы она заработала, следует присвоить одной или нескольким переменным типа mm_..._mode значения превышающие предопределенные, тогда именно эта строка и заработает. А переменная min_lot получает системное значение в функции init() min_lot = MathMax(NormalizeDouble(virtual_deposit/100000,2), MarketInfo(Symbol(), MODE_MINLOT));
Код же у вас не работает потому что min_lot используется во всех ММ расчетах. Верните все как было и заработает. Если вам нужна торговля именно минимальным лотом, то просто измените режим ММ, как я написал уже ранее, а переменную не трогайте. Либо у вас на счете не доступен лот 0.01.
Ошибка "Master_MM_Droid USDJPY,M5: Ни один ордер не выбран" никуда не делась, хотя я скачал советника заново и запустил уже оригинальный, без изменений.
Ещё вот такое неприятное событие:
В результате советнику ордер так и не удалось удалить, он сработал и висит сейчас ни туда, ни сюда.
Ошибка "Master_MM_Droid USDJPY,M5: Ни один ордер не выбран" никуда не делась, хотя я скачал советника заново и запустил уже оригинальный, без изменений.
Ещё вот такое неприятное событие:....
В результате советнику ордер так и не удалось удалить, он сработал и висит сейчас ни туда, ни сюда.
Как это исправить?
Посмотрите в истории счета куда делся ордер 142796449, видно, что советник его выставил, но не видит сам ордер, именно по этому поводу ошибки, почему-то тикет этого ордера не удается получить. Может вы его закрыли а открыли другой? Если он все таки висит, то закройте его и перезапустите робот. У вас нет других советников на этом счете? Если есть посмотрите какой магический номер выставляет другой советник.
Посмотрите в истории счета куда делся ордер 142796449, видно, что советник его выставил, но не видит сам ордер, именно по этому поводу ошибки, почему-то тикет этого ордера не удается получить. Может вы его закрыли а открыли другой? Если он все таки висит, то закройте его и перезапустите робот. У вас нет других советников на этом счете? Если есть посмотрите какой магический номер выставляет другой советник.
(Редактировано) Я просмотрел лог ещё раз, всё стало понятно. В коде ошибка, советник не различает ордера по типам, отложка сработала, открылась позиция на бай но советник всё пытается её удалить как отложку, командойOrderDelete().
2013.08.2118:59:57 Master_MM_Droid USDJPY,M5: Íåâåðíûé íîìåð òèêåòà
2013.08.2118:59:57 Master_MM_Droid USDJPY,M5: market order #142796449 cannot be deleted2013.08.2118:59:57 Master_MM_Droid USDJPY,M5: delete#142796640 sell stop 0.10 USDJPY at 97.31 sl: 97.58 tp: 0.00 ok //3. Советник всё ешё считает что это отложенный Бай Стоп и пытается удалить его.2013.08.2118:25:04 Master_MM_Droid USDJPY,M5: modify #142796449 buy 0.10 USDJPY at 97.58 sl: 97.37 tp: 0.00 ok //2. отложка сработала2013.08.2116:49:59 Master_MM_Droid USDJPY,M5: open #142811469 sell 0.10 USDJPY at 97.62 sl: 97.97 ok2013.08.2115:00:12 Master_MM_Droid USDJPY,M5: open #142796640 sell stop 0.10 USDJPY at 97.31 sl: 97.58 ok2013.08.2115:00:11 Master_MM_Droid USDJPY,M5: open #142796449 buy stop 0.10 USDJPY at 97.58 sl: 97.31 ok //1. советник выставил отложку
Ошибка "Master_MM_Droid USDJPY,M5: Ни один ордер не выбран" никуда не делась, хотя я скачал советника заново и запустил уже оригинальный, без изменений.
Ещё вот такое неприятное событие:....
В результате советнику ордер так и не удалось удалить, он сработал и висит сейчас ни туда, ни сюда.
Как это исправить?
Посмотрите в истории счета куда делся ордер 142796449, видно, что советник его выставил, но не видит сам ордер, именно по этому поводу ошибки, почему-то тикет этого ордера не удается получить. Может вы его закрыли а открыли другой? Если он все таки висит, то закройте его и перезапустите робот. У вас нет других советников на этом счете? Если есть посмотрите какой магический номер выставляет другой советник.
Я же сказал, он висел и не удалялся пока не сработал, причём закрылся в убыток по стоплоссу, может советник правильно пытался его удалить, но в коде где-то ошибка, что-то с учётом ордеров.
У меня такая же ошибка вылезала и не удаленные ордеры выбивались
evillive: Я просмотрел лог ещё раз, всё стало понятно. В коде ошибка, советник не различает ордера по типам, отложка сработала, открылась позиция на бай но советник всё пытается её удалить как отложку, командой OrderDelete.
Ок, погляжу. Честно говоря, я отредактировал советник несколько, перед выкладыванием) Выкидывал, излишний на мой взгляд, функционал и видимо неаккуратно порезал код. Завтра я весь день не дома, но послезавтра сравню с полноценной версией) А может и сейчас погляжу, просто местное время 2:30 ночи и не обещаю, что сейчас исправлю.
Ахах, полноценная не продается)) Во-первых, я понятия не имею как вообще можно на продаже советника заработать, да и за сколько его продавать, а во-вторых, полноценная версия, то есть "Master_MM_droid, version 5" только около 3 месяцев тестируется на реальном счете, и у меня уже есть как минимум один повод для недовольства, для модернизации же и доведения до ума необходимо выбрать время а я ленюсь.
Извините, а как переделать под пятизнак?
Он под двух-трёхзнак судя по описанию, так как на йене работает, проверка под увеличенную точность инструментов в коде присутствует, в том числе и на пятизнак.
Извините, а как переделать под пятизнак?
Он под двух-трёхзнак судя по описанию, так как на йене работает, проверка под увеличенную точность инструментов в коде присутствует, в том числе и на пятизнак.
Не надо ничего переделывать, там встроена проверка в функции инициализации.
А как выставить минимальный лот 0,01? Поначалу я отредактировал строку:
double min_lot = 0.1; //минимальный лот по умолчанию (строка 59), поправил на 0.01но советник продолжал ставить отложенные ордера 0,1 лота.
Потом нашёл в коде строку:
default: lot = 0.1; //строка 492, поправил на default: lot = 0.01;но после её правки советник просто пишет в журнал
2013.08.21 01:30:04 Master_MM_Droid USDJPY,M5: Ни один ордер не выбрани не работает :(
Что делать?
default: lot = 0.1;
Эта строка в блоке ММ просто выключает любой ММ и возвращает лот равный 0.1 (можете выставить любой), строка сугубо для отладочных целей. Чтобы она заработала, следует присвоить одной или нескольким переменным типа mm_..._mode значения превышающие предопределенные, тогда именно эта строка и заработает. А переменная min_lot получает системное значение в функции init() min_lot = MathMax(NormalizeDouble(virtual_deposit/100000,2), MarketInfo(Symbol(), MODE_MINLOT));
Код же у вас не работает потому что min_lot используется во всех ММ расчетах. Верните все как было и заработает. Если вам нужна торговля именно минимальным лотом, то просто измените режим ММ, как я написал уже ранее, а переменную не трогайте. Либо у вас на счете не доступен лот 0.01.
Ошибка "Master_MM_Droid USDJPY,M5: Ни один ордер не выбран" никуда не делась, хотя я скачал советника заново и запустил уже оригинальный, без изменений.
Ещё вот такое неприятное событие:
В результате советнику ордер так и не удалось удалить, он сработал и висит сейчас ни туда, ни сюда.
Как это исправить?
Ошибка "Master_MM_Droid USDJPY,M5: Ни один ордер не выбран" никуда не делась, хотя я скачал советника заново и запустил уже оригинальный, без изменений.
Ещё вот такое неприятное событие:....
В результате советнику ордер так и не удалось удалить, он сработал и висит сейчас ни туда, ни сюда.
Как это исправить?
Посмотрите в истории счета куда делся ордер 142796449, видно, что советник его выставил, но не видит сам ордер, именно по этому поводу ошибки, почему-то тикет этого ордера не удается получить. Может вы его закрыли а открыли другой? Если он все таки висит, то закройте его и перезапустите робот. У вас нет других советников на этом счете? Если есть посмотрите какой магический номер выставляет другой советник.
Посмотрите в истории счета куда делся ордер 142796449, видно, что советник его выставил, но не видит сам ордер, именно по этому поводу ошибки, почему-то тикет этого ордера не удается получить. Может вы его закрыли а открыли другой? Если он все таки висит, то закройте его и перезапустите робот. У вас нет других советников на этом счете? Если есть посмотрите какой магический номер выставляет другой советник.
(Редактировано) Я просмотрел лог ещё раз, всё стало понятно. В коде ошибка, советник не различает ордера по типам, отложка сработала, открылась позиция на бай но советник всё пытается её удалить как отложку, командой OrderDelete().
Ошибка "Master_MM_Droid USDJPY,M5: Ни один ордер не выбран" никуда не делась, хотя я скачал советника заново и запустил уже оригинальный, без изменений.
Ещё вот такое неприятное событие:....
В результате советнику ордер так и не удалось удалить, он сработал и висит сейчас ни туда, ни сюда.
Как это исправить?
Посмотрите в истории счета куда делся ордер 142796449, видно, что советник его выставил, но не видит сам ордер, именно по этому поводу ошибки, почему-то тикет этого ордера не удается получить. Может вы его закрыли а открыли другой? Если он все таки висит, то закройте его и перезапустите робот. У вас нет других советников на этом счете? Если есть посмотрите какой магический номер выставляет другой советник.
Я просмотрел лог ещё раз, всё стало понятно. В коде ошибка, советник не различает ордера по типам, отложка сработала, открылась позиция на бай но советник всё пытается её удалить как отложку, командой OrderDelete.
А полноценная где и почём?
А полноценная где и почём?
Ахах, полноценная не продается)) Во-первых, я понятия не имею как вообще можно на продаже советника заработать, да и за сколько его продавать, а во-вторых, полноценная версия, то есть "Master_MM_droid, version 5" только около 3 месяцев тестируется на реальном счете, и у меня уже есть как минимум один повод для недовольства, для модернизации же и доведения до ума необходимо выбрать время а я ленюсь.