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

Russian system of Senchakov

russian system ea of senchakov.mq4
Вы автор или правообладатель?

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

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

О программе

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

Советник отслеживает общий результат по всем открытым ордерам и при достижении заданного порога прибыли в процентах от баланса автоматически закрывает все позиции и удаляет отложенные ордера. Если на счёте отсутствуют активные ордера, советник повторно открывает сетку.

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

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

НастройкаОписание
percent_lot Процент от свободного маркета счёта, используемый для расчёта размера лота при открытии сетки.
percent_profit Порог прибыли в процентах от баланса счёта. При достижении указанного уровня прибыли все ордера и позиции закрываются.
Step Шаг сетки, используемый при размещении отложенных ордеров. Определяет расстояние между ордерами в пунктах.
magic Магическое число для идентификации ордеров, размещённых советником. Используется для фильтации при управлении позициями и ордерами.
Получить полный код

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

extern double percent_lot=3;//%
extern double percent_profit=2.2;//%
extern int Step=8;//???
extern int magic=092341;

double lots;//?????? ???
double sizelot=0;
int Ticket=-1;
double pp;

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

int deinit()
  {
   close_reserved();
   return(0);
  }

void OpenGrid()
{

 double Free_margin = AccountFreeMargin();
 double One_Lot_cost = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
 double Step_lot = MarketInfo(Symbol(),MODE_LOTSTEP);
 double lots = MathFloor(Free_margin*percent_lot/100/One_Lot_cost/Step_lot)*Step_lot;  

  int i;
  int Step_tmp;
  int n;
  for (i=1;i<=20;i++)
  {

    if (i==1) {sizelot=lots;Step_tmp=Step;} else {sizelot=sizelot+lots;Step_tmp=Step_tmp+Step;}
    n=3;
    Ticket=-1;

    while (Ticket<0 && n>0)
    {
      Ticket=OrderSend(Symbol(),OP_BUYSTOP,sizelot,NormalizeDouble(Bid+Step_tmp*pp,Digits),3,0,0,"buy RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Blue);
      n--;
    }     

    n=3;
    Ticket=-1;

    while (Ticket<0 && n>0)
    {    
      Ticket=OrderSend(Symbol(),OP_SELLSTOP,sizelot,NormalizeDouble(Ask-Step_tmp*pp,Digits),3,0,0,"sell RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Red); 
      n--;
    }     
  }

  for (i=1;i<=10;i++)
  {

    if (i==1) {sizelot=lots;Step_tmp=Step*2;} else {sizelot=sizelot+lots;Step_tmp=Step_tmp+Step*2;}
    n=3;
    Ticket=-1;

    while (Ticket<0 && n>0)
    {
      Ticket=OrderSend(Symbol(),OP_BUYLIMIT,sizelot,NormalizeDouble(Bid-Step_tmp*pp,Digits),3,0,0,"buy RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Blue);
      n--;
    }     

    n=3;
    Ticket=-1;

    while (Ticket<0 && n>0)
    {    
      Ticket=OrderSend(Symbol(),OP_SELLLIMIT,sizelot,NormalizeDouble(Ask+Step_tmp*pp,Digits),3,0,0,"sell RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Red); 
      n--;
 

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

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

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

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

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

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

Стоимость полного кода
284,60₽ ≈ $3.48