スカルピング・ディプス・イン・ブル・マーケット・戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-30 16時33分54秒
タグ:

img

概要

スカルピング・ディープ・イン・ブル・マーケット (Scalping Dips in Bull Market) は,トレンドをフォローする戦略である.牛市中にディープを購入し,ポジションを終了する際に利益をロックするために広いストップ・ロスを設定する.この戦略は牛市場に適しており,過剰な利益をもたらすことができる.

戦略の論理

この戦略は,まず,見直し期間の価格変化を計算する.価格が設定されたコールバックパーセントよりも多く下落すると,購入信号が起動する.同時に,移動平均線は,上昇傾向の確認として,閉じる価格以上である必要があります.

ポジションに入ると,ストップ・ロストとテイク・プロフィート価格が設定される.十分な資金を確保するためにストップ・ロストパーセントは大きく,迅速なプロフィートテイクのためにテイク・プロフィートパーセントは小さい.ストップ・ロストまたはテイク・プロフィートが起動すると,ポジションは閉鎖される.

利点分析

この戦略の利点は次のとおりです.

  1. 過剰収益を得る方法論に従う傾向に準拠する
  2. 合理的なコールバックパーセントと傾向基準が正確性を保証する
  3. ストップ・ロスの設計は,資本の安全を完全に考慮します
  4. 迅速な利益の取出 利益の取出設定と抽出制御

リスク分析

この戦略にはいくつかのリスクもあります:

  1. 過剰なリトレースやトレンドの逆転が損失につながる可能性があります.
  2. ロープリスク ロープリスク
  3. 範囲限定市場におけるストップ損失/利益条件を満たす困難

対策: ポジションのサイズを厳格に管理し ストップロスの割合を調整し リスクを軽減するために 利得脱出比を適切に削減します

オプティマイゼーションの方向性

戦略は以下の側面で最適化できます.

  1. 入場機会を最適化するために,コールバックパーセントを動的に調整
  2. 意思決定の正確性を向上させるためにより多くの指標を追加します
  3. ストップ損失/利益比を動的に調整するための変動指標を組み込む
  4. ポジションのサイズを最適化してリスクを制御する

結論

スカルピング・ディップ・イン・ブル・マーケット (Scalping Dips in Bull Market) 戦略は,幅広いストップ・ロスを使って過剰なリターンをロックする.利益の機会のためにブル・マーケットのトレンドでコールバック・ディップを購入することを資本化する.細かな調整パラメータとリスク制御は,良好な安定したリターンを生み出すことができる.


/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 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/
// © Coinrule

//@version=3
strategy(shorttitle='Scalping Dips On Trend',title='Scalping Dips On Trend (by Coinrule)', overlay=true, initial_capital = 1000, 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")     
fromDay   = input(defval = 10,    title = "From Day")       
fromYear  = input(defval = 2020, title = "From Year")       
thruMonth = input(defval = 1,    title = "Thru Month")     
thruDay   = input(defval = 1,    title = "Thru Day")     
thruYear  = input(defval = 2112, title = "Thru Year")       

showDate  = input(defval = true, title = "Show Date Range")

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true

inp_lkb = input(1, title='Lookback Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)

//MA inputs and calculations
MA=input(50, title='Moving Average')

MAsignal = sma(close, MA)

//Entry

dip= -(input(2))

strategy.entry(id="long", long = true, when = overall< dip and MAsignal > close and window()) 

//Exit
Stop_loss= ((input (10))/100)
Take_profit= ((input (3))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())

もっと