Параболическое рулевое управление SAR и стратегия ценовых высоких и низких точек

Автор:Доброта, Создано: 2019-10-10 11:59:37, Обновлено: 2023-11-07 20:48:54

img

Резюме

Параболическое рулевое управление - это очень странный индикатор технического анализа, изобретённый Уэллсом Уайлдером, полное название аббревиатуры Stop and Reverse, обозначается как SAR. Это очень простой и также очень популярный инструмент технического анализа тенденций средней низкой частоты.

Параболическое рулевое управление

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

Он построен на графике цен и в основном используется для анализа тенденций цен. Это похоже на скользящую среднюю линию. Единственное отличие заключается в том, что он поставляется с фактором ускорения, который регулирует свою скорость по мере изменения цены.

Кроме того, скользящая средняя всегда будет проходить через цену, когда цена пересекает параболу, индикатор обратит вспять switch; и его указанная цена появится на другой стороне уровня цены; и будет просить трейдераоставить позицию стоп-лосса до окончания рыночной тенденции.

Расчет параболического руля

Расчет параболического рулевого управления очень сложен. Во-первых, необходимо определить крайнюю точку (наивысшую или низкую цену EP). Затем добавить к ней коэффициент ускорения (AF), начиная с 0,02, а затем добавить 0,02 каждый раз, когда будет достигаться следующая крайняя точка. Максимальный показатель AF равен 0,20, затем умножить разницу между крайней ценой и SAR предыдущего периода на коэффициент ускорения, затем добавить SAR предыдущего периода.

Алгоритм повышения цен

Первый шаг:Предположим, что период времениt. SAR(t)равна самой низкой цене предыдущих N периодов времени.Af(t)равен 0,02.

  • ЕслиSAR(t)больше, чем самая низкая ценаL(t)в течение t периода происходит переключение и в следующем периоде начинается нисходящий тренд;

  • ЕслиSAR(t)не превышает минимальную ценуL(t)в течение t периода он вступает в восходящий тренд в следующем периоде времени;

  • Экстремальное значениеEp(t)равна самой высокой цене за последние N периодов времени;

Шаг 2:Временный период t+1, то есть:

SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
  • ЕслиSAR(t+1)больше, чем самая низкая ценаL(t+1)в течение периода t+1 происходит переключение и в следующем периоде начинается нисходящий тренд;

  • ЕслиSAR(t+1)не превышает минимальную ценуL(t+1)в течение периода t+1, он вступает в следующую стадию восходящего тренда; и крайнее значениеEp(t+1)равна самой высокой цене за последние N периодов времени;

  • Если самая высокая цена периода времени, то есть,H(t+1)превышает самую высокую цену за предыдущие N периодов времени, тоAF(t+1)=AF(t)+0.02, в противном случаеAF(t+1)= AF(t).

Шаг третий:повторить алгоритм во втором этапе восходящего тренда в течение следующего периода t+2, t+3,..., до момента перехода.AF0,2.

Алгоритм снижения цен

Первый шаг:Предположим, что период времени t.SAR(t)равна самой высокой цене предыдущих N периодов времени.Af(t)равен 0,02.

  • ЕслиSAR(t)меньше высочайшей ценыH(t)в течение t периода времени происходит переключение и в следующем периоде вступает в восходящий тренд;

  • ЕслиSAR(t)не ниже высочайшей ценыH(t)в течение t периода времени он вступает в понижающий тренд в следующем периоде;

  • Экстремальное значениеEp(t)равна самой низкой цене последних N периодов времени;

Шаг 2: период времени t+1, то есть:

SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
  • ЕслиSAR(t+1)меньше высочайшей ценыH(t+1)в течение периода t+1 происходит переключение и в следующем периоде начинается восходящий тренд;

  • ЕслиSAR(t+1)не ниже высочайшей ценыL(t+1)в течение периода t+1, он вступает в нисходящий тренд в следующем периоде времени; кроме того, экстремальное значениеEp(t+1)равна самой низкой цене последних N периодов времени;

  • Если самая низкая ценаL(t+1)если цена за предыдущие N периодов ниже самой низкой цены, тоAF(t+1)=AF(t)+0.02, в противном случаеAF(t+1)=AF (t).

Шаг 3:повторить алгоритм во втором этапе восходящего тренда в течение следующего периода t+2, t+3,..., до момента перехода.AF0,2.

Существует много версий алгоритма SAR. Вышеперечисленный алгоритм является лишь одним из них, другие схожи по структуре. Разница заключается в деталях, таких как условие запуска фактора ускорения и алгоритм определенияEp(t). Мы можем увидеть характеристики параболического поворота: в восходящем тренде рынка SAR каждой линии K выше SAR предыдущей линии K, и точка остановки постепенно поднимается вверх, обеспечивая, что плавающая прибыль также постепенно поднимается вверх. Это типичный последующий стоп-лосс. В ускоряющемся восходящем тренде рынка AF увеличивается и EP увеличивается, что еще больше ускоряет скорость точки остановки, обеспечивая, что в сильной трендовой ситуации точка остановки может внимательно следовать тренду цены акций и запереть больше прибыли.

Логика стратегии

Отдельное параболическое рулевое управление является обратной стратегией. Когда цена выше параболы, длинная позиция удерживается, а когда цена ниже параболы, короткая позиция удерживается. Эта непустая стратегия может хорошо адаптироваться к трендовому рынку и может принести хорошую прибыль, когда рыночная тенденция плавная. Но те, кто занимался торговлей, знают, что рынок волатилен большую часть времени, поэтому, если вы используете параболический поворот в одиночку, вы можете потерять много прибыли, которую вы заработали на долгосрочном трендовом рынке. Поэтому нам нужно добавить фильтр. Когда рынок волатилен, мы можем отфильтровать некоторые из не-трендовых возможностей, тем самым уменьшая частоту торговли и увеличивая показатель выигрыша или даже соотношение прибыли, чтобы на долгосрочном волатильном рынке можно было эффективно снизить отступление чистой стоимости.

  • Долгая позиция открыта: парабола растет, и самая высокая цена выше предыдущей высокой цены

  • Открытая короткая позиция: парабола падает, и самая низкая цена ниже предыдущей низкой цены

  • Долгая позиция получает прибыль: парабола падает, а плавающая прибыль достигает указанной суммы

  • Краткая позиция получает прибыль: парабола растет, а плавающая прибыль достигает указанной суммы

  • Стоп-лосс длинной позиции: убыток достигает указанной суммы

  • Стоп-лосс короткой позиции: потеря достигает указанной суммы

Стратегия написания

Основываясь на вышеуказанной логике стратегии, мы можем реализовать ее на платформе FMZ Quant.fmz.com> Вход в систему > Приборная панель > Библиотека стратегии > Новая стратегия > Нажмите на выпадающее меню в правом верхнем углу, чтобы выбрать Мой язык, начать писать стратегию и обратить внимание на комментарии в коде ниже.

Во-первых, параметры, которые необходимо использовать в этой стратегии: длина скользящей средней, диапазон стоп-лосса, параметр получения прибыли и т. Д. Все это определено как внешние параметры для облегчения отладки и оптимизации тестов:

N:=30; // highest or lowest price parameter
SLOSS:=1; // Taking Profit and Stop Loss Coefficient
FUND:=100000; // Initial funds

Затем вычислите необходимые данные, используемые в стратегии: сначала вычислите количество заказов, затем вычислите параболический индикатор поворота и рассудите, является ли это повышающимся состоянием или понижающимся состоянием, и, наконец, вычислите позиционную связь между самой высокой или самой низкой ценой и предыдущей самой высокой и самой низкой ценой:

