黄金比率 長期戦略

作者: リン・ハーンチャオチャン, 日付: 2023-11-28 13:40:35
タグ:

img

概要

ゴールデン比率ブレイクアウト・ロング戦略は,過去21日間の最高値と最低値のゴールデン比率レベルに基づいたスウィング・トレーディング戦略である.バックテストメカニズム,ロング・オンリーセットアップ,長期保持期間が特徴である.

戦略の論理

ストラテジーは,まず21日間の最高価格 (high21) と21日間の最低価格 (low21) を計算し,その後,それらの間の差をdiffとして計算する.現在の低価格がlow21 + 0.382 * diffを超えると,前のバーの閉じるが前のバーの開くよりも高いとき,トレードシグナルが起動する.ストップロスはlow21 + 0.236 * diffに設定される.つまり,価格が最近21日間の価格範囲の38.2%のゴールデン比率線を上向き弾性で破ると,ロングポジションが開始される.ストップロスは23.6%のゴールデン比率線である.

黄金比率は,一般的に市場共通サポートとレジスタンス領域に対応しているため,ここで使用されます.0.382と0.236はリトラセシオンとブーンズレベルとして観察され,黄金比率は自然界で最も興味深い数値の1つです.

利点分析

この戦略の利点は次のとおりです.

  1. 熟練した技術分析方法論 - 黄金比率理論によって導かれる.

  2. 長期設定でシステムリスクが減ります

  3. トレンドトラッキングメカニズムは,正確なエントリータイミングを特定します.

  4. 明確なストップ・ロスはリスクを制御します

  5. 調整可能なバックテストパラメータは,異なる市場環境に適しています.

リスク分析

リスクもあります:

  1. 歴史的データに頼ることは,市場体制の変化に敏感にならないようにします.

  2. ストレートストップ・ロスは 一夜間のギャップで停止される可能性があります

  3. 不適切なバックテスト期間中に 激烈な価格変動が起こると 誤った信号が発生します

  4. スリップは収益性に影響します

このリスクは,バックテスト期間を調整し,ストップロスの配置を最適化し,スライドコストを考慮し,などによって軽減できます.

オプティマイゼーションの方向性

戦略は次の側面で向上することができる:

  1. マシン学習アルゴリズムで パラメータを自動最適化して 現在の市場に最適化します

  2. ポジション増強のための指数先物などのレバレッジ製品を組み込む

  3. 価格格差などの極端な事態の対処を改善する

  4. ストップ・ロスのルールを最適化します.例えば,波動性に基づいて動的ストップを設定します.

結論

結論として,これはゴールデン比率理論に基づいた明確なエントリーとストップロスの論理を提供する長時間戦略です.パラメータチューニング,モデル最適化,ポートフォリオ組み合わせ,および他の強化技術によって堅牢な定量的な取引戦略に変換できます.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omkarkondhekar

//@version=4
strategy("GRBLong", overlay=true)

highInput = input(title = "High Days", type = input.integer, defval = 21, minval = 11)
lowInput = input(title = "Low Days", type = input.integer, defval = 21, minval = 5)

// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2019, minval=1800, maxval=2100)

// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))

high21 = highest(high, highInput)
low21 = lowest(low, lowInput)

diff = high21 - low21

longEntrySignal = low > low21 + (diff * 0.382) and close[1] > open[1] 

strategy.entry("Long", strategy.long, limit = low, when = longEntrySignal and afterStartDate)
strategy.exit("Long Exit", "Long", stop = low21 + (diff * 0.236))

plot(low21 + (diff * 0.382), color= color.green)
plot(low21 + (diff * 0.236), color = color.red)


もっと