金価格行動取引アルゴリズム

作者: リン・ハーンチャオチャン開催日:2023年12月13日 16:08:12
タグ:

img

概要

このアルゴリズムは,価格アクションに基づいて金を取引する.価格変動範囲を決定するために,最近の20個のキャンドルスタイルの最高値と最低値を計算する.価格は最新のキャンドルスタイルの最高価格を突破するとロングになり,価格が最新のキャンドルスタイルの最低価格を突破するとショートする.ロングまたはショートポジションを開いた後,利益とストップ損失の価格を設定する.

原則

このアルゴリズムのコアロジックはブレイクアウト理論に基づいている.価格変動範囲を決定するために,最新の20のキャンドルスタイクの最高値と最低値を記録する.価格がこの範囲を超えると,ブレイクアウトとみなされ,したがって取引信号が起動する.具体的には,アルゴリズムの流れは:

  1. 最新の20のキャンドルスタイルの最高価格 (最高値) と最低価格 (最低値) を計算する
  2. 価格変動範囲 (priceRange) を取得する
  3. 最新のキャンドルスタイルの最高価格をブレイクレベルとして記録する (breakoutLevel)
  4. 最新のキャンドルスタイルの高値がブレイクレベルを突破し,閉じる値もブレイクレベルを突破すると,ロング
  5. 最新のキャンドルスタイルの低値がブレイクレベルを下回り,閉じる値もブレイクレベルを下回ると,ショート
  6. 長期または短期ポジションを開いた後,利益とストップ損失の価格を設定する

このアルゴリズムの取引信号は 価格ブレイク判断から来ます 鍵は価格ブレイクのタイミングを特定することです

利点を分析する

アルゴリズムには以下の利点があります

  1. シンプルで明快で 分かりやすく 実行できます
  2. 価格動向に基づいて,他の指標の影響を受けない
  3. 明確な突破信号, 簡単に把握できる入力のタイミング
  4. 市場騒音を大幅にフィルターし,罠にはまらない
  5. 単一の取引損失を制御するために,利益とストップ損失を取り入れます.

このアルゴリズムの基本考え方は,一般的には明確で論理的です. 導入のタイミングは簡単で,理解しやすいです. また,単一の取引損失を制御することができます. したがって,これは強力な実用性を持つ定量的な取引戦略です.

リスク分析

アルゴリズムにはリスクもあります

  1. 脱出が失敗する確率が高く,利益が損なわれるリスク
  2. 突破タイミングの誤った把握,あまりにも早くまたは遅すぎるかもしれない
  3. 心理的な耐久性が必要です
  4. 不合理な利益とストップ損失の設定は,より大きな利益を見逃したり,より大きな損失を取ったりする可能性があります.

これらのリスクを制御し,最適化するために,以下の措置をとることができます.

  1. 信頼性を高めるため,他の指標でブレイクアウトを確認します.
  2. 入力タイミングの精度を向上させるパラメータを最適化
  3. 単一の取引損失リスクを減らすためにポジションのサイズ調整
  4. ダイナミックに取利益とストップ損失の価格を調整する

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

アルゴリズムは次の側面で最適化できます:

  1. 他の指標と組み合わせる移動平均値,ボリンジャー帯なども導入して ブレイクアウト信号を二重確認し信頼性を高めることができます

  2. パラメータ最適化異なるパラメータの組み合わせをテストして,ブレイクアウト期間長さを最適化し,より信頼性の高いパラメータ設定を見つけることができます.

  3. 利益とストップ損失の最適化. 動的に変動等に基づいて利益とストップ損失距離を取って調整します.

  4. 位置サイズ最適化ポジションサイズアルゴリズムを最適化し,単一の取引損失を減らす.

  5. 機械学習. より良いパラメータの組み合わせを自動的に見つけるために,膨大な量の歴史的データから学ぶ.

上記の最適化は,アルゴリズムの安定性,勝利率,収益性をさらに高めることができます.

結論

金取引アルゴリズムは価格アクションとブレイクアウト理論に基づいて取引信号を生成する.このアイデアはシンプルで明確で,実行しやすい,非常に実践的です.一方,安定性と収益性を向上させるためにいくつかのリスクがあり,さらなる最適化が必要です.全体的に言えば,金取引と効率的な定量戦略に適しています.他の指標,パラメータ最適化,利益/ストップ損失最適化などを組み合わせることで,より良い戦略パフォーマンスを達成することができます.


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

//@version=5
strategy("XAUUSD Price Action Strategy", overlay=true)

// Define input parameters
takeProfit = input(500, "Take Profit")
stopLoss = input(200, "Stop Loss")

// Calculate price action
highs = ta.highest(high, 20)
lows = ta.lowest(low, 20)
priceRange = highs - lows
breakoutLevel = highs[1]

// Define conditions for long and short trades
longCondition = high > breakoutLevel and close > highs[1]
shortCondition = low < breakoutLevel and close < lows[1]

// Execute long and short trades with take profit and stop loss
if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", limit = close + takeProfit, stop = close - stopLoss)

if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", limit = close - takeProfit, stop = close + stopLoss)

// Plot breakout level
plot(breakoutLevel, color=color.blue, title="Breakout Level")

// Highlight long and short trade signals on the chart
bgcolor(longCondition ? color.green : na, transp=80)
bgcolor(shortCondition ? color.red : na, transp=80)

もっと