Параболическое рулевое управление - это очень странный индикатор технического анализа, изобретённый Уэллсом Уайлдером, полное название аббревиатуры
Параболический поворот уникален тем, что его внешняя форма отличается от других индикаторов. Он состоит из красных или зеленых точек и следует за движением цен в форме дуги. Поскольку он имеет форму параболы на графике, мы называем его параболическим рулением, но на самом деле он не включает в себя никаких математических расчетов параболы.
Он построен на графике цен и в основном используется для анализа тенденций цен. Это похоже на скользящую среднюю линию. Единственное отличие заключается в том, что он поставляется с фактором ускорения, который регулирует свою скорость по мере изменения цены.
Кроме того, скользящая средняя всегда будет проходить через цену, когда цена пересекает параболу, индикатор обратит вспять
Расчет параболического рулевого управления очень сложен. Во-первых, необходимо определить крайнюю точку (наивысшую или низкую цену 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,..., до момента перехода.AF
0,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,..., до момента перехода.AF
0,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
Окружающая среда обратного тестирования
Отчет о прибыли
Кривая фондов
(*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
Большинство традиционных индикаторов значительно отстают от новой линии К. При этом параболический поворот не только может быть тесно сопоставлен с новой линией К в соответствии с характеристиками встроенного фактора ускорения, но и не слишком гибкий, так что стратегия может быть как наступательной, так и оборонительной. Хотя метод расчета очень сложен, существующие индикаторы могут использоваться непосредственно, что очень удобно для новичков. Однако следует отметить, что когда рынок входит в узкий диапазон волатильности, параболический поворот часто будет иметь недействительный сигнал покупки и продажи, что приведет к его временному или длительному истечению.