資源の読み込みに... 荷物...

複数の期間の価格レベル ブレイクトレンド取引システム キー価格レベルに基づく

作者: リン・ハーンチャオチャン, 日付: 2025-01-06 16:06:30
タグ:HODLODPMHPMLPDHPDLマルチRSIATRADX

img

概要

この戦略は,複数のキー価格レベルに基づいたブレークアウト取引システムである.主に6つの重要な価格レベル:High of Day (HOD),Low of Day (LOD),Premarket High (PMH),Premarket Low (PML),Previous Day High (PDH),Previous Day Low (PDL) を追跡する.このシステムは,これらのレベルの価格ブレークアウトを通じて取引信号を生成し,価格クロスオーバーに基づいて自動的に取引を実行する.

戦略の原則

基本的な論理にはいくつかの重要な要素が含まれます.

  1. キー価格レベル計算: request.security関数を用いて,異なる時期からの価格データを取得し,6つのキー価格レベルを計算します.
  2. 入場条件:価格がPMHまたはPDHを超えるとロングポジションを開く.価格がPMLまたはPDLを下回るとショートポジションを開く.
  3. 終了条件:価格がHODに達するとロングポジションを閉じる.価格がLODに達するとショートポジションを閉じる.
  4. 視覚表示:異なる色の水平線で価格レベルをマークします - HODは白色,LODは紫色,PDHはオレンジ色,PDLは青色,PMHは緑色,PMLは赤色です.

戦略 の 利点

  1. 多次元的な価格基準: 市場分析を包括的にするために,複数の時間帯にわたる主要な価格レベルをモニターする.
  2. 明確なブレークアウト論理: 明確なトレードルールによる価格ブレークアウトに基づいて取引信号を生成する.
  3. 高度な自動化: 価格レベルを自動的に計算し,取引を実行し,手動的な介入を減らす.
  4. 強い可視化:直感的な分析のために異なる色の水平線を通して価格レベルを表示します.
  5. 高度な適応性:様々な取引手段と期間に適用できます.

戦略リスク

  1. 誤ったブレイクリスク:市場は誤った信号をもたらす誤ったブレイクを生む可能性があります.
  2. 波動性依存性: 戦略は低波動性環境で劣悪なパフォーマンスを発揮する可能性があります.
  3. リスク管理が不十分:動的なストップ・ロスト・メカニズムや利益の取り込みが欠けている.
  4. 市場環境による依存: 異なる市場での頻繁な取引を生む可能性があります.
  5. 流動性の低い市場では,大きな変動が起こり得る.

戦略の最適化方向

  1. 技術指標のフィルターを追加する:
  • RSI は,過買い/過売のフィルタリングを考慮する
  • ATRを動的ストップ・ロスの配置に使用する
  • ADX を統合してトレンド強度を確認する
  1. リスク管理を改善する
  • ダイナミックなストップ・ロスのメカニズムを導入する
  • トレイリングストップ機能を追加
  • 規模を拡大した利益を得る制度を確立する
  1. シグナル確認を最適化
  • 音量確認を追加する
  • 複数のタイムフレームの傾向確認を含む
  • シグナル遅延確認メカニズムを設定する

概要

この戦略は,明確な論理と高度な自動化により,複数のキー価格レベルを監視し利用することで市場機会を把握する.しかし,技術指標フィルターと改善されたリスク管理メカニズムを通じて対処する必要がある特定のリスクも伴う.この戦略の主要な利点は多次元的な価格基準システムにあります.よりよい市場動向の把握を可能にしますが,実用的な応用には,異なる市場状況に基づいて特定のパラメータの調整が必要です.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=6
strategy("HOD/LOD/PMH/PML/PDH/PDL Strategy by tradingbauhaus ", shorttitle="HOD/LOD Strategy", overlay=true)

// Daily high and low
dailyhigh = request.security(syminfo.tickerid, 'D', high)
dailylow = request.security(syminfo.tickerid, 'D', low)

// Previous day high and low
var float previousdayhigh = na
var float previousdaylow = na
high1 = request.security(syminfo.tickerid, 'D', high[1])
low1 = request.security(syminfo.tickerid, 'D', low[1])
high0 = request.security(syminfo.tickerid, 'D', high[0])
low0 = request.security(syminfo.tickerid, 'D', low[0])

// Yesterday high and low
if (hour == 9 and minute > 30) or hour > 10
    previousdayhigh := high1
    previousdaylow := low1
else
    previousdayhigh := high0
    previousdaylow := low0

// Premarket high and low
t = time("1440", "0000-0930") // 1440 is the number of minutes in a whole day.
is_first = na(t[1]) and not na(t) or t[1] < t
ending_hour = 9
ending_minute = 30

var float pm_high = na
var float pm_low = na

if is_first and barstate.isnew and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    pm_low := low
else 
    pm_high := pm_high[1]
    pm_low := pm_low[1]

if high > pm_high and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    
if low < pm_low and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_low := low

// Plotting levels
plot(dailyhigh, style=plot.style_line, title="Daily high", color=color.white, linewidth=1, trackprice=true)
plot(dailylow, style=plot.style_line, title="Daily low", color=color.purple, linewidth=1, trackprice=true)
plot(previousdayhigh, style=plot.style_line, title="Previous Day high", color=color.orange, linewidth=1, trackprice=true)
plot(previousdaylow, style=plot.style_line, title="Previous Day low", color=color.blue, linewidth=1, trackprice=true)
plot(pm_high, style=plot.style_line, title="Premarket high", color=color.green, linewidth=1, trackprice=true)
plot(pm_low, style=plot.style_line, title="Premarket low", color=color.red, linewidth=1, trackprice=true)

// Strategy logic
// Long entry: Price crosses above PMH or PDH
if (ta.crossover(close, pm_high) or ta.crossover(close, previousdayhigh)) and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)

// Short entry: Price crosses below PML or PDL
if (ta.crossunder(close, pm_low) or ta.crossunder(close, previousdaylow)) and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)

// Exit long: Price reaches HOD
if strategy.position_size > 0 and ta.crossover(close, dailyhigh)
    strategy.close("Long")

// Exit short: Price reaches LOD
if strategy.position_size < 0 and ta.crossunder(close, dailylow)
    strategy.close("Short")

関連性

もっと