Schaff Trend Cycle
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «schafftrendcycle.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Schaff Trend Cycle рассчитывает циклический стохастик на основе стохастика, построенного на MACD. Отображается в отдельном окне с горизонтальными уровнями. Линия индикатора строится на основе трёх буферов: MACD, первого стохастика и второго стохастика.
Индикатор генерирует сигналы на основе пересечения определённых пороговых уровней. Покупка сигнализируется при росте индикатора выше нижнего порога, продажа — при падении ниже верхнего порога. Поддерживается отображение стрелок на графике для визуальной индикации сигналов.
Доступны четыре типа уведомлений: всплывающие текстовые алерты, звуковые оповещения, email-уведомления и push-уведомления. Настройки позволяют включать или отключать каждый тип оповещений отдельно, а также управлять отображением стрелок и их цветами.
Настройки программы
| Настройка | Описание |
|---|---|
| MAShort | Короткая МА — Период короткой экспоненциальной скользящей средней, используемой для расчёта MACD. |
| MALong | Длинная МА — Период длинной экспоненциальной скользящей средней, используемой для расчёта MACD. |
| Cycle | Цикл — Длина цикла для расчёта стохастиков. |
| ShowArrows | Показать стрелки — Включает или отключает отображение стрелок на графике при формировании сигналов. |
| UpColor | Цель вверх — Цвет стрелки для сигнала на покупку. |
| DownColor | Цель вниз — Цвет стрелки для сигнала на продажу. |
| ShowAlerts | Показать алерты — Включает или отключает всплывающие текстовые уведомления. |
| SoundAlerts | Звуковые алерты — Включает или отключает звуковые оповещения. |
| EmailAlerts | Email-алерты — Включает или отключает отправку email-уведомлений. |
| PushAlerts | Push-алерты — Включает или отключает push-уведомления. |
Поиск по коду файла
#property version "1.04"
#property strict
#property description "Schaff Trend Cycle - Cyclical Stochastic over Stochastic over MACD."
#property description "Falling below 75 is a sell signal."
#property description "Rising above 25 is a buy signal."
#property description "Four kinds of alert: arrows, text, sound, email, and push."
#property description "Developed by Doug Schaff."
#property description "Code adapted from the original TradeStation EasyLanguage version."
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots 1
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_level1 25
#property indicator_level2 75
#property indicator_width1 2
#property indicator_type1 DRAW_LINE
#property indicator_style1 STYLE_SOLID
#property indicator_color1 clrDarkOrchid
#property indicator_label1 "Schaff Trend Cycle"
#property indicator_color2 clrNONE
#property indicator_color3 clrNONE
input int MAShort = 23;
input int MALong = 50;
input int Cycle = 50;
input bool ShowArrows = false;
input color UpColor = clrBlue;
input color DownColor = clrRed;
input bool ShowAlerts = false;
input bool SoundAlerts = false;
input bool EmailAlerts = false;
input bool PushAlerts = false;
double Factor = 0.5;
int BarsRequired;
datetime LastAlert = D'1980.01.01';
double MACD[];
double ST[];
double ST2[];
void OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
ObjectsDeleteAll(0, "ST_down_");
ObjectsDeleteAll(0, "ST_up_");
}
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[]
)
{
// код доступен только после оплаты
}
if (Bars <= BarsRequired) return(0);
int counted_bars = IndicatorCounted();
double LLV = 0, HHV = 0;
int shift, n = 1, i;
static bool st1_pass = false;
static bool st2_pass = false;
int st1_count = 0;
bool check_st1 = false, check_st2 = false;
if (counted_bars < BarsRequired)
{
for (i = 1; i <= BarsRequired; i++) ST2[Bars - i] = 0;
for (i = 1; i <= BarsRequired; i++) ST[Bars - i] = 0;
}
if (counted_bars > 0) counted_bars--;
shift = Bars - counted_bars + BarsRequired - MALong;
if (shift > Bars - 1) shift = Bars - 1;
while (shift >= 0)
{
double MA_Short = iMA(NULL, 0, MAShort, 0, MODE_EMA, PRICE_CLOSE, shift);
double MA_Long = iMA(NULL, 0, MALong, 0, MODE_EMA, PRICE_CLOSE, shift);
MACD[shift] = MA_Short - MA_Long;
if (n >= Cycle) check_st1 = true;
else n++;
if (check_st1)
{
for (i = 0; i < Cycle; i++)
{
if (i == 0)
{
LLV = MACD[shift + i];
HHV = MПоказано первые 50% кода (символов: 4574)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.