Gann Swing オシレーターに基づく定量取引戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-15 11:37:37
タグ:

この記事では,ガン・スウィング・オシレーターを用いた定量的な取引戦略を詳細に説明します.これは,取引信号を生成するために価格極端を計算することによって市場の傾向を決定します.

I. 戦略の論理

基本指標はガン・スイング・オシレーターである.主な計算ステップは:

  1. 最低値と最高値を計算します

  2. 最新のバーと最後の2つのバーを比較して,上昇傾向の極限を特定します.

  3. 最後の2つのバー 最低値と最新のバーを比較して,下落の極点を特定します.

  4. 極端な関係に基づいて ガンの振動器の値を計算します

  5. 傾向の方向を決定し,指標値に応じて信号を生成する.

これは,価格極端を判断することによって,市場の逆転点と傾向を効果的に特定します.

戦略の利点

最大の利点は,価格の極端な比較を直接利用してトレンド方向を決定する指標のシンプルさです.

もう"つの利点は"つの変数の最小パラメータ要求である.

最後に,トレードシグナルは,重複するポジションを避けるため,長または短のどちらかであるため,曖昧ではありません.

III.潜在的なリスク

しかし,いくつかの潜在的な問題があります.

まず,インジケーターは 突破信号を検出するのに遅れているため, 最良エントリを逃した.

2つ目は,ストップ・ロストとテイク・プロフィートの欠如が,取引ごとにリスクを制御できていないことです.

最後に,頻繁なシグナルには 損失を制限するために適切なマネー管理が必要です

IV.要約

この記事では,ガン・スウィング・オシレーターを用いた定量的な取引戦略について説明しています.価格極端を判断することによって市場動向と逆転を特定します.しかし,ストップを追加し,信号遅延を管理するなどの改善ができます.全体として,傾向を決定するために価格比較を使用するユニークなアプローチを提供します.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-08-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/06/2017
// The Gann Swing Oscillator has been adapted from Robert Krausz's book, 
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps 
// define market swings. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Gann Trend Oscillator")
Length = input(3, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=hline.style_dashed)
xHH = highest(close, Length)
xLL = lowest(close, Length)
xGSO = iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], -1,
         iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], 1, nz(xGSO[1],0)))
pos = iff(xGSO > 0, 1,
	     iff(xGSO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )        
plot(xGSO, color=blue, title="GTO")

もっと