レンコ・イイン・ヤング量子取引戦略は,日中の価格・ボリューム関係に基づく短期的取引戦略である.これは1日以内にイン・ヤングの方向情報を利用し,ボリューム確認信号を組み合わせ,低リスクの短期取引を実施する.
この戦略は,各取引日のオープン,閉鎖,高値,低値を計算し,ATRインジケーターとともにレンコブロックを生成する.インヤングブロックが逆転すると取引信号が生成される.
具体的には,戦略はまずレンコブロックのオープン価格 o2とクローズ価格 c2を計算します. o2
偽ブレイクをフィルタリングするために,戦略は最後のヤングラインとヤングラインの期間数を数える.ヤングラインがより多くの期間を持っている場合,信号はより信頼性がある.さらに,ストップ損失と利益の論理は,購入と販売後に設定されます.
レンコブロックは市場の騒音をフィルターし 取引信号をより明確にする
価格と量の関係を組み合わせることで,誤ったブレイクのリスクが回避されます.
DAPMモデルは,日中取引にシンプルで有効です.
調整可能なATRパラメータが取引頻度を調整する.
ストップ・ロスはリスク管理を改善します
まだ不透明な 偽脱出の危険性がある
レンコパラメータの設定が正しくない場合 トレンドを見逃したり 取引頻度を増やしたりします
ストップ損失が狭すぎると 小規模な引き下げによって停止される可能性があります
信号をフィルターするために他の技術指標を組み合わせることを検討する.
ストップ・ロスの機能を追加してみてください
異なる資産のパラメータを最適化します
複数のタイムフレームで取引する際には,異なるタイムフレームを組み合わせることを検討してください.
結論として,これは非常に実用的な短期取引戦略です. 効率的にフィルタリングし,重要なターニングポイントを捕捉するために価格・ボリューム関係を使用します. 適切なパラメータチューニング,リスク管理,ストップロスの戦略は,その安定性と収益性を大幅に向上させることができます. 継続的な最適化とテストにより,この戦略は日中トレーダーにとって強力なツールになることができます.
/*backtest start: 2022-09-26 00:00:00 end: 2023-09-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License https://creativecommons.org/licenses/by-sa/4.0/ // © dman103 strategy(title="Renko Strategy V2", shorttitle="Renko Strategy V2", overlay=true,precision=3, commission_value=0.025, default_qty_type=strategy.cash, default_qty_value=10000, initial_capital=10000) // Version 2.0 of my previous renko strategy using Renko calculations, this time without Tilson T3 and without using security with Renko to remove repaints! // Seems to work nicely on cryptocurrencies on higher time frames. //== Description == // Strategy gets Renko values and uses renko close and open to trigger signals. // Base on these results the strategy triggers a long and short orders, where green is uptrending and red is downtrending. // This Renko version is based on ATR, you can Set ATR (in settings) to adjust it. // == Notes == // Supports alerts. // Supports backtesting time ranges. // Shorts are disabled by default (can be enabled in settings). // Link to previous Renko strategy V1: https://www.tradingview.com/script/KeWBWLGT-Renko-Strategy-T3-V1/ // // Stay tuned for version V3 in the future as i have an in progress prototype, Follow to get updated: https://www.tradingview.com/u/dman103/#published-scripts // === INPUT BACKTEST RANGE === useDate = input(true, title='---------------- Trade Range ----------------', type=input.bool) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2017, title = "From Year", minval = 2000) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2099, title = "To Year", minval = 2010) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create settings = input(true, title='---------------- Settings ----------------', type=input.bool) allow_short = input(false,title="Allow Short") atr_len = input(10,"ATR Length") atr = atr(atr_len) // Thanks to renko snippet calculations from @RafaelZioni https://www.tradingview.com/script/2vKhpfVH-Renko-XZ/ Renko1() => p1 = 0.0 p1 := close > nz(p1[1]) + atr ? nz(p1[1]) + atr : close < nz(p1[1]) - atr ? nz(p1[1]) - atr : nz(p1[1]) p1 Renko2() => p2 = 0.0 Br_1 = Renko1() p2 := Renko1() != Renko1()[1] ? Br_1[1] : nz(p2[1]) p2 Renko3() => p3 = 0.0 p3 := open > nz(p3[1]) + atr ? nz(p3[1]) + atr : open < nz(p3[1]) - atr ? nz(p3[1]) - atr : nz(p3[1]) p3 Renko4() => open_v = 0.0 Br_2 = Renko3() open_v := Renko3() != Renko3()[1] ? Br_2[1] : nz(open_v[1]) open_v o2 = Renko4() c2 = Renko1() l2 =low h2 = high //=== Plotting === crossPlot= 0.0 if (o2 < c2) crossPlot :=o2 else crossPlot := o2 // Used to make sure that even if o2 and c2 are equal, the result (short or long) will be based on previous trend. bars_since_up=barssince(o2 < c2) bars_since_down=barssince(o2 > c2) go_long= (bars_since_up<bars_since_down) and o2<c2 go_short = (bars_since_up>bars_since_down) and o2>c2 plotColor = go_long and o2<c2 ? color.green : go_short and o2>c2? color.red : color.white plot(crossPlot, color = plotColor, style = plot.style_circles, linewidth = 2,join=true) changeCond = plotColor != plotColor[1] //=== Buy/Sell === closeStatus = strategy.openprofit > 0 ? "win" : "lose" long_entry = plotColor == color.green and window() and changeCond long_exit_entry = plotColor == color.red //or (allow_alternative_sl and close < low_result ) short_entry = plotColor == color.red and window() and changeCond short_exit_entry = plotColor == color.green // or (allow_alternative_sl and close > high_result ) strategy.entry("long", true, when = long_entry) strategy.close("long",when=long_exit_entry,comment=closeStatus) if (allow_short) strategy.entry("short",false, when = short_entry) strategy.close("short",when=short_exit_entry,comment=closeStatus) //=== Alerts === alertcondition(go_long and changeCond , title='Renko Buy Signal', message='Renko Revered to Buy Signal') alertcondition(go_short and changeCond , title='Renko Sell Signal', message='Renko Revered to Sell Signal')