Ini adalah strategi perdagangan intraday untuk pasaran India yang memberi tumpuan kepada tahap sokongan dan rintangan utama yang dikira dari harga terbuka, tinggi, rendah dan dekat hari perdagangan sebelumnya. Perdagangan diambil apabila harga memecahkan tahap utama ini.
Rumus titik utama:
PP = (High + Low + Close) /3
R1 = 2*PP - Low
S1 = 2*PP - High
Pengurangan Risiko:
Secara keseluruhan ini adalah strategi yang mudah dan mudah yang boleh dengan mudah disahkan dengan data sejarah. Sebagai strategi intraday, ia menyediakan peluang breakout kebarangkalian tinggi pada tahap utama yang menghasilkan prestasi yang baik. Tetapi terdapat beberapa risiko breakout palsu yang bergantung pada titik pivot yang memerlukan pengoptimuman lanjut. Ringkasnya, ini adalah strategi perdagangan intraday risiko yang mudah dilaksanakan dan boleh dikawal.
/*backtest start: 2022-11-30 00:00:00 end: 2023-12-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © arameshraju //Reference credit goes to All //@version=4 strategy("ARR-Pivote-India-Stategy",shorttitle="ARR-PP-Ind", overlay=true) // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © arameshraju //User Input showPrevDayHighLow = input(false, title="Show previous day's High & Low(PDH/PDL)", type=input.bool) showPivoteLine = input(true, title="Show Pivot Point(PP)", type=input.bool) showPivoteR1Line = input(false, title="Show Pivot Point Resistance (R1)", type=input.bool) showPivoteS1Line = input(false, title="Show Pivot Point Support (S1)", type=input.bool) tradeLong = input(true, title="Trade on Long Entry", type=input.bool) tradeShort = input(false, title="Trade on Short Entry", type=input.bool) maxLoss = input(0.5, title="Max Loss on one Trade", type=input.float) tradeOn=input(title="Trade base Level", type=input.string, options=["PP", "PDH", "PDL","R1","S1"], defval="PP") sessSpec = input("0915-1530", title="Session time", type=input.session) // Defaults // Colors cColor = color.black rColor = color.red sColor = color.green // Line style & Transparency lStyle = plot.style_line lTransp = 35 // Get High & Low getSeries(_e, _timeFrame) => security(syminfo.tickerid, _timeFrame, _e, lookahead=barmerge.lookahead_on) is_newbar(res, sess) => t = time(res, sess) na(t[1]) and not na(t) or t[1] < t newbar = is_newbar("375", sessSpec) // Today's Session Start timestamp y = year(timenow) m = month(timenow) d = dayofmonth(timenow) // Start & End time for Today start = timestamp(y, m, d, 09, 15) end = start + 86400000 PrevDayHigh = getSeries(high[1], 'D') PrevDayLow = getSeries(low[1], 'D') PrevDayClose = getSeries(close[1], 'D') PivoteLine=(PrevDayHigh+PrevDayLow+PrevDayClose) /3 PivoteR1=(PivoteLine*2) -PrevDayLow PivoteS1=(PivoteLine*2) -PrevDayHigh orbPrevDayOpen = getSeries(open[1], 'D') orbPrevDayClose = getSeries(close[1], 'D') // //Preview Day High line // _pdh = line.new(start, PrevDayHigh, end, PrevDayHigh, xloc.bar_time, color=color.red, style=line.style_solid, width=2) // line.delete(_pdh[1]) // _pdl = line.new(start, PrevDayLow, end, PrevDayLow, xloc.bar_time, color=color.green, style=line.style_solid, width=2) // line.delete(_pdl[1]) // _Pp = line.new(start, PrevDayLow, end, PrevDayLow, xloc.bar_time, color=color.green, style=line.style_dashed, width=2) // line.delete(_Pp[1]) // //Previous Day Low Line // l_pdh = label.new(start, PrevDayHigh, text="PD", xloc=xloc.bar_time, textcolor=rColor, style=label.style_none) // label.delete(l_pdh[1]) // l_pdl = label.new(start, PrevDayLow, text="PD", xloc=xloc.bar_time, textcolor=sColor, style=label.style_none) // label.delete(l_pdl[1]) // //Pivote Line // l_pp = label.new(start, PivoteLine, text="PP", xloc=xloc.bar_time, textcolor=color.black, style=label.style_none) // label.delete(l_pp[1]) // l_R1 = label.new(start, PivoteR1, text="R1", xloc=xloc.bar_time, textcolor=color.fuchsia, style=label.style_none) // label.delete(l_pp[1]) // l_SR = label.new(start, PivoteS1, text="S2", xloc=xloc.bar_time, textcolor=color.navy, style=label.style_none) // label.delete(l_pp[1]) plot(showPrevDayHighLow?PrevDayHigh:na , title=' PDH', color=rColor) plot(showPrevDayHighLow?PrevDayLow:na, title=' PDL', color=sColor) plot(showPivoteLine?PivoteLine:na, title=' PP', color=color.black) plot(showPivoteR1Line?PivoteR1:na, title=' R1', color=color.fuchsia) plot(showPivoteS1Line?PivoteS1:na, title=' S1', color=color.navy) // Today's Session Start timestamp // Start & End time for Today //endTime = timestamp(t, m, d, 15, 00) tradeEventPrice= if string("PDH")==tradeOn PrevDayHigh else if string("PDL")==tradeOn PrevDayLow else if string("R1")==tradeOn PivoteR1 else if string("S1")==tradeOn PivoteS1 else PivoteLine //tradeEventPrice=PrevDayHigh if (open < tradeEventPrice) and ( close >tradeEventPrice ) and ( hour < 13 ) and tradeLong strategy.entry("buy", strategy.long, 1, when=strategy.position_size <= 0) if (open > tradeEventPrice) and ( close <tradeEventPrice ) and ( hour < 13 ) and tradeShort strategy.entry("Sell", strategy.short, 1, when=strategy.position_size <= 0) mxloss=orbPrevDayClose*maxLoss strategy.exit("exit", "buy", loss = mxloss) strategy.exit("exit", "Sell", loss = mxloss) strategy.close_all(when = hour == 15 , comment = "close all entries")