この戦略は,トレンド方向とオーバーバイト/オーバーセール状況を特定するために,両動平均クロスオーバーとRSIインジケータを組み合わせます. 購入条件が満たされるとロングになり,販売条件が引き出されるときにポジションを閉じる. 目標は,動平均クロスオーバーを使用してトレンド方向を決定し,RSIインジケータを使用することで,誤った上位購入と下位販売を避けるため,より良い利益を生むことです.
急速な9期間の移動平均が遅い50期間の移動平均を超えると,より短い時間枠で上向き傾向がより長い時間枠で上向き傾向が重なり合っていることを示します.これは典型的な上昇シグナルです.一方,RSIが前期よりも5ポイント高で70未満である場合は,資産が接近しているが,まだ過買い領域に入っていないことを意味します.これは,長期化するのに良いタイミングです.
急速な9期間の移動平均が遅い50期間の移動平均を下回ると,下落市場の始まりを示し,既存のロングポジションは閉鎖されるべきです.
この戦略は,方向とRSIを決定するために二重移動平均クロスオーバーを使用し,上下を追いかけるのを避ける.安定した利益のために中長期のトレンドを効果的に走ることができます.しかし,クロスオーバー信号の遅延性およびRSIパラメータの調整に注意する必要があります.また,価格とボリュームを関連付けなければなりません.継続的なテストと最適化により,この戦略はさらにより良い結果をもたらすことを約束しています.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 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/ // © joshuajcoop01 //@version=5 strategy("Bitpanda Coinrule Template", overlay=true, initial_capital=1000, process_orders_on_close=true, default_qty_type=strategy.percent_of_equity, default_qty_value=30, commission_type=strategy.commission.percent, commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0) notInTrade = strategy.position_size <= 0 // RSI length = input(14) vrsi = ta.rsi(close, length) // Moving Averages for Buy Condition buyFastEMA = ta.ema(close, 9) buySlowEMA = ta.ema(close, 50) buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA) increase = 5 if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod) strategy.entry("Long", strategy.long) // Moving Averages for Sell Condition sellFastEMA = ta.ema(close, 9) sellSlowEMA = ta.ema(close, 50) plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue) plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green) condition = ta.crossover(sellSlowEMA, sellFastEMA) //sellCondition1 = request.security(syminfo.tickerid, "60", condition) strategy.close('Long', when = condition and timePeriod)