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

easytrendsys.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный скрипт представляет собой торгового робота (Expert Advisor) для платформы MetaTrader 4. Он использует сигналы внешнего индикатора "Signals" на двух таймфреймах — 60 минут и 5 минут — для принятия решений об открытии сделок. При совпадении первого и второго сигналов робот открывает ордера на покупку или продажу.

Робот поддерживает два магических номера для идентификации ордеров и реализует несколько защитных механизмов: трейлинг-стоп, безубыточность (break even), фиксацию прибыли (тейкпрофит) и стоп-лосс. Также доступен режим управления рисками с автоматическим расчётом размера лота на основе процента от свободного маржинального баланса.

Функция CalculateCurrentOrders отслеживает текущие открытые позиции, а функции MoveTrailingStop и MoveBreakEven корректируют параметры активных ордеров. Закрытие позиций выполняется по сигналам индикатора "Signals" при подтверждении на втором таймфрейме.

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

НастройкаОписание
S1 Разделитель Magic Number — Текстовый разделитель секции магических номеров.
MAGICMA1 Магический номер 1 — Первый магический номер для идентификации ордеров, открытых роботом.
MAGICMA2 Магический номер 2 — Второй магический номер для идентификации ордеров, открытых роботом.
S2 Разделитель настроек сигналов — Текстовый разделитель секции настроек сигналов.
RISK Параметр риска — Параметр риска, передаваемый во внешний индикатор Signals для расчёта сигналов.
S3 Разделитель настроек лота — Текстовый разделитель секции настроек лота.
lot size (Lot) Размер лота — Размер лота для открытия ордеров.
risk management (RiskMM) Управление риском — Переключатель управления рисками — при включении размер лота рассчитывается автоматически на основе процента от свободного маржинального баланса.
risk percentage (RiskPercent) Процент риска — Процент риска от свободного маржинального баланса для автоматического расчёта размера лота.
S4 Разделитель настроек TP/SL/BE — Текстовый разделитель секции настроек TP, SL и BE.
takeprofit (TP) Тейкпрофит — Тейкпрофит в пунктах для открытых ордеров.
stoploss (SL) Стоп-лосс — Стоп-лосс в пунктах для открытых ордеров.
break even (BreakEven) Безубыточность — Уровень безубыточности — при достижении указанной прибыли в пунктах стоп-лосс перемещается в точку безубыточности.
S5 Разделитель настроек трейлинга — Текстовый разделитель секции настроек трейлинга.
trailing stop (TrailingStop) Трейлинг-стоп — Расстояние трейлинг-стопа в пунктах — дистанция от цены до стоп-лосса при активном трейлинге.
trailing step (TrailingStep) Шаг трейлинга — Шаг трейлинг-стопа в пунктах — интервал перемещения стоп-лосса.
Получить полный код

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

extern string S1="---------------- Magic Number";
extern int MAGICMA1=34268732;
extern int MAGICMA2=32685632;

extern string S2="---------------- Signals Settings";
extern int RISK=4;

extern string S3="---------------- Lot Settings";
extern double  Lot = 0.1; //---------------------lot size
extern bool RiskMM=false;  //---------------------risk management
extern double RiskPercent=1;  //------------------risk percentage

extern string S4="---------------- TP&SL&BE Settings";
extern double  TP = 100;  //----------------------takeprofit
extern double   SL = 50;  //---------------------stoploss
extern int BreakEven=60;//-----------------------break even

extern string S5="---------------- Trailing Settings";
extern int TrailingStop=60;//--------------------trailing stop
extern int TrailingStep=20;//--------------------trailing step

bool BuySignal=false, SellSignal=false;

int CalculateCurrentOrders(string symbol)
  {
   int buys=0,sells=0;
for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && (OrderMagicNumber()==MAGICMA1 || OrderMagicNumber()==MAGICMA2))
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }

   if(buys>0) return(buys);
   else       return(-sells);
  }

double Signals(int TF, int mode, int shift)
{
return (iCustom(Symbol(), TF, "Signals", RISK, mode, shift));
}

int FirstSignal()
{

double SignalsBuy_1 = Signals(60,0,1);
double SignalsBuy_2 = Signals(60,0,2);
double SignalsSell_1 = Signals(60,1,1);
double SignalsSell_2 = Signals(60,1,2);

if (SignalsBuy_2==0 && SignalsBuy_1!=0) return(1);

if (SignalsSell_2==0 && SignalsSell_1!=0) return(-1);

}

int SecondSignal()
{
double SignalsBuy5_1 = Signals(5,0,1);
double SignalsBuy5_2 = Signals(5,0,2);
double SignalsSell5_1 = Signals(5,1,1);
double SignalsSell5_2 = Signals(5,1,2);

if (SignalsBuy5_2==0 && SignalsBuy5_1!=0) return (1);

if (SignalsSell5_2==0 && SignalsSell5_1!=0) return (-1);

}

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

 void CheckForClose()
 {

   for( int i = 0; i < OrdersTotal(); i++ )
   {
      if( OrderSelect(i, SELECT_BY_POS) == -1 ) { continue; }
      if( OrderMagicNumber() != MAGICMA2 || OrderSymbol() != Symbol() ) { continue; }

      if( OrderType() == OP_BUY )
      {
         OrderClose(OrderTicket(), OrderLots(), Bid, 2, Blue);
      }
      else if( OrderType() == OP_SELL )
      {
         OrderClose(OrderTicket(), OrderLots(), Ask, 2, Red);
      }
   } 
} 

void Mo

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

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

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

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

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

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

Стоимость полного кода
533,70₽ ≈ $6.52