パラボリックステアリング (Parabolic steering) は,ウェルズ・ワイルダーによって発明された非常に奇妙な技術分析指標で,略称は
パラボリックターンは,外形が他の指標と異なるため特異的です.赤色または緑色のドットで構成され,弧形で価格動きを追います.チャート上のパラボラのような形をしているため,パラボリックステアリングと呼ばれますが,実際にはパラボラの数学的な計算を伴うものではありません.
価格チャートの上に構築され,主に価格動向を分析するために使用されます.これは移動平均線に似ています.唯一の違いは,価格の変化に応じて速度を調整する加速因数が付属することです.
さらに,移動平均値は常に価格を通過し,価格がパラボラを横切ると,インジケーターは
パラボリックステアリングの計算は非常に複雑です.まず,極点 (最高または最低価格EP) を決定する必要があります.その後,0.02から始まる加速因数 (AF) を追加し,次に極点に触れるたびに0.02を追加します.最大AFは0.20,その後,極値と前の期間のSARの違いを加速因数で倍数し,前の期間のSARを追加します.
ステップ1:この時間帯は,t
. SAR(t)
前 N 期間の最低価格に等しい.Af(t)
0.02 です.
もしSAR(t)
最低価格より大きいL(t)
t 期間の間,切り替えが起き,次の期間に下落傾向に入ります.
もしSAR(t)
最低価格より高くないL(t)
値の上昇傾向が次の期間に始まると,
極端な値Ep(t)
最新のN 期間の最高価格に等しい.
ステップ2この時間帯は,t+1で,次のとおりです.
SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
もしSAR(t+1)
最低価格より大きいL(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)
.
ステップ3このアルゴリズムは,次の時間段 t+2, t+3,..., で,スイッチが起こるまで,上昇傾向の第2ステップで繰り返されます. さらに,最大値はAF
0.2 になります
ステップ1:計算した時間帯は t です.SAR(t)
前 N 期間の最高価格に等しい.Af(t)
0.02 です.
もしSAR(t)
最高価格より低い場合H(t)
変化が発生し,次の期間に上昇傾向に入ります.
もしSAR(t)
最高価格より低くないH(t)
低迷傾向が次の期間に続く場合
極端な値Ep(t)
最低価格に等しい.
ステップ2: 時間は t+1 で,これは:
SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
もしSAR(t+1)
最高価格より低い場合H(t+1)
変化が発生し,次の期間に上昇傾向に入ります.
もしSAR(t+1)
最高価格より低くないL(t+1)
さらに,極限値は,この値の値の値の値の値の値の値の値の値の値の値です.Ep(t+1)
最低価格に等しい.
最安値ならL(t+1)
前 N 期間の最低価格よりも低い場合,AF(t+1)=AF(t)+0.02
そうでなければAF(t+1)=AF (t)
.
ステップ3:このアルゴリズムは,次の時間段 t+2, t+3,..., で,スイッチが起こるまで,上昇傾向の第2ステップで繰り返されます. さらに,最大値はAF
0.2 になります
SAR アルゴリズムには多くのバージョンがあります.上記のアルゴリズムはそのうちの1つに過ぎません.他のものは構造的には類似しています.違いは加速因子のトリガー条件と,加速因子の決定アルゴリズムなどの詳細にあります.Ep(t)
.パラボリックターンの特徴は,市場の上昇傾向において,各K線のSARは前のK線のSARよりも高く,ストップ・ロスは徐々に上昇し,浮動利益も徐々に上昇することを保証する.これは典型的なトレーリング・ストップ・ロスである.市場の加速する上昇傾向において,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
伝統的な指標の多くは新しいK線に遥かに遅れています.パラボリックターンは,組み込み加速因子の特徴に応じて新しいK線と密接にマッチできるだけでなく,戦略が攻撃的および防御的の両方になるように柔軟ではありません.計算方法は非常に複雑ですが,既存の指標は直接使用できます.これは初心者にとって非常に友好的です.しかし,市場が狭い波動範囲に入ると,パラボリックターンはしばしば無効な買取販売信号を持ち,一時的にまたは長期にわたって有効期限を満了させます.