Pro Parabolic SAR
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «pro parabolic sar.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, рассчитывающий значения Parabolic SAR на выбранном таймфрейме и отображающий результаты в отдельном окне в виде гистограмм. Стрелки показывают смену направления тренда, а система уведомлений может отправлять сообщения, push-уведомления, email и звуковые сигналы. Индикатор использует внутренние буферы для хранения линий SAR и направления тренда, а также вспомогательные функции для работы с объектами-стрелками и оповещениями.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора. |
| AccStep | Шаг ускорения — Величина приращения ускорения при расчёте SAR. |
| AccLimit | Предел ускорения — Максимальное значение ускорения, используемое при расчёте. |
| PriceHigh | Цена высокая — Источник цены для расчёта верхней границы диапазона. |
| PriceLow | Цена низкая — Источник цены для расчёта нижней границы диапазона. |
| alertsOn | Уведомления включены — Общее включение или отключение системы оповещений. |
| alertsOnCurrent | Уведомления по текущему бару — Направлять уведомления по данным текущего бара. |
| alertsMessage | Сообщение через Alert — Вывод информационного сообщения в журнал через Alert. |
| alertsSound | Звуковой сигнал — Воспроизведение звукового файла при смене тренда. |
| alertsNotify | Push-уведомление — Отправка push-уведомления на мобильное устройство. |
| alertsEmail | Email-уведомление — Отправка электронного письма при смене тренда. |
| soundFile | Файл звука — Имя звукового файла для воспроизведения оповещения. |
| ShowArrows | Показывать стрелки — Отображение графических стрелок смены направления тренда на графике. |
| arrowsIdentifier | Идентификатор стрелок — Префикс имён графических объектов-стрелок. |
| arrowsUpperGap | Отступ стрелки вверх — Множитель отступа стрелки вверх от цены, выраженный через ATR. |
| arrowsLowerGap | Отступ стрелки вниз — Множитель отступа стрелки вниз от цены, выраженный через ATR. |
| arrowsUpColor | Цвет стрелки вверх — Цвет стрелки, указывающей на восходящий тренд. |
| arrowsDnColor | Цвет стрелки вниз — Цвет стрелки, указывающей на нисходящий тренд. |
| arrowsNuColor | Цвет нейтральной стрелки — Цвет стрелки нейтрального состояния. |
| arrowsUpCode | Код стрелки вверх — Код символа стрелки вверх из библиотеки MetaTrader. |
| arrowsDnCode | Код стрелки вниз — Код символа стрелки вниз из библиотеки MetaTrader. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_minimum 0
#property indicator_maximum 1
extern string TimeFrame = "Current time frame";
extern double AccStep = 0.01;
extern double AccLimit = 0.1;
extern int PriceHigh = PRICE_HIGH;
extern int PriceLow = PRICE_LOW;
extern bool alertsOn = true;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsNotify = true;
extern bool alertsEmail = true;
extern string soundFile = "alert2.wav";
extern bool ShowArrows = true;
extern string arrowsIdentifier = "sar Arrows";
extern double arrowsUpperGap = 1.0;
extern double arrowsLowerGap = 1.0;
extern color arrowsUpColor = LimeGreen;
extern color arrowsDnColor = Red;
extern color arrowsNuColor = Gray;
extern int arrowsUpCode = 233;
extern int arrowsDnCode = 234;
double sarUp[];
double sarDn[];
double saraUp[];
double saraDn[];
double trend[];
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
deleteArrows();
return(0);
}
int start()
{
// код доступен только после оплаты
}
double workSar[][7];
#define _high 0
#define _low 1
#define _ohigh 2
#define _olow 3
#define _open 4
#define _position 5
#define _af 6
void iParabolic(double high, double low, double step, double limit, double& pClose, double& pOpen, double& pPosition, double& pChange, int i)
{
if (ArrayRange(workSar,0)!=Bars) ArrayResize(workSar,Bars); i = Bars-i-1;
pChange = 0;
workSar[i][_ohigh] = high;
workSar[i][_olow] = low;
if (i<1)
{
workSar[i][_high] = high;
workSar[i][_low] = low;
workSar[i][_open] = high;
workSar[i][_position] = -1;
return;
}
workSar[i][_open] = workSar[i-1][_open];
workSar[i][_af] = workSar[i-1][_af];
workSar[i][_position] = workSar[i-1][_position];
workSar[i][_high] = MathMax(workSar[i-1][_high],high);
workSar[i][_low] = MathMin(workSar[i-1][_low] ,low );
if (workSar[i][_position] == 1)
if (low<=workSar[i][_open])
{
workSar[i][_position] = -1;
pChange = -1;
pClose = workSar[i][_high];
workSar[i][_high] = high;
workSar[i][_low] = low;
workSar[i][_af] = step;
workSar[i][_open] = pClose + workSar[i][_af]*(workSar[i][_low]-pClose);
if (workSar[i][_open]<workSar[i ][_ohigh]) workSar[i][_open] = workSar[i ][_ohigh];
if (workSar[i][_open]<workSar[i-1][_ohigh]) workSar[i][_open] = workSar[i-1][_ohigh];
}
else
{
pClose = workSar[i][_open];
if (workSar[i][_high]>workSar[i-1][_high] && workSar[i][_af]<limit) workSar[i][_af] = MathMin(workSar[i][_af]+step,limitПоказано первые 50% кода (символов: 7004)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.