ゴールデンクロス短期ブレイクアウト戦略


作成日: 2024-02-27 17:46:55 最終変更日: 2024-02-27 17:46:55
コピー: 0 クリック数: 583
1
フォロー
1617
フォロワー

ゴールデンクロス短期ブレイクアウト戦略

概要

この戦略は,移動平均に基づく短期追跡戦略である.これは,長期および短期移動平均の黄金のクロスを買取信号として使用し,デッドフォークを販売信号として使用し,RSI指標のフィルターされた偽信号と組み合わせている.これは,高頻度な内日取引に適した典型的なショートライン取引戦略である.

戦略原則

この戦略は,200期間の長期単調移動平均マロングと21期間の短期指数移動平均マショートを使用している. 価格が長期平均線を越え,RSI指数が20未満である場合,買入シグナルが生じる. 価格が短期平均線を越え,RSI指数が80以上である場合,売出シグナルが生じる. 偽のシグナルをフィルターするために,追加条件も設定している.

この戦略は,同時に1%のストップと1%のストップを設定している.つまり,多頭ポジションのストップは購入価格の99%で,ストップは購入価格の101%である.空頭ポジションは,反対に,各取引に厳格なリスク管理があることを保証している.

戦略的優位性

この戦略の最大の強みは,短期的な追跡特性にあります. 移動平均の金/死叉の組み合わせは,短期的なトレンド転換を識別する効果的な技術指標であることが証明されています. RSI極限フィルターと組み合わせて,短期的な逆転の機会を効果的に識別し,適切なタイミングでポジションを調整できます. この高周波取引戦略は,価格の短期的な変動を十分に捉え,利益を上げることができます.

もう一つの優点は,この戦略が厳格な止損機構を設定していることです. オーバーまたは空白のいずれにせよ,止損点は,購入/販売価格の1%以下に設定され,迅速に止まり,損失の拡大を防ぐことができます. ストップも同様に1%に設定され,利益の後にタイムリーで止まるようにします.

戦略リスク

この戦略の最大のリスクは,過度な取引が容易であることです.価格が均線の近くで揺れ動いているとき,しばしばポジションの開設を誘発し,ポジションの維持コストと手数料の制御に不利です.このとき,指標のパラメータを適切に緩和し,無意味な取引を減らす必要があります.

もう一つのリスクは,移動平均線が偽信号を発信しやすいことです.価格が激しく波動すると,実際のトレンドは変化しませんが,移動平均線は誤った信号を発信する可能性があります.この場合,頂上から下へ戻るのを避けるためにRSI極値フィルターに依存する必要があります.RSIパラメータをテストして,フィルタリングをより厳格にすることができます.

戦略最適化の方向性

この戦略は,以下の点でさらに最適化できます.

  1. KD,MACDなどの他の指標のフィルターを追加し,より多くの指標と組み合わせて市場の実際の動きを判断し,偽信号を避ける.

  2. 移動平均のパラメータを最適化し,異なる周期パラメータが戦略の効果に与える影響をテストする.

  3. ストップダメージの停止パラメータを最適化し,ストップダメージが誘発される確率を減らすためにストップダメージの範囲を適切に拡張する.

  4. 取引時間フィルターを追加し,取引が活発な時にのみポジションを開設し,夜間リスクを回避する.

  5. 日中循環と空期フィルターロジックを増やし,無意味な取引の頻度を下げ,費用支出を削減する.

要約する

この戦略は,全体として,典型的な短期追跡戦略である.それは,移動平均の金/死叉の組み合わせを使用して,短期トレンドを判断し,RSI指標の値シグナルを補強する.この戦略は,価格の短期変動を十分に捕捉できる高頻度な日中の取引の利点がある.しかし,一定の偽信号リスクと過剰取引のリスクもある.パラメータの最適化と他の指標の追加により,この戦略をさらに完善し,戦略の安定した収益性を向上させることができる.

ストラテジーソースコード
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("simple pull back", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input values
malongperiod = input.int(200, "Long Term SMA Period", group="Parameters")
mashortperiod = input.int(21, "Short Term SMA Period", group="Parameters")
stoprate = 1  // Set the stop loss percentage to 1%
profit = input.int(1, "Take Profit Percentage", group="Parameters") // Change the take profit percentage to 1%
startday = input(title="Start Trade Day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="Period")
endday = input(title="End Trade Day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Period")

// Plotting indicators
malong = ta.sma(close, malongperiod)
mashort = ta.ema(close, mashortperiod)

plot(malong, color=color.aqua, linewidth=2)
plot(mashort, color=color.yellow, linewidth=2)

// Date range
datefilter = true

// Long entry condition
if close > malong and close < mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) < 20
    strategy.entry("Long", strategy.long)

// Short entry condition
if close < malong and close > mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) > 80
    strategy.entry("Short", strategy.short)

// Exit conditions with 1% stop loss and 1% take profit
strategy.exit("Cut", "Long", stop=(1 - 0.01 * stoprate) * strategy.position_avg_price, limit=(1 + 0.01 * profit) * strategy.position_avg_price)

if close > mashort and close < low[1] and strategy.position_size > 0
    strategy.close("Long")
if close < mashort and close > high[1] and strategy.position_size < 0
    strategy.close("Short")