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

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

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

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

О программе

Данный продукт представляет собой советник для платформы MetaTrader 4, реализующий мультисигнальную торговую стратегию. Он агрегирует сигналы из шести независимых источников — индикаторов Heikin Ashi, Ichimoku, пользовательских индикаторов THV Trend и THV TRIX, а также фильтра торгового времени. Все шесть сигналей должны совпасть для генерации сигнала на открытие позиции.

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

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

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

НастройкаОписание
Lots Размер лота — Базовый размер лота для торговых операций.
MaximumRisk Максимальный риск — Максимальный процент риска от свободного маржа для расчёта размера лота.
DecreaseFactor Коэффициент уменьшения лота — Коэффициент уменьшения лота при накоплении убытков в истории.
PrefSettings Пользовательские настройки — Переключатель пользовательских настроек.
MM Управление капиталом включено — Включает или отключает автоматическое управление размером лота на основе управления капиталом.
TakeProfit Тейк-профит в пунктах — Уровень тейк-профита в пунктах.
StopLoss Стоп-лосс в пунктах — Уровень стоп-лосса в пунктах.
TrailingStop Трейлинг-стоп в пунктах — Основной уровень трейлинг-стопа в пунктах.
lTrailingStop Трейлинг-стоп для лонгов — Расстояние трейлинг-стопа для длинных позиций в пунктах.
sTrailingStop Трейлинг-стоп для шортов — Расстояние трейлинг-стопа для коротких позиций в пунктах.
UseSignal1 Сигнал 1 включён — Включает или отключает первый торговой сигнал (на основе Heikin Ashi и Coral).
UseSignal2 Сигнал 2 включён — Включает или отключает второй торговой сигнал (на основе Heikin Ashi и Ichimoku).
UseSignal3 Сигнал 3 включён — Включает или отключает третий торговой сигнал (на основе TRIX быстрый и медленный).
UseSignal4 Сигнал 4 включён — Включает или отключает четвёртый торговой сигнал (на основе торгового времени).
UseSignal5 Сигнал 5 включён — Включает или отключает пятый торговой сигнал (на основе THV Trend).
UseSignal6 Сигнал 6 включён — Включает или отключает шестой торговой сигнал (на основе сравнения открытия и закрытия Heikin Ashi).
TradeFrom1 Начало торгового окна 1 — Начальный час торговой сессии первого временного окна (0–23).
TradeUntil1 Конец торгового окна 1 — Конечный час торговой сессии первого временного окна (0–24).
TradeFrom2 Начало торгового окна 2 — Начальный час торговой сессии второго временного окна (0–23).
TradeUntil2 Конец торгового окна 2 — Конечный час торговой сессии второго временного окна (0–24).
TradeFrom3 Начало торгового окна 3 — Начальный час торговой сессии третьего временного окна (0–23).
TradeUntil3 Конец торгового окна 3 — Конечный час торговой сессии третьего временного окна (0–24).
TradeFrom4 Начало торгового окна 4 — Начальный час торговой сессии четвёртого временного окна (0–23).
TradeUntil4 Конец торгового окна 4 — Конечный час торговой сессии четвёртого временного окна (0–24).
note1 Заголовок цветов TRIX — Текстовый параметр-заголовок для настроек цветов уровня TRIX.
HighLine_Color Цвет верхней линии TRIX — Цвет верхней линии уровня индикатора TRIX.
ZeroLine_Color Цвет нулевой линии TRIX — Цвет нулевой линии индикатора TRIX.
LowLine_Color Цвет нижней линии TRIX — Цвет нижней линии уровня индикатора TRIX.
Line_style Стиль линий — Стиль отображения линий индикатора (числовой код стиля).
note2 Заголовок цветов меток — Текстовый параметр-заголовок для настроек цветов меток.
text1Color Цвет меток 1 — Первый цвет для отображения меток на графике.
text2Color Цвет меток 2 — Второй цвет для отображения меток на графике.
text3Color Цвет меток 3 — Третий цвет для отображения меток на графике.
MsgAlerts Текстовые оповещения TRIX — Включает или отключает всплывающие текстовые оповещения индикатора TRIX.
SoundAlerts Звуковые оповещения включены — Включает или отключает звуковые оповещения.
eMailAlerts Email-оповещения включены — Включает или отключает email-оповещения.
AlertOnTrixCross Оповещение при пересечении TRIX — Включает или отключает оповещение при пересечении линий индикатора TRIX.
AlertOnTrixSigCross Оповещение при пересечении сигнала TRIX — Включает или отключает оповещение при пересечении сигнальных линий TRIX.
AlertOnSlopeChange Оповещение при изменении наклона TRIX — Включает или отключает оповещение при изменении наклона индикатора TRIX.
TrixCrossSound Звук при пересечении TRIX — Звуковой файл для оповещения при пересечении TRIX.
AnalyzeLabelWindow Окно анализа меток — Определяет окно для анализа меток индикатора (1 — текущее окно).
AnalyzeLabelonoff Анализ меток включён — Включает или отключает анализ меток в указанном окне.
Trixnum_bars Количество баров TRIX — Количество баров для расчёта индикатора TRIX.
seperator2 Разделитель настроек дивергенций — Текстовый параметр-разделитель настроек дивергенций.
NumberOfDivergenceBars Количество баров для дивергенций — Количество баров для поиска дивергенций.
drawPriceTrendLines Трендовые линии цены — Включает или отключает отрисовку трендовых линий цены.
drawIndicatorTrendLines Трендовые линии индикатора — Включает или отключает отрисовку трендовых линий индикатора.
ShowIn1MChart Отображение на 1-минутном графике — Включает или отключает отображение индикатора на графике с таймфреймом 1 минута.
_ Разделитель настроек дивергенций — Разделитель настроек дивергенций (текстовый параметр).
EnableAlerts Включить оповещения — Общий переключатель для включения всех типов оповещений.
_Info1 Информационный текст 1 — Текстовый параметр информационного сообщения.
_Info2 Информационный текст 2 — Текстовый параметр информационного сообщения.
_Info3 Информационный текст 3 — Текстовый параметр информационного сообщения.
_Info4 Информационный текст 4 — Текстовый параметр информационного сообщения.
_Info5 Информационный текст 5 — Текстовый параметр информационного сообщения.
_Info6 Информационный текст 6 — Текстовый параметр информационного сообщения.
_Info7 Информационный текст 7 — Текстовый параметр информационного сообщения.
_Info8 Информационный текст 8 — Текстовый параметр информационного сообщения.
_Info9 Информационный текст 9 — Текстовый параметр информационного сообщения.
_Info10 Информационный текст 10 — Текстовый параметр информационного сообщения.
_Info11 Информационный текст 11 — Текстовый параметр информационного сообщения.
SoundAlertOnDivergence Звуковое оповещение при дивергенции — Включает звуковое оповещение при обнаружении дивергенции.
EmailDivergenceAlerts Email-оповещения при дивергенции — Включает или отключает email-оповещения при обнаружении дивергенций.
__ Разделитель настроек цветов — Разделитель настроек цветов дивергенций (текстовый параметр).
BullishDivergenceColor Цвет бычьей дивергенции — Цвет отображения бычьей дивергенции на графике.
BearishDivergenceColor Цвет медвежьей дивергенции — Цвет отображения медвежьей дивергенции на графике.
___ Разделитель настроек звуковых файлов — Разделитель настроек звуковых файлов дивергенций (текстовый параметр).
ClassicBullDivSound Звук классической бычьей дивергенции — Звуковой файл, воспроизводимый при классической бычьей дивергенции.
ReverseBullDivSound Звук обратной бычьей дивергенции — Звуковой файл для обратной бычьей дивергенции.
ClassicBearDivSound Звук классической медвежьей дивергенции — Звуковой файл, воспроизводимый при классической медвежьей дивергенции.
ReverseBearDivSound Звук обратной медвежьей дивергенции — Звуковой файл для обратной медвежьей дивергенции.
Получить полный код

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

