Оценить:
 Рейтинг: 0

Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5

Год написания книги
2016
<< 1 ... 23 24 25 26 27 28 29 30 >>
На страницу:
27 из 30
Настройки чтения
Размер шрифта
Высота строк
Поля

Откроем наш график символа, к которому мы хотим присоединить индикатор, и нажав правой кнопкой мышки, выберем пункт в контекстном меню Шаблоны и Сохранить шаблон.

Теперь мы можем перенести на наш графический объект все настройки и индикаторы графика символа:

ChartApplyTemplate(chartId,"my.tpl»);

ChartRedraw (chartId);

// – —

return (INIT_SUCCEEDED);

}

Присоединив индикатор к графику символа, мы можем нажать на нем правой кнопкой мышки и изменить его свойства, включая его период, размеры и др.

Функция PlaySound

Функция PlaySound воспроизводит звуковой файл. Например, это можно делать при появлении сигнала индикатора для напоминания:

bool PlaySound (

string filename // имя WAV-файла

);

В качестве примера добавим звуковой сигнал в наш индикатор Impulse keeper при появлении первого сигнала на покупку или продажу.

Скачаем какой-нибудь WAV-сигнал из Интернета и поместим его файл в папку Sounds терминала.

Добавим код в индикатор Impulse keeper:

#property indicator_chart_window

#property indicator_buffers 4

double EMA34HBuffer [];

double EMA34LBuffer [];

double EMA125Buffer [];

double PSARBuffer [];

int EMA34HHandle;

int EMA34LHandle;

int EMA125Handle;

int PSARHandle;

int bars_calculated=0;

int countBuy=0

int countSell=0;

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

//| Custom indicator initialization function |

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

int OnInit ()

{

// – - indicator buffers mapping

SetIndexBuffer (0,EMA34HBuffer, INDICATOR_CALCULATIONS);

SetIndexBuffer (1,EMA34LBuffer, INDICATOR_CALCULATIONS);

SetIndexBuffer (2,EMA125Buffer, INDICATOR_CALCULATIONS);

SetIndexBuffer (3,PSARBuffer, INDICATOR_CALCULATIONS);

EMA34HHandle=iMA (NULL,0,34,0,MODE_EMA, PRICE_HIGH);

EMA34LHandle=iMA (NULL,0,34,0,MODE_EMA, PRICE_LOW);

EMA125Handle=iMA (NULL,0,125,0,MODE_EMA, PRICE_CLOSE);

PSARHandle=iSAR (NULL,0,0.02, 0.2);

// – —

return (INIT_SUCCEEDED);

}

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

//| Custom indicator iteration function |

//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +

int OnCalculate (const int rates_total,
<< 1 ... 23 24 25 26 27 28 29 30 >>
На страницу:
27 из 30