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

EMA200とストカスティックRSI戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-06 11:28:53
タグ:

EMA200とストカスティックRSI戦略

この戦略は,指数関数移動平均値 (EMA) とストカスティック相対強度指数 (RSI) の組み合わせです.これは,EMA200とストカスティックRSI値の上下での価格の動きに基づいて,長期および短期取引機会を特定するために設計されています.

戦略の仕組み

戦略は,次の条件を使用して入力信号を生成します.

長いエントリー: 価格がEMA200より上です ストカスティックRSIは20を下回り,RSIを上回っています. 現在のキャンドルは高いキャンドルです 現在のキャンドルのボディは,以前のキャンドルのボディより少なくとも5%大きい. 短いエントリー: 価格がEMA200を下回っている. ストカスティックRSIは80以上で RSIを下回りました 現在のキャンドルは低低キャンドルです. 現在のキャンドルのボディは,以前のキャンドルのボディより少なくとも5%小さい. 戦略の利点

この戦略には,以下のようないくつかの潜在的な利点があります.

EMAとストカスティックRSIは,両方がトレーダーによって広く使用され,長年の成功を収めている. この戦略には限られた数のパラメータがあり,あらゆる経験レベルのトレーダーが理解し,使用することが容易です. この戦略は柔軟で,さまざまな市場条件で使用できます.この戦略は,ロング・ショート・ポジションの両方を取引するために使用できます.また,トレンド・ランジング・マーケットの両方で使用できます. 戦略のリスク

取引戦略と同様に,EMA200とストカスティックRSI戦略の使用には,以下のような潜在的なリスクもあります.

戦略は歴史的なデータに基づいています 戦略が将来的に利益をもたらす保証はありません 戦略は,ウィップソーに敏感である可能性があります. これは,資産の価格が両方向に急速に動くと,損失につながる可能性があります. 戦略は不安定な可能性があります.これは大きな損失のリスクがあります. 結論

EMA200 とストカスティック RSI 戦略は,あらゆる経験レベルのトレーダーが使用できる比較的シンプルで効果的な取引戦略です.しかし,どの取引戦略も利益をもたらす保証がないことを覚えておくことは重要です.そして,トレーダーはいつでもどんな取引戦略も使用する際に注意を払うべきです.


/*backtest
start: 2022-08-30 00:00:00
end: 2023-09-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © eaglezou1006

//@version=5
//strategy("70000%", overlay = true, initial_capital = 100, commission_value = 0.04, commission_type =strategy.commission.percent, pyramiding = 1, default_qty_value = 100, default_qty_type = strategy.cash, currency = currency.USDT)
//Stoch RSI
rsi1 = ta.rsi(close, 14)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, 14), 3)
d = ta.sma(k, 3)
//ema
ema200 = ta.ema(close, 200)
plot(ema200, color = color.white)
//atr
length = 14
smoothing = 'RMA'
m = input(2, 'ATR倍数', group = "用户自定义参数")
src1 = high
src2 = low
pline = true

collong = color.teal
colshort = color.red

a = ta.rma(ta.tr(true), length) * m
x = ta.rma(ta.tr(true), length) * m + src1
x2 = src2 - ta.rma(ta.tr(true), length) * m
p1 = plot(x, title='ATR Short Stop Loss', color=color.new(colshort, 20), trackprice=pline ? true : false)
p2 = plot(x2, title='ATR Long Stop Loss', color=color.new(collong, 20), trackprice=pline ? true : false)

rewardRiskRatio = input.float(defval = 1.5, title = "盈亏比", minval = 1, maxval = 15, step = 0.1, group = "用户自定义参数")
highLowShadowRatio = input.int(defval = 20, title = "上下影线点比(%)", minval = 1, maxval = 100, step = 1, group = "用户自定义参数")
keyCandlestickChange = input.float(defval = 0.5, title = "关键K线涨跌幅(%)", minval = 0.1, maxval = 100, step = 0.1, group = "用户自定义参数")

longCondition = close > ema200 and (k < 20 and d < 20 and ta.crossover(k, d)) and high > high[1] and close[1] > open[1] and (close > open and (high-close) / (high-low) <= highLowShadowRatio / 100 and (close / open) - 1 >= keyCandlestickChange / 100)
shortCondition = close < ema200 and (k > 80 and d > 80 and ta.crossunder(k, d)) and low < low[1] and close[1] < open[1] and (close < open and math.abs(high-open) / math.abs(high-close) <= highLowShadowRatio / 100 and 1 - (close / open) >= keyCandlestickChange / 100 )
plotshape(longCondition, 'Buy', shape.labelup, location.belowbar, color=collong, size=size.small, offset=0)
plotshape(shortCondition, 'Sell', shape.labeldown, location.abovebar, color=colshort, size=size.small, offset=0)

if longCondition
    strategy.entry("Enter Long", strategy.long)
else if shortCondition
    strategy.entry("Enter Short", strategy.short)

もっと