#define MAGICMA  20050610

extern double     Lots             = 1;
extern double     MaximumRisk      = 0.3;
extern double     DecreaseFactor   = 1;
extern bool       PrefSettings     = true;
extern bool       MM               = true;
extern bool       AccountIsMicro   = false;
extern int        TakeProfit       = 42;
extern int        StopLoss         = 84;
extern int        TrailingStop     = 50;
extern double     lTrailingStop = 50;
extern double     sTrailingStop = 50;

extern bool       UseSignal1       = true;
extern bool       UseSignal2       = true;
extern bool       UseSignal3       = true;
extern bool       UseSignal4       = true;
extern bool       UseSignal5       = true;
extern bool       UseSignal6       = true;

extern int        TradeFrom1       = 0;
extern int        TradeUntil1      = 24;
extern int        TradeFrom2       = 0;
extern int        TradeUntil2      = 0;
extern int        TradeFrom3       = 0;
extern int        TradeUntil3      = 0;
extern int        TradeFrom4       = 0;
extern int        TradeUntil4      = 0;

color             color1           = Red;
color             color2           = White;
color             color3           = Red;
color             color4           = White;

bool              Alert_On         = false;
bool              Arrows_On        = false;
bool              Email_Alert      = false;

extern string note1 = "Trix level colors";
extern  color HighLine_Color = FireBrick;
extern  color ZeroLine_Color = DimGray;
extern  color LowLine_Color = DarkGreen;
extern  int Line_style = 2;
extern  string note2 = "Cobra Label colors";
extern  color text1Color;
extern  color text2Color;
extern  color text3Color = Green;
extern  bool MsgAlerts = false;
extern  bool SoundAlerts = true;
extern  bool eMailAlerts = false;
extern  bool AlertOnTrixCross = true;
extern  bool AlertOnTrixSigCross = true;
extern  bool AlertOnSlopeChange = true;
extern  string TrixCrossSound = "trixcross.wav";
extern  int AnalyzeLabelWindow = 1;
extern  bool AnalyzeLabelonoff = true;
extern  int Trixnum_bars = 750;
extern  string seperator2 = "*** Convergence/Divergence Settings ***";
extern  int NumberOfDivergenceBars = 500;
extern  bool drawPriceTrendLines = true;
extern  bool drawIndicatorTrendLines = false;
extern  bool ShowIn1MChart = false;
extern  string _ = "--- Divergence Alert Settings ---";
extern  bool EnableAlerts = true;
extern  string _Info1 = "";
extern  string _Info2 = "------------------------------------";
extern  string _Info3 = "SoundAlertOnDivergence only works";
extern  string _Info4 = "when EnableAlerts is true.";
extern  string _Info5 = "";
extern  string _Info6 = "If SoundAlertOnDivergence is true,";
extern  string _Info7 = "then sound alert will be generated,";
extern  string _Info8 = "otherwise a pop-up alert will be";
extern  string _Info9 = "generated.";
extern  string _Info10 = "------------------------------------";
extern  string _Info11 = "";
extern  bool SoundAlertOnDivergence = true;
extern  bool EmailDivergenceAlerts = false;
extern  string __ = "--- Divergence Color Settings ---";
extern  color BullishDivergenceColor = DodgerBlue;
extern  color BearishDivergenceColor = FireBrick;
extern  string ___ = "--- Divergence Sound Files ---";
extern  string ClassicBullDivSound = "CBullishDiv.wav";
extern  string ReverseBullDivSound = "RBullishDiv.wav";
extern  string ClassicBearDivSound = "CBearishDiv.wav";
extern  string ReverseBearDivSound = "RBearishDiv.wav";

