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

Hunter Scalper

hunter_scalper1.10@amazing_owner.mq4
Вы автор или правообладатель?

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

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

О программе

Hunter Scalper — это торговый советник для MetaTrader 4, ориентированный на работу с парами EURAUD, EURCHF и USDCHF на таймфрейме 15 минут. Советник анализирует ценовые данные, используя скользящие средние и индикатор волатильности для определения момента открытия и закрытия позиций.

Советник работает в заданный временной интервал (настройки HourStart и HourEnd) и контролирует допустимый спред. При достижении условий для входа в позицию он открывает ордера на покупку или продажу с автоматической установкой уровней стоп-лосса и тейк-профита.

Режим управления риском позволяет выбрать между фиксированным размером лота и расчётом объёма позиции на основе доступного маржинального капитала. Советник также отслеживает открытые позиции и закрывает убыточные в соответствии с заданными параметрами.

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

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

НастройкаОписание
MaxSpread Максимальный спред — Максимально допустимый спред для открытия позиций.
MaxSlippage Максимальное проскальзывание — Допустимое проскальзывание цены при отправке ордеров.
TradingSettings Текстовые торговые настройки — Текстовый параметр с информацией о торговых настройках.
HourStart Час начала — Час начала торговой сессии (платное время).
HourEnd Час окончания — Час окончания торговой сессии (платное время).
Lots Размер лота — Размер лота для фиксированного режима торгов.
UseRisk Использовать риск — Переключатель режима управления риском: включён — расчёт лота по марже, выключен — фиксированный лот.
MaxRisk Максимальный риск — Максимальный коэффициент риска, используемый при расчёте объёма позиции.
StopLoss Стоп-лосс — Значение стоп-лосса в пунктах для открытых позиций.
TakeProfit Тейк-профит — Значение тейк-профита в пунктах для открытых позиций.
Получить полный код

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

#property version    "1.10"
#property strict
#property description"\nEURAUD/EURCHF/USDCHF 15M 㼛ICMarket/TickMill/Pepperstone ECN"

extern double MaxSpread=4  ;   
extern double MaxSlippage=1  ;   
extern string TradingSettings="The following time is platform time"; 
extern int   HourStart=23  ;    
extern int   HourEnd=1  ;    
extern double Lots=0.01  ;    
extern bool UseRisk=true  ;   
extern double MaxRisk=2  ;   
extern int   StopLoss=30  ;    
extern int   TakeProfit=10  ;   
  string    zong_1_st = "Hunter Scalper";
  double    zong_2_do = 1.0;
  bool      zong_3_bo = false;
  string    zong_4_st = "\n";
  int       zong_5_in = 4;
  int       zong_6_in = 0;
  int       zong_7_in = 0;
  double    zong_8_do = 1.0;
  int       zong_9_in = 0;
  int       zong_10_in = 0;
  int       zong_11_in = 0;
  datetime  zong_12_da = 0;

#import   "stdlib.ex4"
 string ErrorDescription( int mu_0_in);
