এসএসিডি এবং ইএমএ নিশ্চিতকরণ সহ সুইং হাই/নিম্ন সূচক
আমি এই সূচকটি মার্কেট স্ট্রাকচার ব্রেক স্ট্র্যাটেজিতে ব্যবহারের জন্য ডিজাইন করেছি। এটি এসএসিডি দ্বারা নিশ্চিত হওয়া সুইং উচ্চ এবং নিম্ন স্তর চিহ্নিত করে । এছাড়াও এটি একটি উচ্চতর সময়সীমা প্রদর্শন করে দ্রুত এবং ধীর EMA দিকনির্দেশমূলক পক্ষপাত নির্ধারণ করতে। এছাড়াও সতর্কতা প্রদান করে যা ডাউনট্রেন্ডে সুইং লো ব্রেক এবং আপট্রেন্ডে সুইং হাই ব্রেককে নির্দেশ করে। এটি শেষ সুইং হাই এবং লোতে একটি অনুভূমিক রেখা আঁকে।
আপনার এন্ট্রি টাইমফ্রেমে এই সূচকটি প্রদর্শন করুন এবং সেটিংসে আপনার উচ্চতর টাইমফ্রেম নির্বাচন করুন।
আপনি সুইং হাইস এবং লোস এবং ইএমএ
যখন আমি এই ব্যবহার করছি আমি HTF ট্রেন্ডের দিকে সুইং উচ্চ / নিম্ন বিরতি খুঁজছি তারপর EMA প্রবণতার দিকে প্রবেশের জন্য দামের স্তরের বিরতি এবং তরলতার এলাকার মধ্যে (উইকস, অর্ডার ব্লক, দামের ঘনত্ব) পিলব্যাকের সন্ধান করুন।
ব্যাকটেস্ট
/*backtest start: 2022-05-03 00:00:00 end: 2022-05-09 23:59:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // Swing High/Low Indicator w/ MACD and EMA Confirmations by KaizenTraderB // //I designed this indicator to be used with a market structure break strategy. //It labels swing highs and lows that are confirmed by the MACD. //It also displays a higher timeframe Fast and Slow EMA to determine directional bias. //Also provides alerts that signal Swing Low breaks in downtrends and Swing High Breaks in uptrends. //It draws a horizontal line on the last Swing High and Low. // //Display this indicator on your entry timeframe and choose your Higher Timeframe in settings. //You can also change lookback period for Swing Highs and Lows and EMA's. // //@version=4 study("Swing High/Low Indicator w/ MACD and HTF EMA's", overlay=true) barsback = input(5, title='Bars back to check for a swing') showsig = input(true, title='Show Signal Markers') res = input(title="EMA Timeframe", defval="240") flen = input(title="Fast EMA Length", type=input.integer, defval=20) slen = input(title="Slow EMA Length", type=input.integer, defval=50) showema = input(title="Show EMA's", type=input.bool, defval=true) showentry = input(title="Show Swing Break Entry Levels", type=input.bool, defval=true) //HTF EMA's fema = ema(close, flen) sema = ema(close, slen) rp_security(_symbol, _res, _src, _gaps, _lookahead) => security(_symbol, _res, _src[barstate.isrealtime ? 1 : 0], _gaps, _lookahead) femaSmooth = rp_security(syminfo.tickerid, res, fema, barmerge.gaps_on, barmerge.lookahead_off) semaSmooth = rp_security(syminfo.tickerid, res, sema, barmerge.gaps_on, barmerge.lookahead_off) plot(showema ? femaSmooth : na,"Fast HTF EMA", color.lime, 3) plot(showema ? semaSmooth : na,"Slow HTF EMA", color.navy, 3) downtrend = femaSmooth < semaSmooth uptrend = femaSmooth > semaSmooth //Swing Highs and Lows //////////////////////////////////////////////////////////////////////////////// //Thank you Backtest-Rookies.com for the Swing Detection Indicator code swing_detection(index)=> swing_high = false swing_low = false start = (index*2) - 1 // -1 so we have an even number of swing_point_high = high[index] swing_point_low = low[index] //Swing Highs for i = 0 to start swing_high := true if i < index if high[i] > swing_point_high swing_high := false break // Have to do checks before pivot and after seperately because we can get // two highs of the same value in a row. Notice the > and >= difference if i > index if high[i] >= swing_point_high swing_high := false break //Swing lows for i = 0 to start swing_low := true if i < index if low[i] < swing_point_low swing_low := false break // Have to do checks before pivot and after seperately because we can get // two lows of the same value in a row. Notice the > and >= difference if i > index if low[i] <= swing_point_low swing_low := false break [swing_high, swing_low] // Check for a swing [swing_high, swing_low] = swing_detection(barsback) //////////////////////////////////////////////////////////////////////////////// float swing_high_price = na float swing_low_price = na if swing_high swing_high_price := high[barsback] if swing_low swing_low_price := low[barsback] [macdline, signalline, histline] = macd(close,12,26,9) macpos = histline[barsback] > 0 macneg = histline[barsback] < 0 // Plotting SHPrice = "SH\n" + str.tostring(swing_high_price) SLPrice = "SL\n" + str.tostring(swing_low_price) if swing_high and macpos and showsig //SHLabel = label.new(bar_index[barsback], swing_high_price, SHPrice, xloc.bar_index, yloc.abovebar, color.red, label.style_arrowdown, textcolor=color.red, size=size.normal) //SHLine = line.new(bar_index[barsback], swing_high_price, bar_index[barsback] + 20, swing_high_price, xloc.bar_index, extend.none, color.black, width=2) //line.delete(SHLine[1]) if swing_low and macneg and showsig //label.new(bar_index[barsback], swing_low_price, SLPrice, xloc.bar_index, yloc.belowbar, color.green, label.style_arrowup, textcolor=color.green) //SLLine = line.new(bar_index[barsback], swing_low_price, bar_index[barsback] + 20, swing_low_price, xloc.bar_index, extend.none, color.black, width=2) //line.delete(SLLine[2]) //alerts alertcondition(uptrend and close > swing_high_price, "Swing High Break in Uptrend", "Swing High Break!") alertcondition(downtrend and close < swing_low_price, "Swing Low Break in Downtrend", "Swing Low Break!") if uptrend strategy.entry("Enter Long", strategy.long) else if downtrend strategy.entry("Enter Short", strategy.short)