この戦略は,EMA線,MACD指標と単日利益を組み合わせて,市場の突破信号を特定し,低値で購入し高値で販売するモメンタム・トレード戦略を実装します.
急速EMA線が緩やかなEMA線を横切ると,市場は上昇傾向にあると考えられ,買い信号が生成される.MACD指標の差が0軸を横切ると,ロングポジションを開くための買い信号も生成される.
さらに,一日の閉店価格が開店価格と比較して10%以上上昇した場合,買い信号も生成され,市場トレンドの破綻を追いかける.
ポジションを開いた後,価格が10%以上下落するとストップロスは起動します.利益が45%に達すると,利益を取ることが起動します.
これは,大きな利益の可能性を持つ強力な勢力の突破後に上昇傾向を把握できる典型的なトレンドフォロー戦略です.主な利点は以下の通りです.
合理的に設計されたものの,いくつかのリスクは依然として存在します:
上記のリスクを減らすために,移動ストップ損失戦略を最適化するか,ボリュームなどの他の指標をフィルター信号に追加することを検討することができます.
更に最適化できる余地があります
パラメータ調整,指標組み合わせ,その他の方法により,この戦略の安定性と収益性が大幅に向上できます.
一般的には,この戦略はシンプルで,実用的で,大きな利益の可能性があります.市場の突破点を判断することで,上昇傾向を効果的に捉えることができ,引き下げ制御も合理的です.将来の最適化では,パラメータ調整とストップ・ロスト/テイク・プロフィートデザインを継続的に改善することで,長期的に価値のある定量的な取引戦略になります.
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Alt Coins", overlay=true) //Simple Alt Coin Trading Strategy// // by @ShanghaiCrypto // ////EMA//// fastLength = input(5) slowLength = input(12) baseLength = input(50) price = close emafast = ema(price, fastLength) emaslow = ema(price, slowLength) emabase = ema(price, baseLength) ///MACD//// MACDLength = input(9) MACDfast = input(12) MACDslow = input(26) MACD = ema(close, MACDfast) - ema(close, MACDslow) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD ////PUMP//// OneCandleIncrease = input(10, title='Gain %') pump = OneCandleIncrease/100 ////Profit Capture and Stop Loss////// stop = input(10.0, title='Stop Loss %', type=float)/100 profit = input(45.0, title='Profit %', type=float)/100 stop_level = strategy.position_avg_price * (1 - stop) take_level = strategy.position_avg_price * (1 + profit) ////Entries///// if crossover(emafast, emaslow) strategy.entry("Cross", strategy.long, comment="BUY") if (crossover(delta, 0)) strategy.entry("MACD", strategy.long, comment="BUY") if close > (open + open*pump) strategy.entry("Pump", strategy.long, comment="BUY") /////Exits///// strategy.exit("SELL","Cross", stop=stop_level, limit=take_level) strategy.exit("SELL","MACD", stop=stop_level, limit=take_level) strategy.exit("SELL","Pump", stop=stop_level, limit=take_level) ////Plots//// plot(emafast, color=green) plot(emaslow, color=red) plot(emabase, color=yellow) plot(take_level, color=blue) plot(stop_level, color=orange)