Помогите исправить ошибки в советнике

 

Всем доброго дня!


Есть советник который при торговле использует отложенные ордера.

1. Заметился глюк в советнике, примерно после недели непрерывной торговле на VPS, советник перестает открывать ордера хотя тренд уходит до 100 пунктов вверх или вниз.

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

2. Заметился глюк в советнике. Пример: цена уходит в бычий тренд, открываем ордера на sell с лотом 0.50, 1.00, 2.00, 4,00 и т.д. пока цена не откатится в нашу пользу. Так вот суть проблемы, когда цена вернется до уровня ордера на 4.00 лота, то эта сделка перекроет все предыдущие, но при этом остается отложенный ордер объемом 8,00 лот. По идее после закрытия ордера в 4 лота, отложенный на 8 лот должен удаляться. И устанавливается опять с 0.50 лот. Такая проблема тоже проявляется периодически.

Думаю в советнике плохо реализован механизм контроля ордеров. Есть добрые люди, готовые помочь исправить трабл?

Вложение удалено: декомпилированные файлы размещать на форуме запрещено - granit77

 
xxxspider:

Всем доброго дня!

Есть советник который при торговле использует отложенные ордера.

1. Заметился глюк в советнике, примерно после недели непрерывной торговле на VPS, советник перестает открывать ордера хотя тренд уходит до 100 пунктов вверх или вниз.

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

2. Заметился глюк в советнике. Пример: цена уходит в бычий тренд, открываем ордера на sell с лотом 0.50, 1.00, 2.00, 4,00 и т.д. пока цена не откатится в нашу пользу. Так вот суть проблемы, когда цена вернется до уровня ордера на 4.00 лота, то эта сделка перекроет все предыдущие, но при этом остается отложенный ордер объемом 8,00 лот. По идее после закрытия ордера в 4 лота, отложенный на 8 лот должен удаляться. И устанавливается опять с 0.50 лот. Такая проблема тоже проявляется периодически.

Думаю в советнике плохо реализован механизм контроля ордеров. Есть добрые люди, готовые помочь исправить трабл?


код декомпелирован - обратитесь к автору советника
 

Мир Вашему дому!

Пан Модератор, Ваше Превосходительство! Может, я не в ту ветку влез? (Что-то в последние 60 лет туго соображаю... Старею, что ль?..) Так Вы меня просветите, прежде чем голову с плеч...

Меня интересует MACD Sample, который идёт с терминалом (MT4, MQL4).

Открытие ордера обусловлено:

total=OrdersTotal();

if(total<1)

(...открывается ордер).

Вскочило два вопроса и оба чешутся: 1) где определена и где изменяется переменная total? 2) По приведённому условию, КАЖЕТСЯ, ордер может быть открыт только один, а открывается обойма.

Что надо знать и уметь, чтобы открывался один ордер?

 

LaMancia:

Что-то в последние 60 лет туго соображаю...

Меня интересует MACD Sample, который идёт с терминалом (MT4, MQL4).

total=OrdersTotal(); if(total<1) (...открывается ордер).

два вопроса
1) где определена и где изменяется переменная total?
2) По приведённому условию, КАЖЕТСЯ, ордер может быть открыт только один, а открывается обойма.

Что надо знать и уметь, чтобы открывался один ордер?


1. При всём уважении к вашему возрасту, но это вопрос, простите, конкретно детский.

Посмотрите выше в этой функции start в самом её начале. Есть блок объявления всех переменных.

2. Это вам действительно КАЖЕТСЯ. Открывается только один.

 
sergeev:

1. При всём уважении к вашему возрасту, но это вопрос, простите, конкретно детский.

Посмотрите выше в этой функции start в самом её начале. Есть блок объявления всех переменных.

2. Это вам действительно КАЖЕТСЯ. Открывается только один.

И правда, старею...

 
abolk:

код декомпелирован - обратитесь к автору советника

доброго времени суток!


Если бы я знал разработчика, то обратился. Может кому в личку отправить советника для изучения проблемы?

 
xxxspider:

доброго времени суток!

Если бы я знал разработчика, то обратился. Может кому в личку отправить советника для изучения проблемы?


декомпелированный код - это код, который получен помимо воли автора в нарушение его авторских прав.
если бы автор считал допустимым, чтобы кто-то имел возможность вносить измения в его код, он бы выложил исходник.
посему, ковыряться в декомпелированной коде - это нарушать авторские права его создателя.

попробуйте найти программиста, считающего допустимым за материальное или иное вознаграждение попирать волю своего же коллеги.

 
abolk:

...Попробуйте найти программиста, считающего допустимым... попирать право...

Прекрасно сказано! +100! :-)

Мораль - во весь рост... В наше время. В интернете.

abolk, снимаю шляпу!

 

И всё-таки: кто-нибудь подскажет, как избавиться от множественности ордеров в одном баре в MACD Sample? Поскольку депозит "огромен" (меньше сотни), он и съедается мгновенно...

Спасает условие направления МА, но оно запрещает и много полезных ордеров...

Вынесение total в глобальные — ноль пользы, т. ч. управление этой переменной для меня остаётся тайной за семью печатями. Собственная дополнительная переменная — будто её и нет.

Не помогайте материально — подарите совет!

Причина обращения: