MA99コンタクトとダイナミックストップロス戦略

SMA MA99
作成日: 2024-04-29 16:59:41 最終変更日: 2024-04-29 16:59:41
コピー: 1 クリック数: 1024
1
フォロー
1617
フォロワー

MA99コンタクトとダイナミックストップロス戦略

概要

この戦略は,99周期のシンプル移動平均 ((MA99) をベースに取引信号を判断する.価格がMA99に触れたときにポジションを開くことができるが,2つのK線で確認する必要はない.止損は,動的ストップを採用する.つまり,価格がMA99を破り,次のK線で確認されると平仓ストップである.この戦略は,MA99の近くの価格の変動を捕捉し,同時に動的ストップでリスクを制御することを目的としている.

戦略原則

  1. 計算する99周期の単純移動平均MA99。
  2. 現在の価格がMA99に触れているかどうかを判断する.つまり,最低価格はMA99に等しいよりも低い,最高価格はMA99に等しいよりも高い.
  3. 価格がMA99に達し,閉盘価格がMA99より高くなったら,多めに;価格がMA99に達し,閉盘価格がMA99より低くなったら,空白に.
  4. 多頭ポジションの場合,閉盘価格がMA99を下回り,次のK線が再確認された場合,平仓;空頭ポジションの場合,閉盘価格がMA99を突破し,次のK線が再確認された場合,平仓。
  5. ポジション開設するたびに,現在のMA99をストップ・スロー価格として設定し,ポジションを平定するたびに,ストップ・スロー価格を再設定する.

戦略的優位性

  1. シンプルで使いやすい:この戦略は単一の指標MA99に基づいています.ルールは明確で,理解し,実行するのが簡単です.
  2. 動的ストップ: 動的ストップは,固定ストップと比較して,市場の変化に適応し,リスクを早期に制御することができます.
  3. トレンド追跡:MA99は中長期のトレンドを表し,価格がMA99に触れたときにポジションを開き,主要トレンドの方向に取引することができる.
  4. 騒音の減少:より短い周期の平均線を使用すると,99周期平均線は,短期的な波動の騒音を効果的にフィルターします.

戦略リスク

  1. パラメータ最適化:この策略は99というパラメータのみを使用しており,最適なパラメータではない可能性があり,反省と最適化によって最適なパラメータを決定する必要があります.
  2. 揺動市場:揺動市場では,MA99の近くで価格が頻繁に波動し,頻繁に取引と損失を引き起こす可能性があります.
  3. トレンド・ターン: トレンド・ターンでMA99を突破すると,この戦略は,間違った方向のポジションを継続して損失を被る可能性があります.
  4. スリップポイントコスト: 頻繁に取引すると,戦略上の利益に影響を与えるため,スリップポイントと取引コストが高くなる可能性があります.

戦略最適化の方向性

  1. トレンドフィルターの導入: ポジション開設シグナルを判断する際には,トレンドの強さと方向を確認するために,ポジション開設の質を向上させるために,MACD,ADXなどの他のトレンド指標と組み合わせることができます.
  2. 最適化パラメータ:MA周期,ストップ条件などのパラメータを最適化して,最適のパラメータの組み合わせを見つけ,戦略の安定性を向上させる.
  3. ポジション管理に加入:市場トレンドの強さ,波動率などの要因に応じてポジションサイズを動的に調整し,撤回リスクを制御する.
  4. 取引コストを考慮する. 戦略の実際のパフォーマンスを評価するために,トレードスライプポイント,手数料などのコスト要因をバックテストとリアルディスクで考慮する必要があります.

要約する

MA99接触とダイナミックストップ戦略は,価格とMA99の関係を判断してポジションを開き,ダイナミックストップを使用してリスクを制御する.この戦略は,使いやすいし,中長期のトレンドをたどることができるが,不安定な市場では頻繁に取引される問題に直面する可能性がある.他の指標のフィルタリング,最適化パラメータ,ポジション管理,コストを考慮するなどの措置を導入することによって,この戦略のパフォーマンスをさらに向上させ,安定性を高めることができる.

ストラテジーソースコード
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/


//@version=5
strategy("MA99 Temas ve Dinamik Stop-Loss Stratejisi", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// MA99 hesaplayalım
ma99 = ta.sma(close, 99)
plot(ma99, color=color.blue, title="MA99")

// Fiyatın MA99'a temas edip etmediğini kontrol edelim
priceTouchedMA99 = (low <= ma99 and high >= ma99)

// Long ve short koşullarını tanımlayalım
longCondition = priceTouchedMA99 and close > ma99
shortCondition = priceTouchedMA99 and close < ma99

var float longStopLoss = na
var float shortStopLoss = na

var int longStopTriggered = 0
var int shortStopTriggered = 0

// Alım veya satım sinyallerine göre işlemleri başlatalım ve stop-loss ayarlayalım
if (longCondition)
    strategy.entry("Long Entry", strategy.long)
    longStopLoss := ma99
    longStopTriggered := 0

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)
    shortStopLoss := ma99
    shortStopTriggered := 0

// Stop-loss koşullarını ve iki mum kuralını kontrol edelim
if (not na(longStopLoss))
    if (close < longStopLoss)
        longStopTriggered := 1
    else
        longStopTriggered := 0

    if (longStopTriggered[1] == 1 and close < longStopLoss)  // Bir önceki mumda tetiklendi ve hala altında
        strategy.close("Long Entry", comment="Stop Loss Long")
        longStopLoss := na
        longStopTriggered := 0

if (not na(shortStopLoss))
    if (close > shortStopLoss)
        shortStopTriggered := 1
    else
        shortStopTriggered := 0

    if (shortStopTriggered[1] == 1 and close > shortStopLoss)  // Bir önceki mumda tetiklendi ve hala üstünde
        strategy.close("Short Entry", comment="Stop Loss Short")
        shortStopLoss := na
        shortStopTriggered := 0