
この戦略は,動的計算に基づくトレンドブレイク戦略である.これは,株の最高価格と最低価格をリアルタイムで追跡し,価格が最近のサイクルの最高価格を突破すると,多引入され,価格が最近のサイクルの最低価格を突破すると,空白入る.同時に,戦略は,リスクを制御し,固定的損失を確保するために,止損とストップストップを設定する.
この戦略の核心的な論理は,価格のトレンドの突破点を追跡し取引することです.具体的には,戦略は,最近の20日の最高価格highestHighと最低価格lowestLowを計算します.今日の閉店価格が前日のhighestHighを上回ると,上昇傾向の突破点と見なされ,このとき多めに行われます.今日の閉店価格が前日のlowestLowを下回ると,下方傾向の突破点と見なされ,このとき空になります.
余分な空白を行った後,戦略は1%のストップ・ロスと2%のストップ・ストップを設定する.これは,各取引の利回り比が2:1に固定されていることを保証する.これは,単一取引のリスクを効果的に制御する.
この戦略の最大の利点は,価格トレンドの転換点を迅速に把握し,単一取引のリスクをコントロールすることです.具体的には,以下のいくつかの利点があります.
動的に最高価格と最低価格を計算し,価格変化のトレンドをリアルタイムで追跡し,価格の逆転のシグナルを素早く捉えることができます.
突破型の倉庫を設置することで,偽信号を減らすことができ,エントリーの質を向上させることができます.
ストップ・ロスを設定し,単一取引の利益・損失比率を制御し,単一取引のリスクを効果的に制御する.
シンプルで分かりやすい論理で,量子論の初心者の実践に適しています.
コードが少なく,テストや最適化が容易です.
この戦略にはいくつかのリスクがあります.
価格が逆転する最高のポイントを逃す可能性のあるトレンドをフォローしてポジションを作ります.
固定ストップを設定すると,市場の変化に適応するのが困難になり,事前にストップまたはストップすることがあります.
ストラット後期には,層次的な入場と加仓の論理が設定されず,トレンドを継続的に追跡することはできません.
大周期のトレンド判断を考慮せずに,大トレンドと誤位置にすることで損失が生じることがあります.
資金管理モジュールが設定されていないため,全体のポジション管理は制御できません.
この戦略には,多くの改善の余地があり,主な改善の方向は以下の通りです.
ダイナミックなストップ・ストップの設定を追加し,市場の変動に応じてストップ・ストップを調整できます.
平均線方向のフィルタリング条件を追加し,大トレンドとの戦いを避ける.
トレンドの強さの指標の判断を増やして,トレンドが十分に強くなるときにのみポジションを構えるようにする.
単一のコードのロジックを追加し,トレンドを追跡し,利益を最大化します.
資金管理モジュールと組み合わせて,ポジションを動的に調整し,全体のリスクを制御できます.
パラメータを最適化して,最適なパラメータの組み合わせを探します.
この戦略は,全体として,量化初心者の学習と実践に非常に適したトレンドブレイク戦略である.その優点は,単純で分かりやすいことであり,リスクを管理するためにストップストップロジックが加えられていることにある.しかし,さらに学習の機会として最適化できる多くの場所もある.全体として,この戦略は,原理からアプリケーションまで,初心者に適している.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Trend Following Breakout Strategy with 2:1 RRR", overlay=true)
// 定义前高和前低的计算
length = input(20, minval=1, title="Length")
highestHigh = highest(high, length)
lowestLow = lowest(low, length)
// 定义买入和卖出的条件
longCondition = close > highestHigh[1] // 当前收盘价高于前一期的最高价
shortCondition = close < lowestLow[1] // 当前收盘价低于前一期的最低价
// 为了确保盈亏比为2:1,我们需要定义止损和目标价
stopLoss = input(1, title="Stop Loss %") / 100
takeProfit = stopLoss * 2
// 如果满足买入条件,进入多头
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long TP", "Long", profit=takeProfit * close, loss=stopLoss * close)
// 如果满足卖出条件,进入空头
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short TP", "Short", profit=takeProfit * close, loss=stopLoss * close)
// 绘图显示前高和前低
plot(highestHigh, color=color.green, title="Previous High")
plot(lowestLow, color=color.red, title="Previous Low")