多段階月相運動量変換戦略

月相策略 动量交易 时间序列分析 天文周期 逆转交易 MPLS TSA MR
作成日: 2025-05-30 11:20:26 最終変更日: 2025-05-30 11:20:26
コピー: 2 クリック数: 284
2
フォロー
319
フォロワー

多段階月相運動量変換戦略 多段階月相運動量変換戦略

概要

多相月動量変換戦略は,月周期に基づく取引システムで,満月と新月期が市場に与える可能性のある周期的な影響を利用して取引決定を行う.この戦略は,特定の月相の段階で,市場行動が予測可能なパターンを提示し,それによってトレーダーに潜在的入場と出場の機会を提供すると仮定している.この戦略の核心は,満月と新月近くで多項ポジションを確立し,逆の月相が現れたときにポジションを平準化または変換し,継続的な取引サイクルを形成する.

戦略原則

この戦略の核心原則は,天文周期 (特に月相周期) が市場情緒と価格動向に与える可能性のある影響を利用することである.具体的には,戦略は以下の重要な構成要素を含んでいる.

  1. 月相時間データベース策略は,2025年全年の満月と新月の正確な時刻を事前に定義し,月,日,時間,分を含む.これらのデータは,満月と新月の時間に対応する2つの独立した配列に格納されている.

  2. 月相判定関数この戦略は,isNearMoonこの関数は,月相数列と時間値をパラメータとして受け取り,現在の時間と月相時間の差値を計算し,差値が値範囲内なら (コードで±12時間と設定する) 真の値を返します.

  3. 信号生成論理

    • 満月が近づくと,戦略は”全額購入”の信号を生成し,新月時に以前に確立されたポジションを閉じる
    • 新月が近づくと,戦略は”Buy on New”信号を生成し,満月時に以前に確立されたポジションをすべて閉鎖します.
  4. タグを表示する: 策略は,グラフ上の異なる色と位置のタグで満月と新月の発生をマークし,緑の上向きタグは満月を表し,オレンジの下向きタグは新月を表し,策略の視覚効果とユーザー体験を向上させる.

この戦略は,価格の動きや技術的な指標ではなく,時間を主要な信号源として使用し,代替的な取引思考を反映している.

