А теперь сам вопрос. Данный код работает, но неверно. Когда есть явные фракталы по 1 с каждой стороны - все правильно выставляет. Но если есть 2 фрактала в одну сторону, то он выбирает Первый отвечающий параметру > или < пасти, а необходимо чтобы он всегда выбирал самый "свежий" фрактал, т.е. последний.
Как смог написал счетчик отложенных ордеров чтобы выставить ограничение на количество, он работает, но может подскажете другой вариант, потому что дальше мне не понятно как его моделировать чтобы он отнимал -1 когда отложенный ордер станет исполненным.
Спасибо.
Обратите внимание, в строчках
while(NormalizeDouble(PriceH,Digits)==0){ j++; PriceH=iFractals(NULL,0,MODE_UPPER,j);} //задание цены Hi фрактала while(NormalizeDouble(PriceL,Digits)==0){ j++; PriceL=iFractals(NULL,0,MODE_LOWER,j);} //задание цены Low фрактала
поиск начинается с бара j=3, а не 2, не знаю, так ли задумано или нет.
По поводу ордеров - сделайте их подсчет с учетом магика в начале функции start(), после объявления TotB и TotS, статику уберите, она тогда никчему.
TotS=TotS+1; TotB=TotB+1;
тоже уберите.
Обратите внимание, в строчках
поиск начинается с бара j=3, а не 2, не знаю, так ли задумано или нет.
По поводу ордеров - сделайте их подсчет с учетом магика в начале функции start(), после объявления TotB и TotS, статику уберите, она тогда никчему.
так было задумано, фрактал не может образоваться ранее 3 бара, хотя на графике он рисуется, j=2 я выставил чтобы не "поймать" ложный фрактал.
так было задумано, фрактал не может образоваться ранее 3 бара, хотя на графике он рисуется, j=2 я выставил чтобы не "поймать" ложный фрактал.
ага, я так и подумал. Если со счетчиком ордеров будут проблемы, пишите. Будете перебирать ордера, делайте "с конца", а не с 0
for(i=OrdersTotal()-1; i>=0; i--) { OrderSelect(i, SELECT_BY_POS); ..... }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день !
Мой первый опыт написания советника, так что нужна консультация.
Идея была такова, советник выставляет отложенные ордера в обе стороны, по 2 в каждую сторону, со своими размерами лотов и ТР.
Условие выставления - классика от Била - фрактал выше(ниже) пасти аллигатора.
Ограничения - размер возможного убытка не более заданной величины, т.е. если превышаем - ордера не выставляются.
Вот что получилось: