← К каталогу
Исходный код · ID 2665

tight_trailing_stops(manual).mq4

Похожие материалы по тегам

tight_trailing_stops.mq4MQL4 / MetaTrader 4 · 1 общих теговforex combo 1.46 edu.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный файл представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник предназначен для управления стоп-лоссами открытых позиций: он поддерживает два режима — трейлинговый стоп и фиксацию прибыли (tight stop).

В режиме трейлингового стопа советник отслеживает движение цены и сдвигает уровень стоп-лосса вслед за позицией с заданным шагом. При развороте цены в сторону открытия позиции ордер автоматически закрывается. В режиме tight stop позиции закрываются, когда неуправляемая прибыль достигает заданного порога в пипсах.

Советник идентифицирует свои ордера по магическому номеру и не позволяет отслеживать более одного ордера одновременно на одном символе. Все параметры работы доступны как внешние настройки, которые можно изменить перед запуском.

Настройки программы

НастройкаОписание
UseTightStop Включить tight stop — Логический переключатель, включающий или выключающий режим фиксации прибыли (tight stop) для открытых позиций.
ScalpPips Пипсы фиксации прибыли — Целочисленный параметр, задающий порог прибытия в пипсах для автоматического закрытия позиции в режиме фиксации прибыли (tight stop).
UseTrailing Включить трейлинг — Логический переключатель, включающий или выключающий режим трейлингового стопа для открытых позиций.
TrailingAct Активация трейлинга — Числовой параметр, определяющий расстояние от цены открытия позиции, при превышении которого активируется трейлинговый стоп.
TrailingStep Шаг трейлингового стопа — Числовой параметр, задающий расстояние в точках для сдвига уровня стоп-лосса при движении цены в пользу позиции.
Получить полный код

Поиск по коду файла

#define OrderID 1928378

   extern bool UseTightStop=false;
   extern int ScalpPips=3;
   extern bool UseTrailing    = false; 

   extern double  TrailingAct   = 6;    
   extern double  TrailingStep   = 3; 
   int TrailPrice;

void TrailingPositions() {
  for (int i=0; i<OrdersTotal(); i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==Symbol() ) {
         if (OrderType()==OP_SELL) {
            if (OrderOpenPrice()-Ask>TrailingAct*Point && TrailPrice ==0) {
               TrailPrice=Ask+TrailingStep*Point;
               Print("TRAIL PRICE SET: ",TrailPrice);
               if(TrailingStep > 8){
                  ModifyStopLoss(TrailPrice);
               }
            }
            if (TrailPrice!=0 && Ask+TrailingStep*Point < TrailPrice  ){
               TrailPrice=Ask-TrailingStep*Point;
               Print("TRAIL PRICE MODIFIED: ",TrailPrice);
               if(TrailingStep > 8){
                  ModifyStopLoss(TrailPrice);
               }
            }
            if (TrailPrice != 0 && Ask >= TrailPrice ){
               CloseOrder(2);
            }
         }
         if (OrderType()==OP_BUY) {
            if (Bid-OrderOpenPrice() > TrailingAct*Point && TrailPrice ==0) {
               TrailPrice=Bid-TrailingStep*Point;
               Print("TRAIL PRICE MODIFIED: ",TrailPrice);
               if(TrailingStep > 8){
                  ModifyStopLoss(TrailPrice);
               }
            }
            if (TrailPrice!= 0 && Bid-TrailingStep*Point > TrailPrice ){
               TrailPrice=Bid-TrailingStep*Point;
               Print("TRAIL PRICE MODIFIED: ",TrailPrice);
               if(TrailingStep > 8){
                  ModifyStopLoss(TrailPrice);
               }
            }
            if (TrailPrice != 0 && Bid <= TrailPrice ){
               CloseOrder(1);
            }   
         }
      }
   }
}
}

void CloseOrder(int ord){
    for(int i=0;i<OrdersTotal();i++){
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);    
      if (OrderType()==OP_BUY

Показано первые 50% кода (символов: 2598)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
259,80₽ ≈ $3.18