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

simplesar_ea2.mq4

Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматизирует процесс управления ордерами, используя концепцию параболического SAR для определения уровней входа и стоп-лосса.

При отсутствии открытых позиций и отложенных ордеров советник выставляет два отложенных ордера — BUYSTOP и SELLSTOP — на уровнях, рассчитанных с учётом параметра SAR_Step. Для защиты позиций используется механизм трейлинга стоп-лосса с шагом, задаваемым параметром TrailingStep.

Советник фильтрует ордера по магическому числу MAGICMA и символу графика, что позволяет использовать его одновременно на нескольких инструментах без взаимного влияния. Все торговые операции выполняются через стандартные торговые функции MetaTrader 4.

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

НастройкаОписание
SAR_Step Шаг параболического SAR в пунктах. Определяет расстояние от текущей цены до уровня отложенного ордера, а также величину стоп-лосса при управлении позициями.
TrailingStep Шаг трейлинга стоп-лосса в пунктах. Задаёт минимальное расстояние перемещения стоп-лосса при обновлении уровня защиты позиции.
Lots Объём торговой сделки в лотах. Используется при открытии отложенных ордеров BUYSTOP и SELLSTOP.
Получить полный код

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

#define MAGICMA  3567510

extern int SAR_Step=300;
extern int TrailingStep=50;
extern double Lots=0.1;

int TicketB, TicketS, TicketBS, TicketSS;

double SAR_Step_Point, TrailingStep_Point;

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

int deinit()
{
   return(0);
}

void CalculateCurrentOrders(string symbol)
{
   TicketB=0; TicketS=0; TicketBS=0; TicketSS=0;
   for(int i=0;i<OrdersTotal();i++)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
      {
         if(OrderType()==OP_BUY) TicketB=OrderTicket();
         if(OrderType()==OP_SELL) TicketS=OrderTicket();
         if(OrderType()==OP_BUYSTOP) TicketBS=OrderTicket();
         if(OrderType()==OP_SELLSTOP) TicketSS=OrderTicket();
      }
   }
}

int start()
{
      // код доступен только после оплаты
   }
   int res;
   double Old_Level, New_Level, P_Level;
   CalculateCurrentOrders(Symbol());

   if (TicketB>0)
   {
      if (OrderSelect(TicketB,SELECT_BY_TICKET,MODE_TRADES))
      {
         New_Level=NormalizeDouble(Bid-SAR_Step_Point,Digits);
         Old_Level=OrderStopLoss();
         if (New_Level-Old_Level>=TrailingStep_Point)
         {
            New_Level=Old_Level+MathFloor((New_Level-Old_Level)/TrailingStep_Point)*TrailingStep_Point;
            New_Level=NormalizeDouble(New_Level,Digits);
            OrderModify(OrderTicket(), 0, New_Level, 0, 0);
            P_Level=NormalizeDouble(New_Level+SAR_Step_Point-Bid+Ask,Digits);
            

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

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

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

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

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

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

Стоимость полного кода
246,20₽ ≈ $3.01