#import     

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

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

 int deinit()
 {
 return(0); 
 }

 void lizong_7()
 {
  int       zi_1_in_si30si2[30][2];
  int       zi_2_in;
  int       zi_3_in;
  int       zi_4_in;

 if ( Ask>=iMA(NULL,0,20,0,MODE_SMA,PRICE_MEDIAN,0) )
  {
  return;
  }
 if ( Ask - Bid<=MaxSpread * zong_2_do * Point() )
  {
  zi_2_in = OrdersTotal() ;
  zi_3_in = 0 ;
  for (zi_4_in = 0 ; zi_4_in < zi_2_in ; zi_4_in = zi_4_in + 1)
   {
   if ( ( OrderSelect(zi_4_in,SELECT_BY_POS,MODE_TRADES) && (OrderType() != 1 || OrderSymbol() != Symbol() || OrderMagicNumber() != 2) ) )   continue;
   zi_1_in_si30si2[zi_3_in][0] = OrderOpenTime();
   zi_1_in_si30si2[zi_3_in][1] = OrderTicket();
   zi_3_in = zi_3_in + 1;

   }
  if ( zi_3_in >  1 )
   {
   ArrayResize(zi_1_in_si30si2,zi_3_in,0); 
   ArraySort(zi_1_in_si30si2,0,0,1); 
   }
  for (zi_4_in = 0 ; zi_4_in < zi_3_in ; zi_4_in = zi_4_in + 1)
   {
   if ( OrderSelect(zi_1_in_si30si2[zi_4_in][1],SELECT_BY_TICKET,MODE_TRADES) != true || OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),MaxSlippage,Red) != false )   continue;
   Print("OrderClose() error - ",ErrorDescription(GetLastError())); 

   }
   }
 }

 void lizong_8()
 {
  int       zi_1_in_si30si2[30][2];
  int       zi_2_in;
  int       zi_3_in;
  int       zi_4_in;

 if ( Bid<=iMA(NULL,0,20,0,MODE_SMA,PRICE_MEDIAN,0) )
  {
  return;
  }
 if ( Ask - Bid<=MaxSpread * zong_2_do * Point() )
  {
  zi_2_in = OrdersTotal() ;
  zi_3_in = 0 ;
  for (zi_4_in = 0 ; zi_4_in < zi_2_in ; zi_4_in = zi_4_in + 1)
   {
   if ( ( OrderSelect(zi_4_in,SELECT_BY_POS,MODE_TRADES) && (OrderType() != 0 || OrderSymbol() != Symbol() || OrderMagicNumber() != 1) ) )   continue;
   zi_1_in_si30si2[zi_3_in][0] = OrderOpenTime();
   zi_1_in_si30si2[zi_3_in][1] = OrderTicket();
   zi_3_in = zi_3_in + 1;

   }
  if ( zi_3_in >  1 )
   {
   ArrayResize(zi_1_in_si30si2,zi_3_in,0); 
   ArraySort(zi_1_in_si30si2,0,0,1); 
   }
  for (zi_4_in = 0 ; zi_4_in < zi_3_in ; zi_4_in = zi_4_in + 1)
   {
   if ( OrderSelect(zi_1_in_si30si2[zi_4_in][1],SELECT_BY_TICKET,MODE_TRADES) != true || OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),MaxSlippage,Red) != false )   continue;
   Print("OrderClose() error - ",ErrorDescription(GetLastError())); 

   }
   }
 }

 void lizong_9()
 {
  double    zi_1_do;
  double    zi_2_do;
  double    zi_3_do;
  double    zi_4_do;
  double    zi_5_do;
  double    zi_6_do;
  int       zi_7_in;
  double    zi_8_do;
  double    zi_9_do;
  int       zi_10_in;
  bool      zi_11_bo;

 datetime   lin_da_1;
 datetime   lin_da_2;
 int        lin_in_3;

 lin_da_1 = TimeCurrent();
 lin_da_2 = 0;
 if ( OrdersHistoryTotal() >  0 )
  {
  for (lin_in_3 = OrdersHistoryTotal() - 1 ; lin_in_3 >= 0 ; lin_in_3=lin_in_3 - 1)
   {
   if ( OrderSelect(lin_in_3,SELECT_BY_POS,MODE_HISTORY) == true && OrderSymbol() == Symbol() && ( OrderMagicNumber() == 1 || OrderMagicNumber() == 2 ) )
    {
    if ( !(OrderProfit()<0.0) )   break;
    lin_da_2 = OrderCloseTime();
    break;
    }
   }
  }
 else
  {
  lin_da_2 = -3600;
  }
 if ( lin_da_1 < lin_da_2 + 3600 || Ask - Bid>MaxSpread * zong_2_do * Point() )   return;
 zi_1_d

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

Что вы получите после оплаты

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

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

Стоимость полного кода
951₽