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

semilong_www.forex-instruments.info.mq4

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

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

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

О программе

semilong — торговый советник для MetaTrader 4, анализирующий ценовые движения по двум наборам параметров сдвига и порога. На каждом тике советник сравнивает текущую цену Bid с историческими значениями Close на заданных сдвигах и при достижении условий открывает позиции Buy или Sell.

Советник поддерживает фиксированный и автоматический расчёт лота на основе доступного маржинального баланса. При включённом автолоте размер позиции вычисляется с учётом коэффициента деления маржи и ограничивается минимальным и максимальным значениями. Также реализована функция уменьшения лота при серии убыточных сделок.

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

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

НастройкаОписание
Profit Расстояние тейк-профита в пунктах от цены открытия позиции.
Loss Расстояние стоп-лосса в пунктах от цены открытия позиции.
Shift1 Первый сдвиг в барах, определяющий, с какой исторической свечи берётся цена для сравнения с текущей при формировании сигнала.
Move1 Первый пороговый уровень в пунктах для формирования сигнала на открытие позиции Buy или Sell.
Shift2 Второй сдвиг в барах, добавляемый к первому для выбора дополнительной исторической свечи при формировании сигнала.
Move2 Второй пороговый уровень в пунктах для дополнительного условия формирования сигнала на открытие позиции.
Decr Коэффициент уменьшения лота при серии убыточных сделок. Каждая убыточная позиция в ряду снижает рассчитанный лот на 1/Decr от текущего значения.
Lots Фиксированный размер лота, используемый при отключённом автоматическом расчёте или как минимальное значение при автолоте.
Trailing Расстояние трейлинг-стопа в пунктах. При превышении цены прибыли над этим значением стоп-лосс перемещается вслед за ценой.
Autolot Переключатель автоматического расчёта размера лота. При включении лот вычисляется на основе свободного маржинального баланса; при выключении используется фиксированное значение параметра Lots.
AutoMrgDiv Делитель маржи для автоматического расчёта размера лота. Определяет, какую долю свободного маржинального баланса использовать при вычислении лота (AccountFreeMargin() / (AutoMrgDiv * 1000)).
Получить полный код

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

extern int       Profit=120;
extern int       Loss=60;
extern int       Shift1=100;
extern int       Move1=60;
extern int       Shift2=10;
extern int       Move2=30;
extern int       Decr=14;

extern double       Lots=1;
extern int Trailing=0;
extern bool  Autolot=true;
extern int   AutoMrgDiv=7;

int Magic=1915;
int spr;
int tp,sl,d;
bool isOrder,buy,sell;

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

int deinit()
  {

   return(0);
  }

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

   int i;
   if (IsTradeAllowed()) isOrder=true;
     for(i=0; i<=OrdersTotal();i++) 
     {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if (OrderMagicNumber()==Magic && OrderSymbol()==Symbol())isOrder=false;
     }
   buy=false;
   sell=false;
   if (Bid-Close[Shift1]<-Move1*Point && Close[Shift1]-Close[Shift1+Shift2]>Move2*Point) buy=true;
   if (Bid-Close[Shift1]>Move1*Point && Close[Shift1]-Close[Shift1+Shift2]<-Move2*Point) sell=true;
   if (AccountFreeMargin()<GetLots()*2000) isOrder=false;
   if (isOrder && buy) {OrderSend(Symbol(),OP_BUY,GetLots(),Ask,3,(Bid-(Loss)*Point)*sl,(Ask+(Profit+spr)*Point)*tp,"",Magic,0,FireBrick); d=Day();
   }
   if (isOrder && sell) {OrderSend(Symbol(),OP_SELL,GetLots(),Bid,3,(Ask+(Loss)*Point)*sl,(Bid-(Profit+spr)*Point)*tp,"",Magic,0,DarkViolet);

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

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

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

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

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

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

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