Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проверил, все работает, только чуть на оборот
робот ставит отложку, ждет когда она сработает, после как сработает выше ставит еще отложку
Если же идет вниз цена, то не чего не происходит
Так у меня тоже получалось сделать...
Нужно же что бы вот выставилась отложка, цена прошла вниз на 200 пунктов, выше цены на 100 выставилась отложка, получается между отложниками с проходом вниз шаг 100 пунктов.
Далее если отложник срабатывает и становится рыночным ордером что бы от самого нижнего ордера, когда цена пошла вниз, снова начали ставятся отложники, прошли от самого нижнего ордера, пусть он рыночный или отложенный на 200 пунктов, выше на 100 поставили отложник... вот над таким алгоритмом весь мозг себе сломал... как бы если просто рыночными работать тут все просто, но мне не нужно что бы через каждые 100 пунктов открывались ордера, пусть ставяться отложники и если цена будет корректироваться чуть вверх что то сработает, но уже в этом виде серия усреднения будет намного меньше.
Тут получается мы выставили отложник, отошли вниз от него на дельта1 + дельта2 пунктов и выше отложника выставляется сетка
нужно что бы под открытым отложником ставился еще один с данными отступами, и если какой либо из них сработает, а цена пойдет ниже, то все эти отступы дельт робот считал от самого нижнего ордера, каким бы он не был, бай или бай стоп.
Идем вниз, а сверху через данные отступы у нас сеточка формируется
Ну замените последний на нижний/верхний, проявите хоть чуточку фантази
{
double oldupprice = 0;
double Upprice = 0;
double olddwprice = 0;
double DWprice = 999999;
int KoL=OrdersHistoryTotal();ArrayInitialize(Mas_KOL,0);
for(int i=Kol-1; i >= 0; i--)
{
if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol()== Symbol()&& OrderMagicNumber() == Magik)
{
oldupprice = OrderOpenPrice();
if (oldupprice > Upprice)
{
Upprice = oldupprice;
}
olddwprice = OrderOpenPrice();
if (olddwprice < Dwprice)
{
Dwprice = olddwprice;
}
Mas_KOL[0]++; //количество ордеров}
}
}
Mas_KOL[1]=Upprice;//цена самого верхнего ордеров неважнокакого типа
Mas_KOL[2]=Dwprice;//цена самого нижненего ордеров неважнокакого типа
}