52週間の高低ボックス取引戦略

作者: リン・ハーンチャオチャン開催日:2023年12月11日 14:43:30
タグ:

img

概要

52週間の高低ボックス取引戦略は,価格が異なる範囲で振動して形成されたボックスを取引信号として使用する戦略である.この戦略の基本的な論理は,価格が特定の範囲 (ボックス) の上下を突破すると,価格が新しい範囲に入っていることを示し,その時点でロングまたはショートポジションを開くことができる.

戦略原則

この戦略では,過去5日間の最高値と最低値 (調整可能) を計算し,価格が新しい取引範囲に入っているかどうかを決定します.具体的なルールは以下の通りです.

  1. 最新の5日間の最高高値と最低低値を計算し,取引範囲を構成します.

  2. 価格がこの範囲の上限を超えると,値がより高い範囲に入っていることを示し,ロングポジションを開くことができます.

  3. 価格がこの範囲の下限を下回ると,価格がより低い範囲に入る可能性があることを示し,ショートポジションを開くことができます.

  4. リスクを制御するために,前回の範囲の上限/下限に近いストップ損失を設定します.

  5. 上記の判断を繰り返して 利益を得るために取引範囲を継続的に調整します

このような突破を活用して 傾向を特定し 取引信号を生成することが この戦略の核心です

利点分析

52 週間の高低ボックス取引戦略には以下の利点があります.

  1. 戦略の論理はシンプルで直感的で 分かりやすく実行できます

  2. 価格が新しい範囲に入るとトレンド動きを捕捉することができます.レンジブレイクは比較的信頼できる取引信号です.

  3. リスクを効果的にコントロールできる 明確なストップロスの戦略があります

  4. サイクルの長さは,異なるサイクルの長さや種類に合わせて調整できます.

一般的には,これは良いリスク管理能力と実用性のあるトレンド取引戦略です.

リスク分析

この戦略にはいくつかのリスクもあります.主に以下のようなリスクがあります.

  1. 傾向が明らかでない場合,複数の小さな損失が発生する可能性があります.

  2. 不適切な範囲設定は 誤った取引の可能性も高めます

  3. ストップ・ロスの戦略では 巨大な価格格差のリスクを完全に避けることはできません

これは,トレーダーが戦略のパラメータを継続的にテストし,最適化し,リスクを慎重に管理することを要求します.

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

52週間の高低ボックス取引戦略は,以下の側面でも最適化できます.

  1. 取引量または移動平均指標を組み合わせて,買い・売るシグナルを検証し,正確性を向上させる.

  2. 市場の変化に合わせて箱の長さのパラメータを最適化する.

  3. 突破の買い物後 引き下げを待って 再入国の機会を増やす

  4. 複合原則を使用して,より高いリターンを追求するために,ストップロスの各ポジションを適切に増加します.

パラメータ調整とルール最適化によって,この戦略の効果は継続的に改善できます.

概要

52週間の高低ボックス取引戦略は,価格ブレイクに基づいてトレンド方向を決定する戦略である. シンプルな取引論理と強力なリスク管理能力を有する. この戦略の利点を完全に活用するために,実践で継続的なテストと最適化が必要である. 全体的に,これは推奨される実践的な取引戦略である.


/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-10 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/
// © ceyhun

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

boxp=input(5, "BOX LENGTH")

D_High = security(syminfo.tickerid, 'D', high) 
D_Low = security(syminfo.tickerid, 'D', low) 
D_Close =  security(syminfo.tickerid, 'D', close) 
D_Open =  security(syminfo.tickerid, 'D', open) 

LL = lowest(D_Low,boxp)
k1 = highest(D_High,boxp)
k2 = highest(D_High,boxp-1)
k3 = highest(D_High,boxp-2)

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

plot(TopBox, linewidth=2, color=#00FF00, title="TopBox")
plot(BottomBox, linewidth=2, color=#FF0000, title="BottomBox")

if crossover(D_Close,TopBox)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(D_Close,BottomBox)
    strategy.entry("Short", strategy.short, comment="Short")


もっと