int res;
int lasttrend = 0;

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

int deinit()
  {

         Comment("");

   return(0);
  }

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

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()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }

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

double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();    
   int    losses=0;                 

   lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);

   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
     }

   if(lot<0.1) lot=0.1;
   if(MM==false) lot=Lots;
   if(AccountIsMicro==true) lot=lot/10;

   return(lot);
  }

void CheckForOpen()
{
      bool BuySignal1 = false, SellSignal1 = false;
      bool BuySignal2 = false, SellSignal2 = false;
      bool BuySignal3 = false, SellSignal3 = false;
      bool BuySignal4 = false, SellSignal4 = false;
      bool BuySignal5 = false, SellSignal5 = false;
      bool BuySignal6 = false, SellSignal6 = false;

      double coral = iCustom(NULL, 0, "THV3 Coral_THICK",Alert_On,Arrows_On,Email_Alert,0,0);

      double haOpen = iCustom(NULL, 0, "Heiken Ashi",color1,color2,color3,color4,2,0);
      double haClose = iCustom(NULL, 0, "Heiken Ashi",color1,color2,color3,color4,3,0);

      double haOpen1 = iCustom(NULL, 0, "Heiken Ashi",color1,color2,color3,color4,2,1);
      double haClose1 = iCustom(NULL, 0, "Heiken Ashi",color1,color2,color3,color4,3,1);

      double ssa = iIchimoku(NULL, 0, 2, 3, 5, MODE_SENKOUSPANA, 0);
      double ssb = iIchimoku(NULL, 0, 2, 3, 5, MODE_SENKOUSPANB, 0);
      int fasttrix = 0;
      int slowtrix = 0;

      double thvtrendDn = iCustom(NULL, 0, "THV3 trend",0,1);
      double thvtrendUp = iCustom(NULL, 0, "THV3 trend",1,1);
      double thvtrendFlat = iCustom(NULL, 0, "THV3 trend",2,1);

      fasttrix = trix("fast");
      slowtrix = trix("slow");

      if(UseSignal1)
      {
            if((haOpen < coral)) 
            {
                  SellSignal1 = true;
            } 
            if(haOpen > coral)   
            {
                  BuySignal1  = true;
            }
      }

      if(UseSignal2)
      {
            if(haOpen < ssb) 
            {
                  SellSignal2 = true;
            } 
            if(haOpen > ssa)   
            {
                  BuySignal2  = true;
            }
      }

      if(UseSignal3)
      {
            if(fasttrix == 2 && slowtrix == 4) 
            {
                  SellSignal3 = true;
            } 
            if(fasttrix == 1 && slowtrix == 3)   
            {
                  BuySignal3  = true;
            }
      }

      if(UseSignal4)
      {
            int iHour=TimeHour(LocalTime());
            int ValidTradeTime = F_ValidTradeTime(iHour);
            if(ValidTradeTime==true)
            {
                  BuySignal4=true;
                  SellSignal4=true;
            }
      }

      if(UseSignal5)
      {
            if(thvtrendDn > 0) 
            {
                  SellSignal5 = true;
            } 
            if(thvtrendUp > 0)   
            {
                  BuySignal5  = true;
            }
      }

      if(UseSignal6)
      {
            if(haOpen > haClose) 
            {
                  SellSignal6 = true;
            } 
            if(haOpen < haClose)   
            {
                  BuySignal6  = true;
            }
      }

      if((SellSignal1==true) && (SellSignal2==true) && (SellSignal3==true) && (SellSignal4==true) && (SellSignal5==true) && (SellSignal6==true))   
      {
            if(AccountFreeMargin()<(1000*LotsOptimized()))
            {
                  Print("We have no money. Free Margin = ", AccountFreeMargin());         
                  return(0);          
            }

            Print("thvtrendDn:",DoubleToStr(thvtrendDn,4),";thvtrendUp:",DoubleToStr(thvtrendUp,4),";thvtrendFlat:",DoubleToStr(thvtrendFlat,4),";Sell|Coral: ",DoubleToStr(coral,4),";haOpen: ",haOpen,";ssa:",ssa,";ssb",ssb);
            if((lasttrend == 1) || (lasttrend == 0)) //res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"THV ea",MAGICMA,0,Red);
            Alert("Sell Signal on ",Symbol()," -> ",Period());
            lasttrend = -1;
            ret

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

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

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

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

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

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

Стоимость полного кода
1 250,70₽ ≈ $15.29