volatile_action.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «volatile_action.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный советник предназначен для автоматической торговли на платформе MetaTrader 4. Он использует комбинацию двух индикаторов — Alligator (на таймфрейме H4) и ATR (для оценки волатильности) — для формирования торговых сигналов на открытие позиций.
Советник открывает ордера только при совпадении направлений обоих сигналов: покупка — при бычьем сигнале аллигатора и бычьем сигнале волатильности, продажа — при медвежьем. Для управления открытыми позициями автоматически устанавливаются тейк-профит и стоп-лосс на основе значения ATR.
Внутри реализована обработка типичных торговых ошибок MetaTrader с функцией повторных попыток и вывода сообщений в комментарии. Параметры лота и риска настраиваются пользователем.
Настройки программы
| Настройка | Описание |
|---|---|
| VolN | Коэффициент волатильности, определяющий пороговое соотношение текущего диапазона цены к значению ATR для формирования сигнала. |
| Magic | Магический номер ордера, идентифицирующий позиции, открытые данным советником. |
| Risk | Параметр риска для расчёта размера лота на основе свободного маржинального баланса. При нулевом значении используется фиксированный лот. |
| Fix_Lot | Фиксированный размер лота для открытия позиции, используется при нулевом значении параметра риска. |
| ns | Коэффициент для расчёта уровня стоп-лосса при модификации ордера, выражается в единицах ATR. |
| np | Коэффициент для расчёта уровня тейк-профита при модификации ордера, выражается в единицах ATR. |
| ATR | Период индикатора ATR, используемого для оценки волатильности и расчёта уровней стоп-лосса и тейк-профита. |
Поиск по коду файла
#property version "1.00"
#property strict
input double VolN=3; // Volatility coef.
input int Magic=7101; // Magic Number
input double Risk=0; // Leverage
input double Fix_Lot=0.01; // Fix_Lot
input double ns=0.6; // Coefloss
input double np=1.0; // Coefprof
input int ATR=23; // ATR
datetime ct;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
// код доступен только после оплаты
}
int SignalVol()
{
int SignalVol=0; double Min=1000,Max=0;
double Vol_140=iATR(_Symbol,PERIOD_CURRENT,ATR,1);
double Vol_1=iATR(_Symbol,PERIOD_CURRENT,1,1);
double HL=MathAbs(High[1]-Low[1]);
double HC=MathAbs(High[1]-Close[1]);
double LC=MathAbs(Low[1]-Close[1]);
for(int i=20;i>0;i--)
{
if(Low[i]<=Min)
Min=Low[i];
}
for(int i=24;i>0;i--)
{
if(High[i]>=Max)
Max=High[i];
}
if(Vol_1>VolN*Vol_140 && Close[1]>Open[1] && Max==High[1] && 0.3*HL>=HC)
SignalVol=1;
if(Vol_1>VolN*Vol_140 && Close[1]<Open[1] && Min==Low[1] && 0.3*HL>LC)
SignalVol=-1;
return(SignalVol);
}
int SignalGator()
{
int SignalGator=0;
double Gator_Jaw=iAlligator(_Symbol,PERIOD_H4,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORJAW,1); // Blue line Alligator
double Gator_Teeth=iAlligator(_Symbol,PERIOD_H4,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORTEETH,1); // Red line Alligator
double Gator_Lips=iAlligator(_Symbol,PERIOD_H4,13,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,MODE_GATORLIPS,1); // Green line Alligator
if(Gator_Lips>Gator_Teeth && Gator_Lips>Gator_Jaw && Gator_Teeth>Gator_Jaw && iClose(_Symbol,PERIOD_H4,1)>Gator_Teeth && iOpen(_Symbol,PERIOD_H4,1)>Gator_Teeth)
SignalGator=1;
if(Gator_Lips<Gator_Teeth && Gator_Lips<Gator_Jaw && Gator_Teeth<Gator_Jaw && iClose(_Symbol,PERIOD_H4,1)<Gator_Teeth && iOpen(_Symbol,PERIOD_H4,1)<Gator_Teeth)
SignalGator=-1;
return(SignalGator);
}
bool Error()
{
int Err=GetLastError();
switch(Err)
{
case 0: return (true);
case 4: Print("Error 4. Trade server is busy"); Sleep(180000); return (true);
case 6: Print("Error 6. No connection with trade server"); while(!IsConnected()) Sleep(5000); return (true);
case 8: Print("Error 8. Too frequent requests"); Sleep(10000);return (true);
case 128: Print("Error 128. Trade timeout"); Sleep(60000); return (true);
case 132: Print("Error 132. MarkeПоказано первые 50% кода (символов: 6138)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.