Давайте розглянемо приклади поведінки індикаторів, зосередившись на тих, що малюють та тих, що не малюють. Наприклад, розглянемо, як барний індикатор може функціонувати як сигнал інакше порівняно з іншими.
Відмінності сигналів у програмуванні. Використання параметра зсуву (Shift)
Для кращого розуміння роботи індикаторів корисно дослідити приклади як малюючих індикаторів, так і немалюючих індикаторів.
Малюючі індикатори (Repaint) — це ті, що безпосередньо малюють на ціновому графіку, тоді як немалюючі індикатори відображають свої результати у окремому вікні. НІ
Малюючі або перемальовувані індикатори — це технічні інструменти, які використовуються в трейдингу для модифікації своїх сигналів (наприклад, стрілок) або зміни напрямку сигналу, щоб надати більш точні вказівки на поточних або попередніх барів.
Bar = Бар = Свічка:
Ці індикатори мають здатність перемальовувати свої сигнали, що може розглядатися як порушення цілісності трейдингу та обманна практика.
Деякі індикатори свідомо перемальовують свої сигнали, щоб покращити візуальну привабливість, роблячи графік більш естетично приємним.
Інші індикатори виконують перемальовку як частину своїх математичних розрахунків для покращення точності та надійності генерованих сигналів.
Однак, це нормальна поведінка для всіх індикаторів малювати на 0-му барі або на поточному барі. Це початкове малювання забезпечує правильне вирівнювання індикатора з останніми ринковими даними.
Давайте дослідимо основні причини, чому індикатори перемальовують свої сигнали, та наслідки цього для торгових стратегій.
Різниця в сигналах між цими двома типами індикаторів може бути суттєвою, тому розуміння їх поведінки є критично важливим при програмуванні торгових стратегій.
Одним зі способів впливу на поведінку індикаторів є використання параметра зсуву (Shift), який дозволяє зрушувати вихідні дані індикатора вперед або назад у часі.
Експериментуючи з різними значеннями параметра зсуву (Shift), ви можете тонко налаштувати свої індикатори для кращого вирівнювання з вашою торговою стратегією, тим самим збільшуючи ваші шанси на успіх на ринку.
І ви можете перевірити такі індикатори за допомогою тестера стратегій, використовуючи наш універсальний Експерт Advisor:
Ця стаття була написана за запитом наших партнерів.
Замовляючи програмування Експерт Advisor, ви можете налаштувати сигнальний бар у всіх моїх радниках.
Зазвичай онлайн з’являються скарги, що деякі Експерт Advisors працюють неправильно через їхні індикатори.
Я детально поясню ці сигнали і продемонструю протилежне: всі індикатори малюють, і їх просто потрібно правильно використовувати.
Існує відео версія цієї статті, але перед переглядом рекомендую прочитати текстову версію для глибшого розуміння.
Зсув (Shift) (0,1,2…..) Номер бару
Цей параметр представляє номер бару, з якого ваші індикатори будуть брати сигнал.
Замовляючи Експерт Advisor, ви повинні вказати наступні параметри визначення сигналу: відкрити угоду негайно після сигналу або почекати, поки сигнал сформується на закритому барі і відкрити угоду лише при відкритті наступного бару.
Через їхні алгоритми деякі індикатори мають чітке визначення: на якому барі подано сигнал?
Якщо говорити про чіткість і правильне виконання ордера, то угода повинна оброблятися лише на закритому барі, тобто параметр зсув=1.
Якщо необхідно відкрити УГОДУ негайно після виникнення сигналу на поточному барі і індикатор це дозволяє, потрібно встановити зсув=0.
Expert Advisor
EA написаний за допомогою нашого шаблону для написання EA. Усі функції радника описані на цій сторінці: Функції Forex Advisor.
Ви можете завантажити пакет за посиланням Сигнальний барТестовий пакет
1. Індикатор ковзної середньої (Moving Average Indicator)
Стандартний індикатор терміналу MT4 включає період усереднення, усереднені ціни та тип усереднення в налаштуваннях.
Торгова стратегія: Перетин середніх. Перетин повільної 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
Пояснення: Цей індикатор не малює, що дозволяє використовувати його з будь-яким зсувом.
Відео приклад:
2. Індикатор перетину (Indicator Cross)
Користувацький індикатор, заснований на стратегії перетину MA з додатковими функціями. Він малює помітно з точністю. Перетин на 1 барі малює стрілку на 0 барі і постійно перемальовує її.
Пояснення: Цей індикатор малює помітно, і розробник свідомо перемальовує сигнал. Тому ризиковано використовувати цей індикатор як сигналізуючий індикатор.
Відео приклад:
3. Індикатор CurrencyPowerMeter
Користувацький індикатор, який вимірює силу валют. Цей індикатор працює за допомогою об’єктів, тому зсув не має значення. Торгова стратегія для цього індикатора базується на витягуванні значення не з буферу індикатора, а з вказівки об’єкта на графіку.
Пояснення: Цей індикатор не має буферів індикатора і базується на об’єктах. Тому сигнальний бар не має значення. Такі індикатори не можуть бути протестовані або оптимізовані і працюють лише в реальному часі.
Відео приклад:
4. Індикатор Fiji Trend
Користувацький індикатор, який працює на сигналах MA та ATR у вигляді стрілок. Він не малює індикатор, але з невеликим трюком індикатор бере дані з закритих барів, але розміщує стрілку на поточному 0 барі. Це ілюзія обману.
Торгова стратегія: Торгівля на стрілках індикатора
Код стратегії:
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
Пояснення: Цей індикатор не малює. Однак він розміщує сигнали за допомогою згаданого трюку. Це один з небагатьох індикаторів, які надають досить хороші сигнали.
Відео приклад:
5. Індикатор Fisher
Користувацький індикатор, який працює на Hi-Lo барах та розраховує сигнали на основі своїх формул. Він малює, як демонструють тести, та перемальовує 3-5 барів на закритих барах, представлених у вигляді гістограми.
Пояснення: Цей індикатор не малює. Однак він розміщує сигнали за допомогою згаданого трюку. Це один з небагатьох індикаторів, які надають досить хороші сигнали.
Відео приклад:
7. Індикатор MACD
Стандартний індикатор терміналу MT.
Торгова стратегія: Торгівля на перетині сигнальної лінії та гістограми
Пояснення: Цей індикатор малює вершини та низини, тому зсув не має значення. Унікальні умови стратегії дозволяють успішну торгівлю на цьому індикаторі.
Відео приклад:
9. BARS Робота на запит
Працює на стандартних барах терміналу MT.
Торгова стратегія: Якщо бар бичачий, відкрити купівлю; якщо бар ведмежий, відкрити продаж.
Код стратегії:
int Sig=0;
if(Open[shift] < Close[shift]) Sig=1;
if(Open[shift] > Close[shift]) Sig=2;
Приклади роботи з Shift = 0
Приклади роботи з Shift = 1
Пояснення: Ідеальний приклад того, як працює параметр зсув, демонструючи, як ви можете торгувати стратегіями на основі цього параметра.
Відео приклад:
Висновки
Ця інформативна стаття надає корисні приклади використання різних індикаторів з різними значеннями параметра зсуву.
Кожен індикатор є унікальним; тому при створенні Expert Advisor тип індикатора та його сигналу слід враховувати.
Перед найманням програміста для створення Expert Advisor важливо спочатку протестувати ваш індикатор на можливі проблеми з перемальовкою.
Це критично важливо, оскільки надійність і ефективність торгівлі вашого робота залежатиме від точності вашого індикатора.
Тому рекомендується ретельно перевірити та протестувати ваш індикатор перед початком створення вашого Expert Advisor.
Leave a Reply