Давайте рассмотрим примеры поведения индикаторов (indicators), сосредоточившись на тех, которые рисуют (draw), и тех, которые этого не делают. Например, рассмотрим, как индикатор баров (bar indicator) может работать иначе по сравнению с другими.
Различия сигналов в программировании. Использование параметра сдвига (shift parameter)
Для лучшего понимания работы индикаторов (indicators) полезно изучить примеры как рисующих индикаторов (drawing indicators), так и нерисующих индикаторов (non-drawing indicators).
Рисующие индикаторы (Repaint) — это те, которые отображаются непосредственно на ценовом графике (price chart), в то время как нерисующие индикаторы (non-drawing indicators) показывают свои результаты в отдельном окне.??????НЕТ
Рисующие или перерисовывающие индикаторы (Redrawing Indicators) — это технические инструменты, используемые в торговле, которые изменяют свои сигналы (signals) (например, стрелки) или направление сигнала (signal direction), чтобы предоставить более точные указания на текущих или предыдущих баров (bars).
Bar = Бар = Свеча:
Эти индикаторы (indicators) обладают способностью перерисовывать свои сигналы (signals), что может рассматриваться как нарушение торговой целостности и обманная практика.
Некоторые индикаторы (indicators) намеренно перерисовывают свои сигналы (signals) для повышения визуальной привлекательности, делая график более эстетичным.
Другие индикаторы (indicators) выполняют перерисовку как часть своих математических вычислений для улучшения точности и надежности генерируемых сигналов.
Однако нормальным поведением для всех индикаторов (indicators) является рисование на 0-м баре (bar) или на текущем баре (current bar). Это начальное рисование гарантирует, что индикатор правильно выровнен с последними рыночными данными.
Давайте исследуем основные причины, по которым индикаторы (indicators) перерисовывают свои сигналы (signals), и как это влияет на торговые стратегии.
Различие в сигналах между этими двумя типами индикаторов может быть значительным, поэтому понимание их поведения критически важно при программировании торговых стратегий (trading strategies).
Одним из способов влиять на поведение индикаторов (indicators) является использование параметра сдвига (shift parameter), который позволяет смещать вывод индикатора вперед или назад во времени.
Экспериментируя с различными значениями параметра сдвига (shift parameter), вы можете точно настроить свои индикаторы (indicators), чтобы они лучше соответствовали вашей торговой стратегии (trading strategy), тем самым увеличивая ваши шансы на успех на рынке.
И вы можете проверить такие индикаторы с помощью тестера стратегий, используя нашего универсального Советника (Expert Advisor):
При заказе программирования Советника (Expert Advisor) вы можете настроить сигнальный бар (signal bar) во всех моих советниках.
Часто можно встретить жалобы в интернете, что некоторые Советники (Expert Advisors) не работают корректно из-за их индикаторов (indicators).
Я подробно объясню эти сигналы и продемонстрирую обратное: все индикаторы (indicators) рисуют, и их просто нужно использовать правильно.
Существует видео версия этой статьи, но перед просмотром рекомендую прочитать текстовую версию для более глубокого понимания.
Сдвиг (shift) Бар Номер (0,1,2…..)
Этот параметр представляет номер Бара (Bar), с которого ваши индикаторы (indicators) будут брать сигнал.
При заказе Советника (Expert Advisor) необходимо указать следующие параметры определения сигнала: открыть сделку сразу после сигнала или дождаться формирования сигнала на закрытом Баре (Bar) и открыть сделку только при открытии следующего Бара (Bar).
Из-за их алгоритмов некоторые индикаторы (indicators) имеют четкое определение: на каком Баре (Bar) дается сигнал?
Если говорить о ясности и правильном выполнении заказа, то сделка должна обрабатываться только на закрытом Баре (Bar), то есть параметр shift=1.
Если необходимо открыть сделку сразу после возникновения сигнала на текущем Баре (Bar) и индикатор (indicator) позволяет это, требуется установить shift=0.
Советник (Expert Advisor)
EA написан с использованием нашего шаблона для написания EA. Все функции советника описаны на этой странице: Функции Советника Forex.
1. Индикатор Скользящей Средней (Moving Average Indicator)
Стандартный индикатор терминала MT4 включает период усреднения, усредняемые цены и тип усреднения в настройках.
Торговая Стратегия: Пересечение скользящих средних (Crossover of averages). Пересечение медленной MA и быстрой MA.
Код Стратегии:
double ExampleMA=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift); // Вызов MA Example
double ExampleMA2=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift); // Вызов MA Example
double ExampleMA23=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift+1); // Вызов MA Example
double ExampleMA22=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift+1); // Вызов MA Example
if(ExampleMA23<ExampleMA22 && ExampleMA>ExampleMA2) Sig=1;
if(ExampleMA23>ExampleMA22 && ExampleMA<ExampleMA2) Sig=2;
Примеры работы с Shift = 0
Примеры работы с Shift = 1
Пояснение: Этот индикатор (indicator) (non-drawing) не рисует (draw), что позволяет использовать его с любым сдвигом (shift).
Видео Пример:
2. Индикатор Пересечения (Indicator Cross)
Пользовательский индикатор (indicator) основанный на стратегии пересечения MA с дополнительными функциями. Он явно рисует с точностью. Пересечение на 1 Баре (Bar) рисует стрелку на 0 Баре (Bar) и постоянно ее перерисовывает.
Пояснение: Этот индикатор (indicator) явно рисует, и разработчик намеренно перерисовывает сигнал. Поэтому использование этого индикатора (indicator) в качестве сигнального индикатора (signal indicator) является рискованным.
Видео Пример:
3. Индикатор CurrencyPowerMeter
Пользовательский индикатор (indicator), измеряющий силу валют. Этот индикатор (indicator) работает с использованием объектов, поэтому сдвиг (shift) не имеет значения. Торговая стратегия (trading strategy) для этого индикатора (indicator) основана на извлечении значения не из буфера индикатора (indicator buffer), а из указания объекта на графике.
Торговая Стратегия: Торговля разницей в силе валют
Пояснение: Этот индикатор (indicator) не имеет буферов индикатора (indicator buffers) и основан на объектах. Поэтому сигнальный бар (signal bar) не имеет значения. Такие индикаторы (indicators) не могут быть протестированы или оптимизированы и работают только в реальном времени.
Видео Пример:
4. Индикатор Fiji Trend
Пользовательский индикатор (indicator), работающий на сигналах MA и ATR в виде стрелок. Он не рисует (draw) индикатор, но с небольшим трюком индикатор берет данные из закрытых Баров (Bars) и размещает стрелку на текущем 0 Баре (Bar). Это иллюзия обмана.
Торговая Стратегия: Торговля на стрелках индикатора (indicator)
Код Стратегии:
int Sig=0;
double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // Пример вызова пользовательского индикатора
double UPSignal=iCustom(Symbol(),0,"Fiji Trend",2,shift); // Пример вызова пользовательского индикатора
double DNTrend=iCustom(Symbol(),0,"Fiji Trend",1,shift); // Пример вызова пользовательского индикатора
double UPTrend=iCustom(Symbol(),0,"Fiji Trend",0,shift); // Пример вызова пользовательского индикатора
// Укажите сигналы для открытия:
if( UPSignal!=EMPTY_VALUE) Sig=1;
if( DNSignal!=EMPTY_VALUE) Sig=2;
Примеры работы с Shift = 0
Примеры работы с Shift = 1
Пояснение: Этот индикатор (indicator) (non-drawing) не рисует (draw). Однако он размещает сигналы, используя упомянутый трюк. Это один из немногих индикаторов (indicators), которые предоставляют разумно хорошие сигналы.
Видео Пример:
5. Индикатор Fisher
Пользовательский индикатор (indicator), работающий на Hi-Lo Баров (Bars) и вычисляющий сигналы на основе своих формул. Он рисует, как демонстрируют тесты, и перерисовывает 3-5 Баров (Bars) на закрытых Барах (Bars), представленных в виде гистограммы.
Торговая Стратегия: Торговля на гистограмме. Пересечение гистограммы с 0 меткой.
Пояснение: Этот индикатор (indicator) (non-drawing) не рисует (draw). Однако он размещает сигналы, используя упомянутый трюк. Это один из немногих индикаторов (indicators), которые предоставляют разумно хорошие сигналы.
Видео Пример:
7. Индикатор MACD
Стандартный индикатор (indicator) терминала MT.
Торговая Стратегия: Торговля на пересечении сигнальной линии и гистограммы
Код Стратегии:
int Sig=0;
double MACD_SIGNAL1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift); // Вызов MA Example
double MACD_SIGNAL2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift+1); // Вызов MA Example
double MACD_MAIN1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift); // Вызов MA Example
double MACD_MAIN2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift+1); // Вызов MA Example
if(MACD_SIGNAL2<MACD_MAIN2 && MACD_SIGNAL1>MACD_MAIN1) Sig=1;
if(MACD_SIGNAL2>MACD_MAIN2 && MACD_SIGNAL1<MACD_MAIN1) Sig=2;
Примеры работы с Shift = 0
Примеры работы с Shift = 1
Пояснение: Этот индикатор (indicator) не перерисовывает (redraw) на 1 закрытом Баре (Bar), поэтому вы можете свободно использовать shift=1.
Видео Пример:
8. Индикатор ZIGZAG
Стандартный индикатор (indicator) терминала MT. Строит вершины и впадины на основе high-low (максимум-минимум) определенной области.
Торговая Стратегия: Торговля на формировании вершин и впадин. Не рекомендуется торговать на индикаторе (indicator) с позициями. Это хорошая стратегия ограничения (limit strategy).
Пояснение: Этот индикатор (indicator) рисует вершины и впадины, поэтому сдвиг (shift) не имеет значения. Уникальные условия стратегии (strategy) позволяют успешно торговать на этом индикаторе (indicator).
Видео Пример:
9. Работа BARS по запросу
Работает на стандартных Барах (Bars) терминала MT.
Торговая Стратегия: Если Бар (Bar) бычий, открыть покупку (buy); если Бар (Bar) медвежий, открыть продажу (sell).
Код Стратегии:
int Sig=0;
if(Open[shift] < Close[shift]) Sig=1;
if(Open[shift] > Close[shift]) Sig=2;
Примеры работы с Shift = 0
Примеры работы с Shift = 1
Пояснение: Отличный пример того, как работает параметр сдвига (shift parameter), демонстрируя, как можно торговать стратегиями (strategies), основанными на этом параметре.
Видео Пример:
Заключение
Эта информативная статья предоставляет полезные примеры использования различных индикаторов (indicators) с разными значениями параметра сдвига (shift parameter).
Каждый индикатор (indicator) уникален, поэтому при создании Советника (Expert Advisor) необходимо учитывать тип индикатора (indicator) и его сигнал.
Перед наймом программиста для создания Советника (Expert Advisor) важно сначала протестировать ваш индикатор (indicator) на предмет потенциальных проблем с перерисовкой (redrawing).
Это критически важно, так как надежность и эффективность сделок вашего робота будут зависеть от точности вашего индикатора (indicator).
Поэтому рекомендуется тщательно проверить и протестировать ваш индикатор (indicator) перед созданием вашего Советника (Expert Advisor).
Leave a Reply