Hydra Expert
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «hydrafinal1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Hydra Expert — торговый советник для MetaTrader 4, работающий на языке MQL4. Советник анализирует сигналы пользовательского индикатора (Hydra Signals Indicator или super-arrow-indicator) и принимает решения об открытии и закрытии позиций. Обработка выполняется в функции OnTick, инициализация — в OnInit, завершение — в OnDeinit.
Советник открывает позиции по направлению сигнала индикатора или против него в зависимости от настройки revers. Для подтверждения сигнала может использоваться проверка направления на нескольких старших таймфреймах, а также пересечение ценой границы канала индикатора. Закрытие позиций может выполняться по сигналу индикатора или при достижении заданного уровня прибыли или убытка от баланса.
Поддерживаются управление стоплоссом и тейкпрофитом, перенос стоплосса при достижении определённого профита, трейлинг стоплосса, а также ограничение времени открытия ордеров по часам. Объём позиции может быть фиксированным или рассчитываться динамически в зависимости от баланса. Советник использует торговые операции MetaTrader 4 и не является индикатором или библиотекой.
Настройки программы
| Настройка | Описание |
|---|---|
| orders | Открывать ордера на каждой свече — Определяет, открывать ордера на каждой свече или только при появлении стрелки. |
| name | Имя индикатора — Имя используемого пользовательского индикатора. |
| ind1 | Использовать super-arrow-indicator — Переключатель выбора используемого индикатора: super-arrow-indicator или Hydra Signals Indicator. |
| C1 | Параметр C1 — Строковый параметр, связанный с индикатором super-arrow-indicator. |
| BollingerBandsDeviation | Отклонение полос Боллинджера — Отклонение для полос Боллинджера, используемое в индикаторе super-arrow-indicator. |
| Alerts | Оповещения — Включает или отключает оповещения в используемом индикаторе. |
| UtStup | Ступень — Целочисленный параметр ступени, передаваемый в индикатор super-arrow-indicator. |
| C2 | Параметр C2 — Строковый параметр, связанный с индикатором Hydra Signals Indicator. |
| tf | Таймфрейм — Таймфрейм, передаваемый в индикатор Hydra Signals Indicator. |
| Amplitude | Амплитуда — Целочисленный параметр амплитуды, передаваемый в индикатор Hydra Signals Indicator. |
| ChannelDeviation | Отклонение канала — Отклонение канала, передаваемое в индикатор Hydra Signals Indicator. |
Поиск по коду файла
#property version "4.00"
#property description "Hydra Expert"
#property strict /*
input uchar magic = 1 ,// Идентификатор эксперта
start_hour = 7 ,// Час начала времени открытия ордеров
end_hour = 23 ,// Час конца времени открытия ордеров
timeframes = 2 ;// Кол-во ближайших старших таймфреймов, на которых ищем подтверждения сигнала
input bool cl_tfs = 0 ,// Требовать для закрытия позиций подтверждения на старших таймфреймах?
traversal_g = 1 ,// Требовать для открытия позиции пересечения ценой соответствующей границы канала?
revers = 0 ;// Торговать против последней стрелки? Иначе - в ее направлении
input int SL = 200 ,// Стоплосс в пипсах. Если 0, то стоплосс не применяется
TP = 0 ,// Тейкпрофит в пипсах. Если 0, то тейкпрофит не применяется
TP01 = 20 ,// Профит в пипсах, по превышении которого sl переносится на расстояние SL01 пипсов от цены. Если 0, то это не применяется
SL01 = 10 ,// Расстояние в пипсах от впервые перемещенного стоплосса до цены в момент этого перемещения. Если 0, то это не применяется
TP0 = 200 ,// Профит в пипсах, по превышении которого включается трейлинг. Если 0, то трейлинг не применяется
SL0 = 200 ,// Максимальное расстояние впипсах от стоплосса до цены при трейлинге. Если 0, то трейлинг не применяется
slippage = 5 ;// Максимальное проскальзывание в пипсах
input double lots = 0 ,// Фиксированное кол-во лотов. Если 0, то объем динамический.
teta = 0.2 ,// Доля в % от баланса, на каждые 10 единиц которой открывается 1 лот (при fixlot = 0)
max_profit = 15 ,// Профит в % от баланса, по достижении которого позиции закрываются
max_loss = 15 ;// Просадка в % от баланса, по достижении которой позиции закрываются
input int sleep = 10 ,// Начальная пауза в мс между этими попытками
reconnect = 5 ;// Максимальное кол-во попыток открыть или закрыть ордер
input bool orders = 1 ;// Открывать ордера на каждой свече? Иначе - только при появлении стрелки
input string name = "Hydra Signals Indicator";// Имя используемого индикатора
input bool ind1 = 0 ;// Используется super-arrow-indicator? Иначе - Hydra Signals Indicator
*/
input uchar magic = 1,
start_hour = 0,
end_hour = 24,
timeframes = 0;
input bool cl_tfs = 0,
traversal_g = 0,
revers = 0;
input int SL = 200,
TP = 0,
TP01 = 20,
SL01 = 10,
TP0 = 200,
SL0 = 200,
slippage = 5;
input double lots = 0,
teta = 0.2,
max_profit = 15,
max_loss = 15;
input int sleep = 10,
reconnect = 5;
input bool orders = 1;
input string name = "Hydra Signals Indicator";
input bool ind1 = 0;
input string C1 = " super-arrow-indicator";
input int FasterMovingAverage = 5 ,
SlowerMovingAverage = 12 ,
RSIPeriod = 12 ,
MagicFilterPeriod = 1 ,
BollingerBandsPeriod = 10 ,
BollingerBandsShift = 0 ;
input double BollingerBandsDeviation = 0.5;
input int BullsPowerPeriod = 50 ,
BearsPowerPeriod = 50 ;
input bool Alerts = 0 ;
input int UtStup = 10 ;
input string C2 = " Hydra Signals Indicator";
input ENUM_TIMEFRAMES tf = 0;
input int Amplitude = 4;
input double ChannelDeviation = 6;
input bool alertsOn = 0,
alertsOnCurrent = 0,
alertsMassage = 0,
alertsSound = 0,
alertsEmail = *,
showChannels = 1,
ShowArrows = 1,
ArrowsOnFirstBar = 1;
double _max_loss, _max_profit, _SL, _TP, _SL0, _TP0, _SL01, _TP01;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
Print("DEINIT_SUCCEEDED");
}
void OnTick()
{
// код доступен только после оплаты
}
void TSL()
{
for(int o = OrdersTotal(); o --> 0;)
if(OrderSelect(o, SELECT_BY_POS) ? OrderSymbol() == _Symbol ? OrderMagicNumber() == magic : false : false) {
int sell = OrderType();
if(sell < 2) {
double price = OrderOpenPrice(), sl = OrderStopLoss();
bool sl0 = SL0 ? sell
? price > _TP0 + Ask ? _Point > sl || sl > _SL0 + Ask : false
: price + _TP0 < Bid && sl < Bid - _SL0 : false, sl01 = !sl0 && SL01 ? sell
? price > _TP01 + Ask ? _Point > sl || sl > price + _SПоказано первые 50% кода (символов: 8695)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.