
この戦略は,移動平均 ((SMA),平均リアル範囲指標 ((ATR),前向き指標 ((CCI) とブリン帯を組み合わせて,短期および中期価格トレンドを発見し,取引決定に支援することを目的としています.
この戦略は,5日目,10日目,5日目,200日目を含む4つの異なる周期のSMA曲線を使用して価格のトレンド方向を識別する.ATRは市場の変動率を測定し,ストップ・ロスを設定するために使用される.CCIは,超買い超売り状況を識別するために使用される.ブリン帯は,下線として,サポート・レジスタンス位置として使用されます.
短期SMA ((5日と10日線) で長期SMA ((50日と200日線) を履くとき,多出します. 短期SMAの下で長期SMAを履くとき,空出します. CCIが100以上で売る,100未満で買う. 止損点はATR値の設定に従ってください.
この戦略は,移動平均のトレンド判断とCCIの超買い超売判断を組み合わせて,市場機会を効果的に把握できます.特に,中短期取引の効果が優れています.さらに,リスク管理は科学的に比較され,損失を最大限に防ぐことができます.
この策略は保守的で,ミスシグナルを生じやすい状況である. 震動的な市場やトレンドの逆転が起きたとき,ストップは早期にトリガーされる可能性がある. さらに,パラメータの設定が不適切であることも効果に影響を与える.
SMAのパラメータを最適化して,現在の市場状態に近似させることができる.また,ブリン帯の標準差を調整して,サポートレジスタンスレベルに適した状態にすることができる.さらに,KDJ,MACDなどの他の指標の補助判断を添加することを考えることができる.これは,戦略の勝率を向上させる可能性がある.
この戦略は,市場を判断する複数の分析ツールを統合し,パラメータを適切に設定すると,投資の良いリターンを得ることができます. ストップ・ロスの規則は,リスクを制御できます. リアルタイムで検証し,最適化する価値があります.
/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © maizirul959
//@version=4
strategy("MACD,RSI & EMA strategy with MA+PSAR by MAM", overlay=true)
//Input Data
_ema_len1 = input(5, title="EMA1 length")
_ema_len2 = input(20, title="EMA2 length")
_macd_fast = input(12, title="MACD Fast")
_macd_slow = input(26, title="MACD Slow")
_macd_signal_len = input(20, title="MACD Signal length")
//MAM add SMA
_sma_len1 = input(5, title="SMA1 Length")
_sma_len2 = input(10, title="SMA2 Length")
_sma_len3 = input(50, title="SMA3 Length")
_sma_len4 = input(200, title="SMA4 Length")
lineWidth = input(1, minval=1, title="Line width")
src = input(close, title="Source")
SMA1 = if _sma_len1 != 0
sma(src, _sma_len1)
SMA2 = if _sma_len2 != 0
sma(src, _sma_len2)
SMA3 = if _sma_len3 != 0
sma(src, _sma_len3)
SMA4 = if _sma_len4 != 0
sma(src, _sma_len4)
//__________________________________________________________________________
_rsi_len = input(14, title="RSI length")
_rsi_signal_len = input(20, title="RSI signal length")
//_________________________________________________________________________
//MAM Add PSAR
PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)
psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
//_________________________________________________________________________
_ema1 = ema(close, _ema_len1)
_ema2 = ema(close, _ema_len2)
//_________________________________________________________________________
//MAM add SMA
//_sma1 = ema(close, _sma_len1)
//_sma2 = ema(close, _sma_len2)
//_________________________________________________________________________
_macd = ema(close, _macd_fast) - ema(close, _macd_slow)
_macd_signal = ema(_macd, _macd_signal_len)
_rsi = rsi(close, _rsi_len)
_rsi_signal = ema(_rsi, _rsi_signal_len)
//PLOT SMA
plot(SMA1, color=#B71C1C, title="SMA1", linewidth=lineWidth)
plot(SMA2, color=#FFFF00, title="SMA2", linewidth=lineWidth)
plot(SMA3, color=#5b34ff, title="SMA3", linewidth=lineWidth)
plot(SMA4, color=#d7d7d7, title="SMA4", linewidth=lineWidth)
//PLOT PSAR
plot(psar, "ParabolicSAR", style=plot.style_cross, color=#3A6CA8)
//plot(_rsi, color=color.yellow)
//plot(_rsi_signal, color=color.green)
//plot(_macd, color=color.blue)
//plot(_macd_signal, color=color.red)
longCondition = close > _ema1 and close > _ema2 and _macd > _macd_signal and _rsi > _rsi_signal
if (longCondition)
strategy.entry("Buy",strategy.long)
shortCondition = close < _ema1 and close <_ema2 and _macd < _macd_signal and _rsi < _rsi_signal
if (shortCondition)
strategy.entry("Sell",strategy.short)