
連続K線反転突破策の核心構想は,一定の期間を経て連続下落の後に反転シグナルが現れて,重要な抵抗点を突破する取引機会を捕捉することである.この戦略は,連続下落のK線数,連続上昇のK線数,および停止条件などのパラメータを設定することによって,特定の条件が満たされたときにポジションを開き,停止条件が触発されたときにポジションを平にする.
戦略の鍵は,逆転信号を正しく識別し,適切なパラメータを設定することです.連続で落下するK線の数と連続で上るK線の数が2つの重要なパラメータであり,反測結果に基づいて最適化する必要があります.さらに,止損条件の設定は,リスクを制御するだけでなく,誤りをもたらす機会を早めに止めてしまうことも重要です.
連続K線反転突破策は,株価が連続下落した後の反転信号を捕捉して取引決定を行う.この策は,単純に分かりやすく,震動市場とトレンドの初期に適しています.連続K線の数とストップ条件などのパラメータを設定することにより,異なる市場状況に柔軟に適応できます.しかし,この戦略には,長期のトレンド状況に適応する一般的,ポジション管理と資金管理の欠如などのいくつかの制限があります.
実際の応用では,市場の特徴と自分のリスクの好みに応じて戦略を最適化・改善する必要がある.例えば,連続Kライン数とストップ条件の設定を最適化,多空双方向取引を追加し,ポジション管理と資金管理を導入し,その他の技術指標と取引シグナルと組み合わせるなどである.こうすることで,戦略の収益性を向上させながら,リスクをコントロールし,安定した投資収益を達成することができる.
全体として,連続K線逆転突破戦略は,実践でさらに探索し,最適化する価値のある,シンプルで実用的取引戦略である.しかし,いかなる戦略も万能ではない.投資家は,自分の経験と判断,慎重な決定,厳格な実行を組み合わせて,市場の中で長期にわたって無敵の立場に立つのが必要です.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bottom Out Strategy", overlay=true)
consecutiveBarsUp = input(2)
consecutiveBarsDown = input(3)
price = close
ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0
dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0
var entry_bar_index = 1000000
var active = false
var stop_loss = 0.0
// === INPUT BACKTEST RANGE ===
i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From")
i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru")
// === FUNCTION EXAMPLE ===
date() => true
entry_condition() =>
date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active
exit_condition() =>
date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7))
if (entry_condition())
strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry")
entry_bar_index := bar_index
active := true
stop_loss := math.min(close, close[1], close[2])
// log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss)
if (exit_condition())
strategy.close("ConsDnLong", comment = "CDLClose")
// log.info("Close at bar {0}", bar_index)
entry_bar_index := 1000000
active := false
// if (dns >= consecutiveBarsDown)
// strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot(high - 2* ta.atr(7))