強気相場を追いかけるボックス購入戦略


作成日: 2024-01-29 09:53:55 最終変更日: 2024-01-29 09:53:55
コピー: 0 クリック数: 743
1
フォロー
1617
フォロワー

強気相場を追いかけるボックス購入戦略

概要

牛市追尾箱体購入戦略は,ダーバスの箱体戦略の改変版である.この戦略は,牛市期間の開場のみで多引入する.この戦略は,まず,最高価格に基づいて箱体エリアを図画し,価格が箱体上線を突破すると,閉場価格で多引入する.

戦略原則

この策略はDarvasの箱体理論の改良に基づいています.Darvasの箱体理論は,価格が横盤整理の後に箱体に沿って突破するとき,より多くの良いタイミングであると考えます.この策略は,この理論に従ってより多くの入場時間を判断します.

具体的には,この戦略は,まず,最近5日の最低価格を計算して,箱体の下線を描きます. そして,最近5日の最高価格を計算して,箱体の上線を描きます. 価格の閉盤が上線を突破すると,市場が牛市に入ると判断し,閉盤価格でポジションを開きます.

多量実行後,戦略は,箱体下の軌道の近くにあるストップを設定し,ストップをストップの5倍に設定する.

優位分析

この戦略には以下の利点があります.

  1. 箱体理論の判断により,追が多時間行うことで,部分的な騒音を効果的にフィルターすることができます.

  2. 突破した軌道上の明確なシグナルポイントで,多くの不必要なランダムなポジション開設を回避します.

  3. ストップ・ローズとストップ・ストップのロジックが設定され,リスクがコントロールできます.

  4. 牛市で多額の投資をすれば,波動や熊市で多額の投資をするところのリスクを回避できます.

リスク分析

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

  1. 箱体理論は完璧ではないし,価格が上昇したということは,今後も上昇し続けることを意味するものではない.

  2. 突破箱体上線後の回調リスクを考慮しないことにより,損傷が止まる可能性があります.

  3. 長期保有のリスクに注意してください.

  4. 戦略のパラメータは,異なる市場に対応した調整が必要になる可能性があります.

リスクに対応するには,以下の方法で最適化および改善を行うことができます.

  1. 箱の突破の信頼性を判断する指数と組み合わせて.

  2. 突破の軌道に乗った後,しばらく待つか,2度目の突破の確認を考慮し,再入場する.

  3. 利潤を固定するために尾張のストップを増やしたり,ストップを移動したりします.

  4. 異なる市場のデータをテストし,パラメータを最適化します.

戦略最適化の方向性

この戦略は以下の方向から最適化できます.

  1. 箱体パラメータを最適化して,異なる天数パラメータにより良い結果が得られるかどうかをテストする.

  2. フィルタリング指標を追加し,トレンドが上昇する時により多くの追尾を行うことを保証します.例えば,均線指標を組み合わせるなど.

  3. ストップ・ストップ・パラメータを最適化して,異なる市場に適したものにしました.

  4. 利潤を追跡するために移動停止を追加します.

  5. 株価が逆転したときに,終了信号を追加し,一時停止します.

要約する

牛市追箱体買取戦略は,ダーヴァス理論の改良に基づくシンプルで効果的な追戦略である.それは,明確な買取信号が現れたときにのみ多額の取引を行い,多くの不必要なランダムな取引を避けることができる.同時に,リスクを制御するために,ストップとストップを設定する.この戦略は,単純で実用的で,牛市で適用する価値があります.しかし,その中に存在するリスクに注意を払い,さらなるテストと最適化を行い,より多くの市場で安定した利益を上げることができるようにする必要があります.

ストラテジーソースコード
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Darvas Box Strategy - Buy Only", overlay=true)

start_date = timestamp(2023, 10, 15, 0, 0)

boxp = input(5, "BOX LENGTH")

LL = lowest(low, boxp)
k1 = highest(high, boxp)
k2 = highest(high, boxp - 1)
k3 = highest(high, boxp - 2)

NH = valuewhen(high > k1[1], high, 0)
box1 = k3 < k2
TopBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

plot(TopBox, linewidth=2, color=color.green, title="TopBox")
plot(BottomBox, linewidth=2, color=color.red, title="BottomBox")

// Define entry conditions
enterLong = crossover(close, TopBox)

// Define exit conditions
exitLong = false  // No specific exit condition mentioned in the original script

// Define stop loss level
stopLoss = BottomBox

// Define take profit level (2 times the stop loss)
takeProfit = stopLoss * 5

// Execute buy trade and set stop loss and take profit
strategy.entry("Buy", strategy.long, when = enterLong)
strategy.exit("Exit", "Buy", stop = stopLoss, limit = takeProfit)

// Plot buy signal arrow
plotshape(enterLong, title = "Buy Signal", style = shape.labelup, location = location.belowbar, color = color.green)

// Plot stop loss level
plot(stopLoss, linewidth=2, color=color.red, title="Stop Loss Level")

// Plot take profit level
plot(takeProfit, linewidth=2, color=color.rgb(19, 202, 111), title="Take Profit Level")

// Hide sell signal arrow
plotshape(false, title = "Sell Signal", style = shape.labeldown, location = location.abovebar, color = color.red, transp = 100)