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

Scalp2

scalp2.mq4

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

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Scalp2 — торговый советник для MetaTrader 4, использующий сигналы пользовательского индикатора для открытия и закрытия рыночных позиций. Советник фильтрует вход по спреду, размещает ордера Buy/Sell с фиксированными параметрами StopLoss и TakeProfit, а также поддерживает трейлинг-стоп.

Управление лотом реализовано с возможностью увеличения размера позиции в зависимости от результата предыдущих сделок с заданным множителем и ограничением максимального лота. Все ордера маркируются магическим номером для идентификации и управления.

Закрытие позиций может выполняться автоматически при развороте сигнала индикатора. Советник работает на каждом тике, обрабатывая рыночные события и торговые операции через стандартные средства MetaTrader 4.

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

НастройкаОписание
MaxSpread Максимально допустимый спред в пунктах для открытия позиций.
Lots Начальный размер лота для открытия позиции.
KLot Множитель, на который увеличивается лот после убыточной сделки.
MaxLot Максимально допустимый размер лота. При превышении лот сбрасывается до начального значения.
StopLoss Стоп-лосс для открытой позиции, задаётся в пунктах.
TakeProfit Тейк-профит для открытой позиции, задаётся в пунктах.
TrailingStop Расстояние трейлинг-стопа от текущей цены в пунктах. При значении 0 трейлинг отключён.
TrailingStep Шаг трейлинг-стопа, определяющий расстояние до текущей цены в пунктах.
TrailingStart Минимальная прибыль в пунктах, при достижении которой активируется трейлинг-стоп.
Slip Допустимое отклонение цены при исполнении ордера в пунктах.
Shift Сдвиг бара индикатора, определяющий, с какого бара считывать сигнал.
CloseSig Прибыль, при достижении которой позиция закрывается в пунктах.
Magic Магический номер, используемый для идентификации ордеров, управляемых данным советником.
IndName Имя пользовательского индикатора, сигналы которого используются для открытия и закрытия позиций.
PeriodSetting Параметр периода, передаваемый пользовательскому индикатору при расчёте сигналов.
Получить полный код

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

#property version   "1.00"
#property strict

input int MaxSpread      = 10;       // Max Spread
extern double Lots       = 0.1;      // лот
extern double KLot       = 1;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 2000;     // лось
extern int TakeProfit    = 3000;     // язь
extern int TrailingStop  = 250;      // трал
extern int TrailingStep  = 20;       // шаг трала
extern int TrailingStart = 300;      // старт трала
extern int Slip          = 30;       // реквот
extern int Shift         = 2;        // бар индикатора
extern int CloseSig      = 1;        // 1-закрытие по сигналу
extern int Magic         = 123;      // магик

extern string IndName    = "Ts scalp 8";
extern int PeriodSetting = 3;
double _spread;
bool newtrade;

int OnInit()
  {
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
  {
   Comment("");
  }

void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0)
         sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0)
         sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,_Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }

int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2)
               count++;
           }
        }
     }
   return(count);
  }

double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()>0)
               break;
            if(OrderProfit()<0)
              {
               lot=OrderLots()*KLot;
               break;
              }
           }
        }
     }
   if(lot>MaxLot)
      lot=Lots;
   return(lot);
  }

void Trailing()
  {
   bool mod;
   double sl=0;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRA

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

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

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

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

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

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

Стоимость полного кода
334,10₽ ≈ $4.08