資源の読み込みに... 荷物...

取引戦略をフォローする双 EMA ストカスティックトレンド

作者: リン・ハーンチャオチャン開催日:2024年12月13日 10:48:46
タグ:エイマSMARSK

img

概要

この戦略は,二重EMAとストーカスティック指標に基づくトレンドフォローする取引システムである.これは,ストーカスティック指標を使用して過買い/過売り領域のクロスオーバー信号を捕捉しながら,市場動向を決定するための移動平均を組み合わせ,リスク管理のための動的なストップ・ロストとテイク・プロフィートレベルを備えています.このアプローチは,各取引の信号信頼性と効果的なリスク・リターン管理の両方を保証します.

戦略の原則

この戦略は,いくつかの基本的な要素に基づいています.

  1. 市場傾向の方向性を決定するために50期と150期EMAを使用する
  2. 過剰購入/過剰販売領域を特定するためにストカスティック指標 (14,3,3) を使用する.
  3. トレンド方向にストカスティック・クロスオーバー・シグナルを探す
  4. 最近の価格動向に基づいて動的ストップロスを設定する
  5. 利潤のレベルでは1:2のリスク/報酬比を使用する

購入条件は次のとおりです

  • 閉じる価格 50 と 150 EMA の両方以上
  • 50 EMA が 150 EMA を上回る
  • ストカスティックK値は30以下で,K線はD線以上を横切る

販売条件は逆です

  • 閉じる価格が50と150のEMAを下回る
  • 50 EMA 150 EMA以下
  • ストカスティックK値は70以上で,K線はD線以下に交差する.

戦略 の 利点

  1. 多重確認メカニズムにより信頼性が向上します
  • EMAシステムによる傾向確認
  • ストカスティックを用いた偽信号フィルタリング
  • 信号生成に必要な複数の条件
  1. 総合的なリスク管理システム
  • 動的ストップ・ロスは,最近のサポート/レジスタンスに基づいています.
  • 固定リスク・リターン比で期待収益を最適化
  • 傾向の確認は,誤ったブレイクリスクを減らす
  1. 高度な適応性
  • 複数のタイムフレームに適用可能
  • 市場特性に調整可能なパラメータ
  • 高波動性のある市場に適しています

戦略リスク

  1. 市場差で不況
  • 誤った信号をもたらす EMA の頻繁なクロスオーバー
  • 明確な傾向期のみに推奨
  • トレンドフィルターで改善できます
  1. ストップ・ロスの投資リスク
  • 狭すぎると 頻繁に 停車 する こと が あり ます
  • 余計に緩めすぎると 大きな損失を伴う
  • 市場変動に基づく調整が必要
  1. 遅延リスク
  • EMAシステムには固有の遅延がある
  • トレンド開始点を逃す可能性があります.
  • 入国 タイミング は 慎重 に 検討 さ れる べき です

戦略の最適化方向

  1. トレンド強度フィルタリングを追加
  • トレンド強さのADX指標を組み込む
  • 最低トレンド強度 制限値を設定する
  • 弱気トレンドで取引を避ける
  1. ストカスティックパラメータを最適化
  • 市場特性を考慮してパラメータを調整する
  • 適応パラメータを考慮する
  • 確認のための追加の技術指標を追加する
  1. ストップ・ロスト/テイク・プロフィートのメカニズムを改善する
  • 遅い停留を考慮してください
  • 動向性に基づく動的調整
  • リスク・報酬比の設定を最適化

概要

EMAは,トレンドフォローとモメントトレードを組み合わせた完全な戦略システムである. EMAシステムとストーカスティック指標の組み合わせを通じて,適切な価格レベルに入ると同時に,トレードがメイントレンドに準拠することを保証する. さらに,戦略には,ダイナミックなストップ損失と固定リスク・リターン比率を使用してリスクを制御する包括的なリスク管理メカニズムが含まれています. いくつかの固有の制限があるものの,戦略の全体的なパフォーマンスは,提案された最適化によってさらに改善できます. 実用的な応用では,トレーダーは特定の市場特性および独自のリスク偏好に応じてパラメータを調整することをお勧めします.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
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/
// © quadawosanya

//@version=5
//indicator("My script")
//@version=5
strategy("EMA-Stochastic Strategy", overlay=true)

// EMA settings
ema50 = ta.ema(close, 50)
ema150 = ta.ema(close, 150)

// Stochastic settings
kLength = 14
dLength = 3
smoothK = 3
stochK = ta.sma(ta.stoch(close, high, low, kLength), smoothK)
stochD = ta.sma(stochK, dLength)

// Parameters for Stop Loss and Take Profit
var float stopLossLevel = na
var float takeProfitLevel = na

// Buy condition
buySignal = (close > ema50 and close > ema150) and (ema50 > ema150) and (stochK < 30 and ta.crossover(stochK, stochD))

// Sell condition
sellSignal = (close < ema50 and close < ema150) and (ema50 < ema150) and (stochK > 70 and ta.crossunder(stochK, stochD))

// Previous low for Stop Loss for Buy
lowBeforeBuy = ta.lowest(low, 5)

// Previous high for Stop Loss for Sell
highBeforeSell = ta.highest(high, 5)

// Entry and exit logic
if (buySignal)
    stopLossLevel := lowBeforeBuy
    risk = close - stopLossLevel
    takeProfitLevel := close + 2 * risk
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=stopLossLevel, limit=takeProfitLevel)

if (sellSignal)
    stopLossLevel := highBeforeSell
    risk = stopLossLevel - close
    takeProfitLevel := close - 2 * risk
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", stop=stopLossLevel, limit=takeProfitLevel)

// Plotting EMAs
plot(ema50, color=color.blue, title="50 EMA")
plot(ema150, color=color.red, title="150 EMA")

// Visualize Buy and Sell signals
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Visualize Stop Loss and Take Profit levels
plot(stopLossLevel, color=color.red, style=plot.style_line, linewidth=2, title="Stop Loss")
plot(takeProfitLevel, color=color.green, style=plot.style_line, linewidth=2, title="Take Profit")


plot(close)


関連性

もっと