戦略的優位性

  1. 簡単な取引ルール戦略規則は直観的で分かりやすいので,複雑な数学式や指標計算は不要で,実行の難しさが軽減されます.

  2. 市場の騒音とは無関係です: 取引シグナルは,市場価格の波動ではなく,完全に予期された天文現象に基づいているため,この戦略は,市場の騒音と短期的な変動の影響は少ない.

  3. 長期にわたって月相は,正確に予測できる天文現象であり,長期の取引計画を立てるのに有利な取引信号を長期間前もって決定することを意味します.

  4. 心理的な優位性預定された入場・出場ポイントは感情的な取引の可能性を減らす.トレーダーは,市場恐怖や貪欲の影響を受けることなく,戦略に従って厳格に実行することができます.

  5. 資金管理の簡素化戦略: 口座の純資産のパーセントをデフォルトで使って ((100%) 取引する.これは,資金管理プロセスを簡素化します.しかし,実際のアプリケーションでは,より保守的な比率に調整する必要があるかもしれません.

  6. ビジュアルアシスタント: 戦略は,取引シグナルポイントをグラフで明確にマークし,トレーダーが戦略の実行を直感的に理解し,監視できるようにする.

戦略リスク

  1. 価格の考慮の欠如戦略は,価格レベル,トレンド,変動などの市場要因を完全に無視し,不利な市場条件で取引を可能にした.

  2. 固定時間帯の制限: コードには2025年の月相データのみが含まれています.この時間範囲を超えると,戦略は正常に動作できず,定期的にデータを更新する必要があります.

  3. リスクの抑制の欠如市場が激しく波動すると,大きな損失を招く可能性のある,いかなる形式のストップ・損失保護も実現していない.

  4. サイクル依存性のリスク月相と市場行動の関連性が不安定で,時間とともに変化する場合は,戦略の有効性が影響を受ける.

  5. パラメータ固定性戦略は固定時間値 ((±12時間) を使用し,異なる市場または異なる月相の影響力の強さに適応する柔軟性はありません.

  6. 単方向取引: 戦略は月間的に変化するものの,多操作に限定され,空白の機会を活用せず,一部の市場機会を逃す可能性があります.

これらのリスクを軽減するために,以下のことをお勧めします.

  • 市場条件に基づくフィルターを追加します
  • 適切なストップ・ストラトジーを実現する
  • データベースを拡張して,より長い時間帯を含める
  • タイム値の最適化参数
  • 短期取引の戦略を考慮する

戦略最適化の方向性

  1. 技術指標と組み合わせた:月信号を従来的な技術指標 (移動平均,相対的に強い指数RSI,MACDなど) と組み合わせ,技術指標が月信号を確認した時にのみ取引を実行し,正確性を向上させる.

  2. ダイナミックタイム値下げ市場における満月と新月の影響の持続時間と強さは異なる可能性があり,異なる方法で扱われるべきである.

  3. 余空論理を追加する:特定の月相の段階で空調策を実施することを検討する.例えば,歴史的なデータによると,特定の月相転換期は通常,市場の下落に伴います.

  4. 市場を分割する条件: 異なる市場条件 (上昇傾向,下降傾向,横横整理) の下で月相戦略のパフォーマンスを分析し,異なる条件に応じて戦略パラメータを調整する.

  5. 資金管理の最適化: 固定100%の口座純額を使用するのではなく,市場の変動と口座のリスク承受能力に基づいて,ダイナミックなポジション規模計算を実現する.

  6. 月相強度因子を加える: 月の相の特殊なタイプ (スーパームーン,ブルームーンなど) と,それによる追加的な影響を考慮し,異なるタイプの月相に異なる信号重量を与えます.

  7. データを拡大する戦略を拡張して,他の天文学的要因 (日食,月食,惑星の相等) と,それらの月相との組み合わせ効果を考慮する.

  8. 回帰周期最適化:多周期回測を実行し,戦略がどの時間枠で (日線,周線,月線) 最適なパフォーマンスを示し,ターゲットに最適化する.

要約する

多相月相動量変換戦略は,天文周期を利用して,従来の技術分析ではなく,取引決定を導くための独自の取引方法を表しています.この方法には,シンプルで直感的で,市場の騒音から独立する利点があるものの,価格動態を無視し,リスク管理の欠如,単一の要因に過度に依存するという課題があります.

この戦略は,独立して使用するのではなく,より総合的な取引システムの構成要素として最適です.月信号を従来の技術分析と厳格なリスク管理と組み合わせることで,トレーダーは戦略の信頼性と安定性を潜在的に向上させることができます.

最終的に,すべての取引戦略と同様に,多相月相変数戦略は,異なる市場環境での有効性を検証するために十分な反省と前向きのテストを必要とします.交易者は,月相と市場行動との間に何らかの関連性がある可能性があるが,この関連性は不安定であり,他の要因に影響を受けやすいことを認識する必要があります.

ストラテジーソースコード
/*backtest
start: 2024-05-30 00:00:00
end: 2025-05-29 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("2-Way Moon Phase Strategy (Buy Full/New, Sell Opposite)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === FULL MOON TIMES (2025) ===
fullMoonTimes = array.new_int()
array.push(fullMoonTimes, timestamp(2025, 1, 13, 10, 27))
array.push(fullMoonTimes, timestamp(2025, 2, 12, 2, 53))
array.push(fullMoonTimes, timestamp(2025, 3, 13, 17, 54))
array.push(fullMoonTimes, timestamp(2025, 4, 12, 6, 21))
array.push(fullMoonTimes, timestamp(2025, 5, 11, 17, 55))
array.push(fullMoonTimes, timestamp(2025, 6, 10, 3, 20))
array.push(fullMoonTimes, timestamp(2025, 7, 9, 11, 55))
array.push(fullMoonTimes, timestamp(2025, 8, 7, 19, 39))
array.push(fullMoonTimes, timestamp(2025, 9, 6, 3, 21))
array.push(fullMoonTimes, timestamp(2025, 10, 5, 11, 47))
array.push(fullMoonTimes, timestamp(2025, 11, 3, 21, 18))
array.push(fullMoonTimes, timestamp(2025, 12, 3, 8, 15))

// === NEW MOON TIMES (2025) ===
newMoonTimes = array.new_int()
array.push(newMoonTimes, timestamp(2025, 1, 29, 0, 37))
array.push(newMoonTimes, timestamp(2025, 2, 27, 12, 27))
array.push(newMoonTimes, timestamp(2025, 3, 29, 0, 58))
array.push(newMoonTimes, timestamp(2025, 4, 27, 13, 39))
array.push(newMoonTimes, timestamp(2025, 5, 27, 2, 22))
array.push(newMoonTimes, timestamp(2025, 6, 25, 17, 8))
array.push(newMoonTimes, timestamp(2025, 7, 25, 8, 12))
array.push(newMoonTimes, timestamp(2025, 8, 23, 23, 7))
array.push(newMoonTimes, timestamp(2025, 9, 22, 13, 50))
array.push(newMoonTimes, timestamp(2025, 10, 22, 3, 26))
array.push(newMoonTimes, timestamp(2025, 11, 20, 15, 48))
array.push(newMoonTimes, timestamp(2025, 12, 20, 3, 44))

// === FUNCTION TO DETECT NEARBY MOON PHASE ===
isNearMoon(array<int> moonArray, int thresholdMinutes) =>
    result = false
    for i = 0 to array.size(moonArray) - 1
        moonTime = array.get(moonArray, i)
        timeDiff = math.abs(time - moonTime)
        if timeDiff <= thresholdMinutes * 60 * 1000
            result := true
    result

// === SIGNALS ===
isFullMoon = isNearMoon(fullMoonTimes, 720)  // ±12 hours
isNewMoon  = isNearMoon(newMoonTimes, 720)

// === STRATEGY LOGIC ===
// Use one position with reversal logic
if isFullMoon
    strategy.entry("Buy on Full", strategy.long)
    strategy.close("Buy on New")  // Close previous New Moon trade

if isNewMoon
    strategy.entry("Buy on New", strategy.long)
    strategy.close("Buy on Full")  // Close previous Full Moon trade

// === VISUAL LABELS ===
plotshape(isFullMoon, title="Full Moon", location=location.belowbar, color=color.green, style=shape.labelup, text="Full")
plotshape(isNewMoon,  title="New Moon",  location=location.abovebar, color=color.orange, style=shape.labeldown, text="New")