ইনট্রা ডে পিভট পয়েন্ট ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-০৭ ১৬ঃ৪৩ঃ১৭
ট্যাগঃ

img

সারসংক্ষেপ

এটি ভারতীয় বাজারের জন্য একটি ইনট্রা ডে ট্রেডিং কৌশল যা পূর্ববর্তী ট্রেডিং দিনের খোলা, উচ্চ, নিম্ন এবং বন্ধের দাম থেকে গণনা করা মূল সমর্থন এবং প্রতিরোধের স্তরে ফোকাস করে। যখন দাম এই মূল স্তরগুলি অতিক্রম করে তখন ট্রেড করা হয়।

কৌশলগত যুক্তি

  1. পূর্ববর্তী দিনের উচ্চ, নিম্ন এবং বন্ধের মূল্য গণনা করুন
  2. সূত্র ব্যবহার করে মূল সমর্থন স্তর S1, প্রতিরোধের স্তর R1 এবং পিভট পয়েন্ট PP গণনা করুন
  3. যখন দাম এই স্তর অতিক্রম করে তখন দীর্ঘ বা সংক্ষিপ্ত ট্রেড করুন
  4. স্টপ লস আউটপুট ব্যবহার করুন

মূল পয়েন্ট সূত্রঃ

PP = (High + Low + Close) /3
R1 = 2*PP - Low
S1 = 2*PP - High 

সুবিধা বিশ্লেষণ

  1. মূল পয়েন্টগুলি উচ্চ সম্ভাব্যতা ব্রেকআউট সুযোগ প্রদান করে যা বৃহত্তর মুনাফা সম্ভাবনার ফলে
  2. মূল পয়েন্টগুলি সনাক্ত করা সহজ, পরিষ্কার ট্রেডিং নিয়ম
  3. স্টপ লস সেট করা সহজ, কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ

ঝুঁকি বিশ্লেষণ

  1. মূল পয়েন্টগুলিতে সম্ভাব্য মিথ্যা ব্রেকআউট যা ক্ষতির কারণ হয়
  2. মূল পয়েন্টের বৈধতা যাচাই করা প্রয়োজন, সবসময় কাজ নাও করতে পারে
  3. ভুল স্টপ লস হ্রাস বাড়িয়ে তুলতে পারে

ঝুঁকি হ্রাসঃ

  1. মিথ্যা ব্রেকআউট ফিল্টার করার জন্য অন্যান্য সূচকগুলির সাথে একত্রিত করুন
  2. কৌশল যাচাই করার জন্য দীর্ঘ সময়সীমার উপর ব্যাকটেস্ট
  3. স্টপ লস প্লেসমেন্ট অপ্টিমাইজ করুন

উন্নতির সুযোগ

  1. মিথ্যা সংকেত ফিল্টার করার জন্য অন্যান্য প্রযুক্তিগত সূচক একত্রিত করুন
  2. বিভিন্ন পণ্যের জন্য প্যারামিটার টিউনিং
  3. ডায়নামিক স্টপ লস অ্যাডজাস্টমেন্ট

সিদ্ধান্ত

সামগ্রিকভাবে এটি একটি সহজ এবং সরল কৌশল যা সহজেই historicalতিহাসিক ডেটা দিয়ে যাচাই করা যায়। একটি ইনট্রাডে কৌশল হিসাবে, এটি ভাল পারফরম্যান্সের ফলে মূল স্তরে উচ্চ সম্ভাব্যতা ব্রেকআউট সুযোগ সরবরাহ করে। তবে পিভট পয়েন্টগুলির উপর নির্ভর করে কিছু মিথ্যা ব্রেকআউট ঝুঁকি রয়েছে যা আরও অপ্টিমাইজেশনের প্রয়োজন। সংক্ষেপে, এটি বাস্তবায়ন করা সহজ, নিয়ন্ত্রণযোগ্য ঝুঁকি ইনট্রাডে ট্রেডিং কৌশল।


/*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")



আরো