! 3ls (mtf + alerts)-rev01.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «! 3ls (mtf + alerts)-rev01.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий на графике стрелки, указывающие на паттерн «трёхлинейного пробоя» (3 Line Strike). Поддерживает мультитаймфрейм-анализ: паттерн определяется на указанном таймфрейме и отрисовывается на текущем. Индикатор рисует зелёные стрелки для бычьего пробоя и красные — для медвежьего. Имеет систему оповещений: всплывающие сообщения, push-уведомления, электронную почту и звуковые сигналы.
Настройки программы
| Настройка | Описание |
|---|---|
| Time frame to use (inpTimeFrame) | Таймфрейм — Выбирает таймфрейм для расчёта паттернов: текущий, конкретный интервал или один из трёх более старших таймфреймов. |
| Show Bearish 3 Line Strike (showBear3LS) | Показать медвежий 3LS — Включает отрисовку стрелок для медвежьего паттерна трёхлинейного пробоя. |
| Show Bullish 3 Line Strike (showBull3LS) | Показать бычий 3LS — Включает отрисовку стрелок для бычьего паттерна трёхлинейного пробоя. |
| Arrow gap (ArrowsGap) | Зазор стрелок — Множитель расстояния между ценой свечи и размещённой стрелкой. |
| Arrow on first mtf bar (ArrowsOnFirst) | Стрелка на первом баре МТФ — Определяет, с какого бара мультитаймфрейма привязывается стрелка: с первого или с предыдущего. |
| alertsOn | Оповещения включены — Общий переключатель системы оповещений. |
| alertsOnCurrent | Оповещения на текущем баре — Если включено, оповещение срабатывает на текущем баре; если выключено — на предыдущем. |
| alertsMessage | Сообщение — Включает всплывающее оповещение в терминале. |
| alertsSound | Звук — Включает воспроизведение звукового файла при срабатывании оповещения. |
| alertsEmail | Email — Включает отправку электронного письма при срабатывании оповещения. |
| alertsNotify | Push-уведомление — Включает отправку push-уведомления на мобильное устройство при срабатывании оповещения. |
Поиск по коду файла
#property version "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_type1 DRAW_ARROW
#property indicator_width1 0
#property indicator_color1 clrDarkSeaGreen
#property indicator_type2 DRAW_ARROW
#property indicator_width2 0
#property indicator_color2 clrTomato
enum enTimeFrames
{
tf_cu = 0, // Current time frame
tf_m1 = PERIOD_M1, // 1 minute
tf_m5 = PERIOD_M5, // 5 minutes
tf_m15 = PERIOD_M15, // 15 minutes
tf_m30 = PERIOD_M30, // 30 minutes
tf_h1 = PERIOD_H1, // 1 hour
tf_h4 = PERIOD_H4, // 4 hours
tf_d1 = PERIOD_D1, // Daily
tf_w1 = PERIOD_W1, // Weekly
tf_mn1 = PERIOD_MN1, // Monthly
tf_n1 = -1, // First higher time frame
tf_n2 = -2, // Second higher time frame
tf_n3 = -3 // Third higher time frame
};
input enTimeFrames inpTimeFrame = tf_cu; // Time frame to use
input bool showBear3LS = true; // Show Bearish 3 Line Strike
input bool showBull3LS = true; // Show Bullish 3 Line Strike
input double ArrowsGap = 0.25; // Arrow gap
input bool ArrowsOnFirst = true; // Arrow on first mtf bar
input bool alertsOn = false;
input bool alertsOnCurrent = true;
input bool alertsMessage = true;
input bool alertsSound = false;
input bool alertsEmail = false;
input bool alertsNotify = false;
double up[],dn[],count[];
string obj_prefix = "3LS_";
struct sGlobalStruct
{
int perMa;
int perBb;
double rng;
string indiFileName;
int indiTimeFrame;
};
sGlobalStruct glo;
#define _mtfCall(_buff,_ind) iCustom(_Symbol,glo.indiTimeFrame,glo.indiFileName,tf_cu,showBear3LS,showBull3LS,ArrowsGap,ArrowsOnFirst,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsNotify,_buff,_ind)
int OnInit() {
// код доступен только после оплаты
}
void OnDeinit(const int reason) {ObjectsDeleteAll(0, obj_prefix);}
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[],
const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) {
// код доступен только после оплаты
}
int i,limit=fmin(rates_total-prev_calculated+1,rates_total-1); count[0] = limit;
if (glo.indiTimeFrame!=_Period)
{
limit = (int)fmax(limit,fmin(rates_total-1,_mtfCall(2,0)*glo.indiTimeFrame/_Period));
for(i=limit; i>=0 && !_StopFlag; i--)
{
int y = iBarShift(_Symbol,glo.indiTimeFrame,time[i]);
int x = y;
if (ArrowsOnFirst)
{ if (i<rates_total-1) x = iBarShift(_Symbol,glo.indiTimeFrame,time[i+1]); }
else { if (i>0) x = iBarShift(_Symbol,glo.indiTimeFrame,time[i-1]); else x = -1; }
up[i] = dn[i] = EMPTY_VALUE;
if (x!=y)
{
up[i] = _mtfCall(0,y);
dn[i] = _mПоказано первые 50% кода (символов: 5738)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.