Я конечно хочу сам написать код, но писать буду долго походу( Решил пока выложить идею на общее обозрение, может кто-то расторопнее меня l-)
Стратегия сама по себе рассчитана на вытягивание максимальной прибыли с минимальными просадками (да да ничего нового 8->)
Описание: По большей части ориентировано на ренко, но на самом деле и без них все работает.
Самый первый вход (начало работы робота) мы смотрим на MA(14) (можно настраивать) и если цена выше, то покупаем, а если ниже продаем. больше нам машка никогда не потребуется (до перезапуска бота естественно).
Нулевой ордер (он же базовый) рассчитывается из риска (в параметрах) и стоп у него 10.0п(настраиваемый параметр), если он сработал, то открываем нулевой ордер в обратном направлении с перерасчетом риска. Если профит достигает 20.0п (настраиваемый параметр + спред), то мы открываем основной ордер 0.5X относительно нулевого (настраиваемый параметр) это уже является основным ордером и все последующие с такой же лотностью. А у нулевого ордера кидаем стоп между открытием нулевого и открытием основного, потом мы тралим каждые 5 пунктов, пока стоп не станет больше либо равен основному ордеру (потом уже не тралим). Теперь если стоп у нулевого сработает, то мы закрываем нулевой, но цепочку прекращать не перестаем пока выполняются условия ниже.
Основные ордера открываются каждые 20.0п+спред (настраиваемый параметр) и стопом 17.0п (настраиваемый параметр) Если сработал стоп хоть у одного из ордеров, то мы закрываем всю цепочку и нулевой ордер открываем в противоположную сторону с перерасчетом риска соответственно (стоп стоит на током уровне, что если он сработал, тоскорее всего импульс или тренд сменились). А так цепочка пусть растет пока тренд/импульс прет.
В итоге мы только теряем 1 ордер (и то небольшой профит получает даже он) а все остальные ловят профит. т.е. рискуем только базовым ордером до открытия основного.
Ниже я привел параметры которые хотел бы использовать
input bool Broker5x=false; //Если true то все пункты умножаем на 10 (еси есть авто детектор то можно убрать его)
input bool FixedLot=false; //Если мы не хотим рассчитывать риски, для нулевого ордера
input bool DinamicSpread=false;//Иногда фиксированный средний спред бывает удобнее динамического (с ним геморроя на мой взгляд больше)
input int MA=14;//Машка
input double Lot=1.00;//Лот он и в Африке лот.
input double Percentage=2.0;//Сам риск в %
input double Follow=0.5;//Это коэффициент основных ордеров относительно нулевого
input int StopZerro=10;//Стоп нулевого ордера
input int FollowStop=17;//Стоп основных ордеров (естественно расчет идет от BID при покупке и ASK при продаже)
input int Distance=20;//Каждые сколько пунктов открывать новый ордер (Расчет идет от ASK при покупке и BID при продаже)
input int MiddleSpread=2;//Его мы приплюсовываем к дистанции

