スマとPSAR戦略のスポット取引

作者: リン・ハーンチャオチャン, 日付: 2023-12-18 10:31:31
タグ:

img

概要

この戦略は"SMAとPSARスポット取引戦略"と呼ばれる.市場傾向の方向を決定し,取引信号を生成するために,シンプル・ムービング・アベア (SMA) とパラボリック・SAR (PSAR) の利点を組み合わせる.SMAが上昇傾向を示し,PSARが価格を下回ると,それは購入タイミングとみなされる.SMAがダウントレンドを示し,PSARが価格の上回ると,それは販売タイミングとみなされる.

戦略の論理

この戦略は,全体的なトレンド方向を決定するために100期SMAを使用する. 閉じる価格がSMA100を上向きに突破すると,それは上向きのトレンドとして定義される. 閉じる価格がSMA100を下向きに突破すると,それは下向きのトレンドとして定義される.

同時,PSAR指標は詳細なエントリーポイントを決定するために計算される.PSAR初期値は0.02,インクリメント値は0.01,最大値は0.2と設定される.上昇傾向にある場合,PSARが閉じる価格を下回る場合,購入信号が生成される.下降傾向にある場合,PSARが閉じる価格を下回る場合,販売信号が生成される.

要するに,PSARが閉じる価格を下回る場合,上昇傾向として判断される場合,購入信号が生成される.下降傾向として判断される場合,PSARが閉じる価格を下回る場合,販売信号が生成される.

取引リスクを減らすため,戦略は5分後にポジションを閉じる時間出口を設定します.

利点分析

この戦略は,SMAとPSAR指標を組み合わせ,トレンドとエントリーポイントを決定し,意思決定の正確性を向上させるために両方の指標の優位性を効果的に利用することができます.SMAは主要なトレンドを決定するために使用できます.PSARは詳細なエントリーポイントにより敏感です.両方を使用することで互いを補完し,戦略をより堅牢にします.

さらに,時間出口を設定することで,個々の取引のリスクを制御し,過度の損失を回避することができます. 全体的に,この戦略は安定し信頼性があり,ほとんどの市場環境に適しています.

リスク分析

  • SMAとPSARは誤った信号を生成し,不必要な取引損失を引き起こす可能性があります.

  • 時間出口設定は短くて 動向を完全に把握できないかもしれない

  • パラメータ設定 (SMA期間,PSARパラメータなど) は特定の製品に適合しない可能性があり,最適化が必要です.

  • バックテスト曲線フィッティングリスク. 市場環境はライブ取引で変化し,戦略のパフォーマンスがバックテストほど良くない可能性があります.

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

  • 異なる SMA 周期パラメータをテストし,特定の製品に適した値を見つけます.

  • PSAR パラメータをテストして最適化して 詳細なエントリをより正確に判断できるようにします

  • 十分な利益を得る前提で 保持時間を適切に増やす

  • ストップ・ロスの戦略を追加して,取引毎の最大損失を制御します.

結論

この戦略は,市場動向とエントリーポイントを決定するために,SMAとPSARのような指標を包括的に使用し,安定して信頼性があり,ほとんどの市場環境に適しています.一方,出口時間を設定することでリスクを制御するのに役立ちます.この戦略は,パラメータ最適化,ストップ損失戦略などを通じてさらに改善され,より良いライブパフォーマンスを得ることができます.


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="SMA and Parabolic SAR Strategy with Time-Based Exit", shorttitle="SMA+PSAR", overlay=true)

// Define the parameters for the Parabolic SAR
psarStart = 0.02
psarIncrement = 0.01
psarMax = 0.2

// Calculate the 100-period SMA
sma100 = sma(close, 1000)

// Calculate the Parabolic SAR
sar = sar(psarStart, psarIncrement, psarMax)

// Determine the trend direction
isUpTrend = close < sma100

// Buy condition: Up trend and SAR below price
buyCondition = isUpTrend and sar < close

// Sell condition: Down trend and SAR above price
sellCondition = not isUpTrend and sar > close

// Plot the SMA and Parabolic SAR
plot(sma100, color=color.blue, title="100-period SMA")
plot(sar, color=color.red, title="Parabolic SAR")

// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry
strategy.entry("Buy", strategy.long, when = buyCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Buy", from_entry = "Buy", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))

strategy.entry("Sell", strategy.short, when = sellCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Sell", from_entry = "Sell", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))


もっと