
これは,異なる時間軸上の重要な価格を利用して,二重突破して取引シグナルを形成する戦略である.これは,トレンド価格が重要なサポートまたはレジスタンスポイントを突破したときに,オールまたは空白のポジションに入って,中長線トレンドを捕捉することができる.
この戦略は,2つの異なる時間軸 ((tfとtf2) で同時に価格の動きを分析します.tfの時間軸はより長く,中長線の傾向を反映します.tf2の時間軸はより短い,短期間の動きを反映します.戦略は以下の取引信号を監視します.
トレーディングシグナルの形成条件は:up1とup2が同時にtrueで,中長線と短期線が均等に負の値であることを示す,このとき多;dn1とdn2が同時にtrueで,中長線と短期線が均等に負の値であることを示す,このとき空.
この策略には,反転セットとカラーK線フィルタなどのフィルタリング条件が追加され,偽のトレンドブレイクが誤信号を形成するのを防ぐ.
全体として,この戦略は,多期分析の優位性を最大限に活用し,中長期トレンドが予想に沿っていることを確認しながら,短期市場の騒音に邪魔されることなく,高品質の取引信号を形成します.
この戦略は,2つの時間軸上の重要な値突破を監視し,トレンドの初期段階で明確な入場時間を捉えます.
2つの異なる時間軸で同時に突破することで,ランダムな波動による誤信号を大幅に減らし,信号品質を向上させることができる.
逆回線と色K線判定を追加することで,低品質の突破信号をフィルタリングして,重大な損失を防ぐことができます.
この戦略は,時間軸のパラメータが2つしか必要なく,パラメータの選択は柔軟で,異なる品種に適しています.
策略構造が明確で,原理が理解しやすい.また,状況特性に応じてパラメータを調整して,策略最適化を行うことができる.
単一ブレイクと比べて,ダブルブレイクは,入場を遅らせ,初期の強気な市場からの利益を逃す可能性があります.
異なる品種と市場周期によって,適切なキー価格を選択することが非常に重要であり,そうでなければ誤ったシグナルが得られる可能性があります.
破局が失敗し,その後,迅速な回収が起こり,損失を伴う場合もあります.
トレンドの遅い時期の入場は突然逆転し,出場を間に合うように止めることができず,大きな損失を招く可能性があります.
シンプルですが,最適のパラメータの組み合わせを見つけるには,多くの反復テストが必要であり,最適化が難しい.
移動ストップまたは時間ストップを設定し,損失が拡大する前に損失を止めて出場する.
異なる反転セット幅のパラメータをテストしたり,他のフィルタリング方法を試したりできます.
市場が変化するにつれてキー価格が動的に変化するので,静的な設定ではありません.
機械学習により,異なる品種の最適なパラメータの組み合わせを最適化できます.
取引量確認が加えられれば,多くの不正信号を回避できます.
この戦略は全体的に見ると,シンプルで実用的なトレンド追跡戦略である。同時に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()