LOTS:=MAX(1,INTPART(FUND/(O*UNIT*0.1))); // Calculate the order quantity
SARLINE:=SAR(4,2,20); // Calculate the parabolic turn indicator
B1:=SARLINE>0; // Determine whether the trend is rising
S1:=SARLINE<0; // Determine whether the trend is falling
B2:=HIGH>=HHV(CLOSE,N); // Determine if the highest price is greater than the previous highest price
S2:=LOW<=LLV(CLOSE,N); // Determine if the lowest price is less than the previous lowest price

Следующая часть посвящена открытой позиции и стоп-лосс или прибыли:

BARPOS>N AND B1 AND B2,BK(LOTS); //Open long position
BARPOS>N AND S1 AND S2,SK(LOTS); // Open short position
S1 AND S2 AND BKHIGH>BKPRICE*(1+0.01*SLOSS), SP(BKVOL); // Long position taking profit
B1 AND B2 AND SKLOW<SKPRICE*(1-0.01*SLOSS),BP(SKVOL); // Short position taking profit
C<BKPRICE*(1-SLOSS*0.01), SP(BKVOL); // Long position stop loss
C>SKPRICE*(1+SLOSS*0.01), BP(SKVOL); // Short position stop loss

Стратегическая обратная проверка

Окружающая среда обратного тестирования

  • Сорт торговли: индекс арматуры
  • Время: 22 февраля 2015 ~ 27 сентября 2019
  • Цикл: один час
  • Сдвиг: 2 пипса для открытия и закрытия позиций
  • Сбор: 2 раза обменного стандарта

img

Отчет о прибыли

img

Кривая фондов

img

Полный код стратегии

(*backtest
Start: 2015-02-22 00:00:00
End: 2019-09-27 00:00:00
Period: 1h
Exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
Args: [["ContractType","rb000",126961]]
*)

N:=30; // Highest or lowest price parameter
SLOSS:=1; // Take Profit and Stop Loss Coefficient
FUND:=100000; // Initial funds

LOTS:=MAX(1,INTPART(FUND/(O*UNIT*0.1))); // Calculate the order quantity
SARLINE:=SAR(4,2,20); // Calculate the parabolic turn indicator
B1:=SARLINE>0; // Determine whether the trend is rising
S1:=SARLINE<0; // Determine whether the trend is falling
B2:=HIGH>=HHV(CLOSE,N); // Determine if the highest price is greater than the previous highest price
S2:=LOW<=LLV(CLOSE,N); // Determine if the lowest price is less than the previous lowest price

BARPOS>N AND B1 AND B2,BK(LOTS); //Open long position
BARPOS>N AND S1 AND S2,SK(LOTS); // Open short position
S1 AND S2 AND BKHIGH>BKPRICE*(1+0.01*SLOSS), SP(BKVOL); // long position taking profit
B1 AND B2 AND SKLOW<SKPRICE*(1-0.01*SLOSS),BP(SKVOL); // short position taking profit
C<BKPRICE*(1-SLOSS*0.01), SP(BKVOL); // long position stop loss
C>SKPRICE*(1+SLOSS*0.01), BP(SKVOL); // short position stop loss

Нажмите, чтобы скопировать полный исходный код стратегии без конфигурации:https://www.fmz.com/strategy/168073

В конце концов

Большинство традиционных индикаторов значительно отстают от новой линии К. При этом параболический поворот не только может быть тесно сопоставлен с новой линией К в соответствии с характеристиками встроенного фактора ускорения, но и не слишком гибкий, так что стратегия может быть как наступательной, так и оборонительной. Хотя метод расчета очень сложен, существующие индикаторы могут использоваться непосредственно, что очень удобно для новичков. Однако следует отметить, что когда рынок входит в узкий диапазон волатильности, параболический поворот часто будет иметь недействительный сигнал покупки и продажи, что приведет к его временному или длительному истечению.


Связанные

Больше