artamir, ,понял. Теперь ещё вопрос: с левой стороны бегают какие-то надписи, циферки. Я их и не вижу, и не понимаю, и не заказывал в ТЗ. Можно их убрать, или, если Вы считаете, что они нужны, то зачем, и нельзя ли их сделать отключаемыми?
Циферки слева в основном мне нужны для отладки и я думаю, что их можно будет убрать. Работа советника от них не пострадает.
san, в этой версии переписан блок закрытия по фикс профиту. теперь рассчитывается с учетом закрытых позиций. И исправлен блок увеличения объема ордера.
В предыдущей версии, мне кажется, работал не правильно.
+ Оптимизировал все, что можно было оптимизировать.
+ Убрал цифры слева. Оставил только нужные.
Пробуйте. Жду отзывов.
После тестирования стратегии, хочу взяться за написание алгоритма работы советника.
Если вдруг возникнут какие-то вопросы, то можно завести отдельную ветку :) А из практики освоения mql знаю, что вопросы возникнут и в большом количестве :)
Если вдруг возникнут какие-то вопросы, то можно завести отдельную ветку smile А из практики освоения mql знаю, что вопросы возникнут и в большом количестве :)
То что возникнут вопросы, это понятно. Как нарисую алгоритм, так и заведем новую ветку.
Но постараюсь нарисовать подробно, что бы меньше вопросов возникало.
artamir, , добрый день! Вот график, правда с тестера, но на нём видно, что есть сработавшие баевый и селловый ордера, но к ним отложенники не выставились (баг?). И расстояние между этими ордерами = 32 пипа, при шаге = 10? Почему 32, а не 30?
расстояние между этими ордерами = 32 пипа, при шаге = 10? Почему 32, а не 30?
Это влияние спреда. Родительские стоповые ордера выставляются друг от друга на расстоянии 2 шага + спред. Пока будем считать это особенностью работы советника.
На остальной алгоритм это никак не влияет.
san
есть сработавшие баевый и селловый ордера, но к ним отложенники не выставились
Про баевые ордера ничего сказать не могу, потому что, судя по скрину, селовая сетка закрылась по тп. Для селового ордера был выставлен бай ордер (синяя стрелка), но скорее всего у совы не хватило денег его открыть. Об этом говорят еще три синие стрелки.
artamir, , и тем не менее, что-то с выставлением отложенников при цеплянии новой сетки не так, как надо-видно, что сетка открылась, сраьотал первый её ордер, а отложенника к нему нет. Средств-за гланлы.
artamir, , и тем не менее, что-то с выставлением отложенников при цеплянии новой сетки не так, как надо-видно, что сетка открылась, сраьотал первый её ордер, а отложенника к нему нет. Средств-за гланлы.
Почему нет? Селовая сетка открылась ордером 27 (первая красная стрелка на линии ордера). Цена пошла вниз и зацепила этот ордер (вторая красная стрелка на линии ордера). К этому ордеру выставился ордер байстоп 29 (первая синяя стрелка на линии ордера). Затем цена развернулась наверх и зацепила этот баевый ордер (вторая синяя стрелка на линии ордера). Т.к. на расстоянии шага от бая 29 есть селл 27, то по техзаданию сов селлстоп ордер к 29 не выставил. Вроде все по тз?
artamir, вроде, когда Вы это пишите, всё по ТЗ, но я никак не могу понять, почему есть незаполненное ордерами поле. Умозрительно, этого не должно быть, либо я чего-то недопонимаю. Если эти незаполнености есть, и от них никуда не деться-надо будет дополнять ТЗ. Но пока я не понимаю, как так получается ( не должно быть такого).
artamir, вроде, когда Вы это пишите, всё по ТЗ, но я никак не могу понять, почему есть незаполненное ордерами поле.
Давайте разберем ситуацию на абстрактном примере. для иллюстрации воспользуемся скрином из вашего поста 212.
Пусть шаг Ш=20
тп=1000
последний (нижний) селл закрытой по тп сетки = с1 = тп+Ш = 1000+20=1020;
его байстоп=бс1=с1+Ш=1020+20=1040;
После срабатывания тп (1000) с1 закрывается. Новая сетка селловых ордеров еще не выставлена.
Ближайший к цене (1000) ордер - это бс1=1040, т.е. = 2Ш
Выставляется сетка селлстоп ордеров на расстоянии Ш от цены тп. сс2=тп-Ш=1000-20=980
между сс2 и бс2 расстояние = бс2-сс2 = 1040-980=60/20=3Ш
Когда цепляется первый сс2 по цене 980 к нему выставляется бс2 по цене = сс2+Ш=980+20=1000. т.е. фактически по цене тп.
Между бс2 и бс1 расстояние = 1040-1000=40/20=2Ш.
Следовательно после выставления новой сетки и цепляния ее первого стопового ордера, образуется разрыв = 2Ш.
artamir, , спасибо, теперь дошло. Тогда мне надо ввести дополнение в ТЗ: если образуется такой разрыв , то на расстоянии Ш от отложенного ордера надо выставить ещё один стоповый ордер в том же направлении, чтобы таких разрывов не было. Я надеюсь понятно донёс, чего мне хочется (мне-то понятно, а поняли ли Вы чего я хочу?).
artamir, , спасибо, теперь дошло. Тогда мне надо ввести дополнение в ТЗ: если образуется такой разрыв , то на расстоянии Ш от отложенного ордера надо выставить ещё один стоповый ордер в том же направлении, чтобы таких разрывов не было. Я надеюсь понятно донёс, чего мне хочется (мне-то понятно, а поняли ли Вы чего я хочу?).
не понятно :(
1)Какие разрывы имеются в виду? те которые образуются после закрытия по тп?. между сетками одного направления? или какие-то еще?
2)От какого отложенного ордера нужно выставлять?
3)Стоповый ордер в каком том же направлении?
Я думаю, что есть смысл уточнить ваши ответы примером. как в посте 215. так будет понятнее. И мне, чтоб написать код и вам, чтоб было понятнее как будет работать советник.
artamir, ,
Пусть шаг Ш=20
тп=1000
последний (нижний) селл закрытой по тп сетки = с1 = тп+Ш = 1000+20=1020;
его байстоп=бс1=с1+Ш=1020+20=1040;
После срабатывания тп (1000) с1 закрывается. Новая сетка селловых ордеров еще не выставлена.
Ближайший к цене (1000) ордер - это бс1=1040, т.е. = 2Ш
Выставляется сетка селлстоп ордеров на расстоянии Ш от цены тп. сс2=тп-Ш=1000-20=980
между сс2 и бс2 расстояние = бс2-сс2 = 1040-980=60/20=3Ш
Когда цепляется первый сс2 по цене 980 к нему выставляется бс2 по цене = сс2+Ш=980+20=1000. т.е. фактически по цене тп.
Между бс2 и бс1 расстояние = 1040-1000=40/20=2Ш. Поэтому на 1020 надо поставить ещё стоповый ордер, чтобы при откате вверх не было пустот на расстоянии Ш.