Форум трейдеров » Торговые роботы, советники, индикаторы » Помогите со скриптом, плиз
+ Подписаться
Страница 2 из 2 ПерваяПервая 12
  1. 11,864
    Комментарии
    346
    Темы
    10623
    Репутация Pro
     
    Старожил

    8 Медалей
    Никто не подскажет - нужен скрипт, ставящий стоп в б/у.

    Например, чтобы сразу выставить в несколько ордеров, чтоб руками этого не делать. Также возможно там и тейк-профит можно также выставлять.
  2. 1,321
    Комментарии
    7
    Темы
    1547
    Репутация Pro
    Аватар для Владимир Гербатов  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от FX_Master Посмотреть сообщение
    Никто не подскажет - нужен скрипт, ставящий стоп в б/у.
    Вот завалялся. Сам когда то писал, поначалу пользовался, а потом перестал. Ну тут дело не в советнике, а скорее в методах торговли. Не всегда требуется ставить стоп в б/у только по удаленности цены в сторону прибыли.
    Но если нужно, пользуйтесь.

    Внешние переменные (настройки).

    Loss_Range - Уровень прибыли в пунктах, при достижения которого происходит перенос стопа в б/у.
    Profit - Фиксируемая стопом прибыль в пунктах, при переносе стопа. Если 0 значит StopLoss = OpenPrice.

    Код:
    extern int Loss_Range = 10;
    extern int Profit = 0;
    
    int start() {
    	for(int i=OrdersTotal(); i>=0; i--) {
    		if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false || OrderSymbol() != Symbol()) continue;
    		if (OrderType() == OP_BUY && OrderOpenPrice() > OrderStopLoss() && OrderOpenPrice() <= Bid - Loss_Range * Point) {
    			OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + Profit * Point, OrderTakeProfit(), 0, CLR_NONE);
    		}
    		if (OrderType() == OP_SELL && OrderOpenPrice() >= Ask + Loss_Range * Point && (OrderOpenPrice() < OrderStopLoss() || OrderStopLoss() == 0)) {
    			OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - Profit * Point, OrderTakeProfit(), 0, CLR_NONE);
    		}
    	}
    	return(0);
    }

Вверх
РегистрацияX

чтобы писать, читать, комментировать