この戦略はスカルピング戦略タイプに属し,小利益から利益を得るために頻繁にポジションを開閉することを目的とし,下向きのリスクを制限する.これは,移動平均値で長期化するための潜在的な逆転点を特定し,小利益をロックするために緊密な利益目標を設定する.
この戦略は4つの移動平均値を使用します 9, 50, 100, 200期です
特別取引規則は次のとおりです.
この組み合わせは,価格が短期的に下落傾向にある状況が特定されますが,逆転が起こる可能性があります.
エクジットルールは,9MAが200MAを超えるとあります.近利目標は,安定した利益のために頻繁な小利益をロックするために使用されます.
リスクは以下によって軽減できます.
戦略は以下によって改善できます.
MA の組み合わせを最適化する
逆転の検出を良くするために より多くの MA 期間をテストする.
利益の拡大
より多くのトレンド利益を得るため,より広いTP距離を許可します.
他の指標を追加する
KDJ,MACDなどの確認は 取引が不成立を防ぐため
位置サイズ最適化
特定のTPとSLに基づいて動的サイズポジション
再入国規則の追加
トレンドが続く場合 TPの後再入力を検討します
このスカルピング戦略は,頻繁な小利益のためのMA組み合わせで潜在的な短期的な逆転を特定します.これは単一の損失とリスクを効果的に制御し,小口座の成長に適しています.しかし,小利益範囲や過剰な取引のような制限があります.パラメータ調節,TP調整,フィルターなどを追加することによって改善ができます.その強みを保持しながら利益を拡大し,戦略をより堅牢かつ効率的にします.また,他のより高度な戦略を継続的に学ぶことも重要です.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations movingaverage_signal = sma(close, input(9)) movingaverage_fast = sma(close, input(50)) movingaverage_slow = sma(close, input(200)) movingaverage_mid= sma(close, input(100)) //Entry bullish = crossover(movingaverage_signal, movingaverage_fast) strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window()) //Exit bearish = crossover(movingaverage_signal, movingaverage_slow) Stop_loss= ((input (2))/100) Take_profit= ((input (8))/100) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) longTakeProfit = strategy.position_avg_price * (1 + Take_profit) strategy.close("long", when = bearish) // close < longStopPrice or close > longTakeProfit and window()) //PLOT plot(movingaverage_signal, color=color.black, linewidth=2 ) plot(movingaverage_fast, color=color.orange, linewidth=2) plot(movingaverage_slow, color=color.purple, linewidth=2) plot(movingaverage_mid, color=color.blue, linewidth=2)