समर्थन-प्रतिरोध ब्रेकआउट

लेखक:चाओझांग, दिनांकः 2022-05-31 18:20:45
टैगःएसआर

प्रतिरोध ब्रेकआउट और समर्थन ब्रेकआउट को शॉर्ट करने पर आधारित रणनीति। यह उच्च / निम्न की पुष्टि करने के लिए 2 बार के साथ फ्रैक्टल का उपयोग करके उच्च और निम्न को परिभाषित करता है। तो इसमें 2 बार की देरी है। यह उच्च और निम्न के परिभाषित लंबाई (21 डिफ़ॉल्ट रूप से) के साथ SMA के बीच अंतर की गणना करता है और इसे अल्ट SR स्तर के रूप में उपयोग करता है। यह विचार मैंने synapticEx के संकेतक नेबुला-एडवांस्ड-डायनामिक-सपोर्ट-प्रतिरोध से लिया। स्थिति दर्ज करना SR का ब्रेकआउट है, जिसे फ्रैक्टल द्वारा परिभाषित किया गया है। स्थिति से बाहर निकलना हैः स्थिति दिशा के विपरीत बार परिवर्तन > अंतर उच्चतम और निम्नतम के एसएमए है।

बैकटेस्ट img


/*backtest
start: 2022-04-30 00:00:00
end: 2022-05-29 23:59:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SR TREND STRATEGY", shorttitle="SR TREND", overlay=true, calc_on_order_fills=true)
//based on by synapticEx SR indicator https://www.tradingview.com/script/O0F675Kv-Nebula-Advanced-Dynamic-Support-Resistance/
length = input(title="SR lookbak length", type=input.integer, defval=21)
h = bar_index>5 and high[5]<high[4] and high[4]<high[3] and high[3]>high[2] and high[2]>high[1] ? 1 : 0
l = bar_index>5 and low[5]>low[4]   and low[4]>low[3]   and low[3]<low[2]   and low[2]<low[1]   ? 1 : 0
ln = sum(l, length)
hn = sum(h, length)
hval =  h>0 ? high[3] : 0
lval =  l>0 ? low[3]  : 0
lsum = sum(lval, length)
hsum = sum(hval, length)
r = ln>0 and hn>0 ? abs((hsum/hn) - (lsum/ln)): 0
float lvalc = na
float lvalr = na
float hvalc = na
float hvalr = na
lvalc := lval and r>0 ? lval   : lvalc[1]
lvalr := lval and r>0 ? lval+r : lvalr[1]
hvalc := hval and r>0 ? hval   : hvalc[1]
hvalr := hval and r>0 ? hval-r : hvalr[1]
int trend=0
trend:=close > lvalr and close > hvalr ? 1 : close < lvalr and close < hvalr ? -1 : trend[1]
strategy.close("Long", when=trend==-1)
strategy.close("Short", when=trend==1)
strategy.entry("Long", strategy.long, when=trend==1 and close>hvalc)
strategy.entry("Short", strategy.short, when=trend==-1 and close<lvalc)
int long=0
int short=0
long:= trend==1 and close>hvalc ? 1 : trend==-1 ? -1 : long[1]
short:= trend==-1 and close<lvalc ? 1 : trend==1 ? -1 : short[1]
barcolor(long>0? color.green : short>0? color.red : trend>0? color.white: trend<0 ? color.orange : color.blue)

संबंधित

अधिक