時間軸を越えた二重のブレイクスルー価格戦略


作成日: 2023-11-15 17:27:36 最終変更日: 2023-11-15 17:27:36
コピー: 0 クリック数: 667
1
フォロー
1617
フォロワー

時間軸を越えた二重のブレイクスルー価格戦略

概要

これは,異なる時間軸上の重要な価格を利用して,二重突破して取引シグナルを形成する戦略である.これは,トレンド価格が重要なサポートまたはレジスタンスポイントを突破したときに,オールまたは空白のポジションに入って,中長線トレンドを捕捉することができる.

戦略原則

この戦略は,2つの異なる時間軸 ((tfとtf2) で同時に価格の動きを分析します.tfの時間軸はより長く,中長線の傾向を反映します.tf2の時間軸はより短い,短期間の動きを反映します.戦略は以下の取引信号を監視します.

  1. tf タイム軸で値がレベルを突破すると,up1=true と記録する
  2. 価格がtf時間軸で突破レベルを下回ったとき,dn1=trueを記録する
  3. tf2の時間軸で値がレベル2を突破すると,up2=trueを記録する
  4. tf2の時間軸で価格が突破レベルを下回ったとき,dn2=trueを記録する

トレーディングシグナルの形成条件は:up1とup2が同時にtrueで,中長線と短期線が均等に負の値であることを示す,このとき多;dn1とdn2が同時にtrueで,中長線と短期線が均等に負の値であることを示す,このとき空.

この策略には,反転セットとカラーK線フィルタなどのフィルタリング条件が追加され,偽のトレンドブレイクが誤信号を形成するのを防ぐ.

全体として,この戦略は,多期分析の優位性を最大限に活用し,中長期トレンドが予想に沿っていることを確認しながら,短期市場の騒音に邪魔されることなく,高品質の取引信号を形成します.

戦略的優位分析

  1. 重要なサポートまたはレジスタンスを突破し,中長線トレンドをキャプチャします.

この戦略は,2つの時間軸上の重要な値突破を監視し,トレンドの初期段階で明確な入場時間を捉えます.

  1. 双重確認は誤信号を低減する

2つの異なる時間軸で同時に突破することで,ランダムな波動による誤信号を大幅に減らし,信号品質を向上させることができる.

  1. リバースセットとカラーK線フィルター

逆回線と色K線判定を追加することで,低品質の突破信号をフィルタリングして,重大な損失を防ぐことができます.

  1. 簡潔なパラメータ設定

この戦略は,時間軸のパラメータが2つしか必要なく,パラメータの選択は柔軟で,異なる品種に適しています.

  1. 理解しやすく最適化できます

策略構造が明確で,原理が理解しやすい.また,状況特性に応じてパラメータを調整して,策略最適化を行うことができる.

戦略的リスク分析

  1. 双重突破で入場が遅れた

単一ブレイクと比べて,ダブルブレイクは,入場を遅らせ,初期の強気な市場からの利益を逃す可能性があります.

  1. キーサポートレジスタンスビット選択

異なる品種と市場周期によって,適切なキー価格を選択することが非常に重要であり,そうでなければ誤ったシグナルが得られる可能性があります.

  1. 突破は失敗した

破局が失敗し,その後,迅速な回収が起こり,損失を伴う場合もあります.

  1. トレンドの逆転

トレンドの遅い時期の入場は突然逆転し,出場を間に合うように止めることができず,大きな損失を招く可能性があります.

  1. パラメータ最適化の難しさ

シンプルですが,最適のパラメータの組み合わせを見つけるには,多くの反復テストが必要であり,最適化が難しい.

戦略最適化の方向性

  1. ストップ・ロスの策略を増やす

移動ストップまたは時間ストップを設定し,損失が拡大する前に損失を止めて出場する.

  1. フィルタリング条件の最適化

異なる反転セット幅のパラメータをテストしたり,他のフィルタリング方法を試したりできます.

  1. 動的鍵値

市場が変化するにつれてキー価格が動的に変化するので,静的な設定ではありません.

  1. 多種パラメータ最適化

機械学習により,異なる品種の最適なパラメータの組み合わせを最適化できます.

  1. 追加価格確認

取引量確認が加えられれば,多くの不正信号を回避できます.

要約する

この戦略は全体的に見ると,シンプルで実用的なトレンド追跡戦略である。同時に2つの時間軸分析を利用し,中長線が予想に合致したときに入場を行うことで,一部のノイズを効果的にフィルターすることができます。戦略信号は,はっきりと読みやすい,パラメータ設定も比較的シンプルで直感的です。しかし同時に,入場タイミングが良くない,鍵値選択が難しいなどの問題もあります。全体的に見ると,この戦略は,トレンド検証ツールとして使用するのに適しており,他の要因の組み合わせで使用する効果はより優れているが,直接主取引システムとして,まだ大きな最適化スペースがある。

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Levels Strategy v1.0", shorttitle = "Levels str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W',  title = "timeframe 1")
tf2 = input('D',  title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Signals
level = request.security(syminfo.tickerid, tf, src[1])
level2 = request.security(syminfo.tickerid, tf2, src[1])
plot(level, linewidth = 3, color = silver)
plot(level2, linewidth = 3, color = gray)
up1 = close > level and ap == false ? true : low > level ? true : false
dn1 = close < level and ap == false ? true : high < level ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if up1 and up2 and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn1 and dn2 and (close > open or cf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()