thv ea v2.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «thv ea v2.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой советник для платформы 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.