রিসোর্স লোড হচ্ছে... লোডিং...

হেকিন-আশি পিএসএআর ট্রেডিং কৌশল

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

এই কৌশলটি ট্রেন্ড সনাক্তকরণ এবং ট্রেড সিগন্যালের জন্য হেকিন-আশি মোমবাতি এবং পিএসএআর সূচককে একত্রিত করে। এটি ট্রেন্ড বিপরীত সনাক্তকরণের জন্য পিএসএরের সাথে হেকিন-আশি গোলমাল ফিল্টারিং ব্যবহার করে, মাঝারি-দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করার লক্ষ্যে।

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

  1. হিসাব করুন হেকিন-আশি খোলা, বন্ধ, উচ্চ এবং নিম্ন।

  2. মোমবাতি রঙ অন্তর্বর্তীকালীন ষাঁড় / ভালুক প্রবণতা নির্ধারণ করে।

  3. পিএসএআর গণনা করুন এবং হেকিন-আশি মূল্য অতিক্রম করার সময় প্রবণতা বিপরীততা চিহ্নিত করুন।

  4. PSAR ডাউনট্রেন্ডে লম্বা এবং PSAR আপট্রেন্ডে শর্ট।

  5. নতুন উচ্চতা/নিম্নতা এবং ত্বরণ ফ্যাক্টরের উপর ভিত্তি করে পিএসএআর অভিযোজিত হয়।

উপকারিতা:

  1. সংমিশ্রণ নির্ভুলতা উন্নত করে - হেইকিন-আশি গোলমাল ফিল্টার করে, পিএসএআর বিপরীতমুখী ধারণ করে।

  2. পরিবর্তিত বাজারের অবস্থার সাথে সামঞ্জস্যপূর্ণ PSAR।

  3. স্পষ্ট নিয়ম প্যারামিটার অপ্টিমাইজেশান উপকার.

ঝুঁকি:

  1. হেইকিন-আশি এবং পিএসএআর-এর পিছিয়ে থাকা সেরা এন্ট্রিগুলি মিস করতে পারে।

  2. পিএসএআর অস্থির প্রবণতা মধ্যে মিথ্যা সংকেত প্রবণ।

  3. হুইপসাউয়ের বিরুদ্ধে প্রতিরক্ষা করার জন্য কঠোর ঝুঁকি ব্যবস্থাপনা প্রয়োজন।

সংক্ষেপে, এই কৌশলটি প্রবণতা প্রসঙ্গের জন্য হেইকিন-আশিকে পিএসএআর-এর সাথে টাইমিংয়ের জন্য জোড়া দেয়। বিলম্ব এবং মিথ্যা সংকেতগুলির জন্য সতর্কতার প্রয়োজন হয় তবে দীর্ঘমেয়াদী স্থিতিশীল লাভের জন্য অপ্টিমাইজেশনের মাধ্যমে এটি কাটিয়ে উঠতে পারে।


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - Heikin-Ashi PSAR Strategy", shorttitle = "HA-PSAR[QN]", overlay = false)

////////////
// INPUTS //

start      = input(0.02, title = "PSAR Start")
increment  = input(0.02, title = "PSAR Increment")
maximum    = input(0.2,  title = "PSAR Max")

start_year  = input(2018, 'Start Year',  input.integer)
start_month = input(1,    'Start Month', input.integer)
start_day   = input(1,    'Start Day',   input.integer)

end_year  = input(2100, 'End Year',  input.integer)
end_month = input(1,    'End Month', input.integer)
end_day   = input(1,    'End Day',   input.integer)

date_start = timestamp(start_year, start_month, start_day, 00, 00)
date_end   = timestamp(end_year,   end_month,   end_day,   00, 00)

// if time is in correct period
time_cond = time >= date_start and time <= date_end

// Calculation HA Values 
haopen  = 0.0
haclose = (open + high + low + close) / 4
haopen := na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2
hahigh  = max(high, max(haopen, haclose))
halow   = min(low,  min(haopen, haclose))

// HA colors
hacolor = haclose > haopen ? color.green : color.red

psar        = 0.0 // PSAR
af          = 0.0 // Acceleration Factor
trend_dir   = 0   // Current direction of PSAR
ep          = 0.0 // Extreme point
trend_bars  = 0

sar_long_to_short = trend_dir[1] == 1  and haclose <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and haclose >= psar[1] // PSAR switches from short to long

trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long

// Calculate trend direction
trend_dir    := barstate.isfirst[1] and haclose[1] > haopen[1] ? 1 : 
   barstate.isfirst[1] and haclose[1] <= haopen[1] ? -1 : 
   sar_long_to_short ? -1 : 
   sar_short_to_long ?  1 : nz(trend_dir[1])

trend_bars := sar_long_to_short ? -1 : 
              sar_short_to_long ?  1 : 
              trend_dir ==  1   ? nz(trend_bars[1]) + 1 : 
              trend_dir == -1   ? nz(trend_bars[1]) - 1 : 
              nz(trend_bars[1])

// Calculate  Acceleration Factor
af := trend_change ? start : 
   (trend_dir == 1 and hahigh > ep[1]) or  
   (trend_dir == -1 and low < ep[1]) ? 
   min(maximum, af[1] + increment) : 
   af[1]

// Calculate extreme point
ep := trend_change and trend_dir == 1 ? hahigh :  
   trend_change and trend_dir == -1 ? halow : 
   trend_dir == 1 ? max(ep[1], hahigh) : 
   min(ep[1], halow)

// Calculate PSAR
psar := barstate.isfirst[1] and haclose[1] > haopen[1] ? halow[1] : 
   barstate.isfirst[1] and haclose[1] <= haopen[1] ? hahigh[1] : 
   trend_change ? ep[1] :    
   trend_dir == 1 ? psar[1] + af * (ep - psar[1]) : psar[1] - af * (psar[1] - ep) 

plotcandle(haopen, hahigh, halow, haclose, title = "HA", color = hacolor)
plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red,  linewidth = 2)

// Strategy
strategy.entry("long",  true,  when = sar_short_to_long and time_cond)
strategy.entry("short", false, when = sar_long_to_short and time_cond)


আরো