পিয়ারিং পিন বার বিপরীত কৌশল

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

img

সারসংক্ষেপ

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

নীতিমালা

প্রবেশ সংকেত

এই কৌশলটির জন্য প্রবেশ সংকেত হল পিন বার ছিদ্র করা। বিশেষত একটি সংকেত যখন সক্রিয় হয়ঃ

  1. একটি স্বল্পমেয়াদী প্যাটার্ন তৈরি হয়ঃ উত্থান পিন বার থেকে উত্থান সংকেত, হ্রাস পিন বার থেকে হ্রাস সংকেত
  2. পিন বারটি চলমান গড়ের মধ্য দিয়ে ছিদ্র করেঃ নিম্নমুখী ট্রেন্ডিং এমএগুলি ছিদ্র করে বাউলিশ বারগুলি বাউলিং ট্রেন্ডিং এমএগুলি ছিদ্র করে

এই মিশ্রণটি বেশিরভাগ শব্দ ফিল্টার করে এবং প্রবেশের নির্ভুলতা বাড়ায়।

প্রবণতা সংজ্ঞা

কৌশলটি প্রবণতা নির্ধারণের জন্য বিভিন্ন সময়ের তিনটি এমএ ব্যবহার করে। বিশেষত, যখন দ্রুত, মাঝারি এবং ধীর এমএ এক দিকের সাথে সারিবদ্ধ হয়, এটি প্রবণতা হিসাবে সংজ্ঞায়িত করা হয়। অন্যথায় এটি একীকরণ হিসাবে বিবেচিত হয়।

দীর্ঘ এন্ট্রিগুলির জন্য, দ্রুত এমএ > মাঝারি এমএ > ধীর এমএ প্রয়োজন। সংক্ষিপ্ত এন্ট্রিগুলির জন্য, দ্রুত এমএ < মাঝারি এমএ < ধীর এমএ প্রয়োজন।

স্টপ লস মেকানিজম

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

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

উচ্চ দক্ষতা প্রবেশ

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

অত্যন্ত শক্তিশালী লাভ

অনন্য ট্রেইলিং স্টপ এই কৌশলটির সবচেয়ে বড় হাইলাইট। এটি সর্বোচ্চ ক্যাপচার লাভ নিশ্চিত করার সময় প্রতি বাণিজ্য ভিত্তিতে একটি ছোট পরিসরের মধ্যে স্টপ লসকে সঠিকভাবে নিয়ন্ত্রণ করে।

সিম ফলাফলগুলি এই প্রক্রিয়াটি প্রয়োগ করার পরে পাগল মুনাফা দেখায়, একাধিক জোড়ার জন্য 1000% এরও বেশি মোট রিটার্ন এবং প্রাথমিক ঝুঁকির 100 গুণেরও বেশি ট্রেড মুনাফা। মুনাফা নতুন উচ্চতায় অগ্রসর হয়।

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

অতিরিক্ত ফিটনেস ঝুঁকি

প্রায় holy grail-like ফলাফল দেওয়া, এটি অত্যন্ত সম্ভবত যে এটি বাজারের একটি overfitted সিমুলেশন। লাইভ ট্রেডিং, স্টপ যেমন পরীক্ষা হিসাবে সঠিকভাবে ট্রিগার নাও হতে পারে, এবং ড্রাউনডাউন ঘটতে পারে।

এছাড়াও, ২ বছরের পরীক্ষামূলক সময়কাল প্রকৃত ফলাফলকে প্রভাবিত করতে পারে এমন কাঠামোগত বাজার ব্যবস্থার পরিবর্তনগুলি ক্যাপচার করতে পারে না।

ট্রেলিং স্টপ ঝুঁকি

অতিরিক্ত সংবেদনশীল ট্রেলিং স্টপ মান অত্যধিক অবাঞ্ছিত স্টপ আউট হতে পারে। হঠাৎ বাজার ইভেন্টগুলি ট্রেলিং স্টপ লস অর্ডারগুলিকে অবৈধ করতে পারে। এগুলি ট্রেলিং স্টপ ব্যবহারের সাথে যুক্ত অন্তর্নিহিত ঝুঁকি।

অপ্টিমাইজেশান নির্দেশাবলী

ট্রেলিং স্টপ প্যারামিটার সামঞ্জস্য করুন

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

পরীক্ষার সময়সীমা বাড়িয়ে প্যারামিটার স্থিতিশীলতা পরীক্ষা করতেও সহায়তা করে।

এমএ সময়কাল অপ্টিমাইজ করুন

বর্তমান এমএ সময়কাল সম্ভবত সর্বোত্তম প্যারামিটার সেট নয়। আরও অপ্টিমাইজেশান আরও ভাল পারফরম্যান্সের জন্য আরও ভাল মান আবিষ্কার করতে পারে।

উদাহরণস্বরূপ, দ্রুত এবং মাঝারি এমএ সময়ের মধ্যে পার্থক্য বাড়ানো বা এমএগুলির মিথস্ক্রিয়া পরিবর্তন করা।

সিদ্ধান্ত

পিয়ারিং পিন বার বিপরীত কৌশল উচ্চ দক্ষতা প্রবেশ এবং চরম মুনাফা গ্রহণের মাধ্যমে বিস্ময়কর ব্যাকটেস্ট ফলাফল অর্জন করেছে। তবে আমাদের অবশ্যই অতিরিক্ত ফিট ঝুঁকিগুলি স্বীকার করতে হবে এবং সেই অনুযায়ী ঝুঁকি নিয়ন্ত্রণের জন্য প্রস্তুত হতে হবে।

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Time Frame: H1
strategy("Pin Bar Magic v1", overlay=true)

// User Input
usr_risk = input(title="Equity Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=3,confirm=false)
atr_mult = input(title="Stop Loss (x*ATR, Float)",type=input.float,minval=0.1,maxval=100,step=0.1,defval=0.5,confirm=false)
slPoints = input(title="Stop Loss Trail Points (Pips)",type=input.integer,minval=1,maxval=1000,step=1,defval=1,confirm=false)
slOffset = input(title="Stop Loss Trail Offset (Pips)",type=input.integer,minval=1,maxval=1000,step=1,defval=1,confirm=false)
sma_slow = input(title="Slow SMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=50,confirm=false)
ema_medm = input(title="Medm EMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=18,confirm=false)
ema_fast = input(title="Fast EMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=6,confirm=false)
atr_valu = input(title="ATR (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=14,confirm=false)
ent_canc = input(title="Cancel Entry After X Bars (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=3,confirm=false)

// Create Indicators
slowSMA = sma(close, sma_slow)
medmEMA = ema(close, ema_medm)
fastEMA = ema(close, ema_fast)
bullishPinBar = ((close > open) and ((open - low) > 0.66 * (high - low))) or ((close < open) and ((close - low) > 0.66 * (high - low)))
bearishPinBar = ((close > open) and ((high - close) > 0.66 * (high - low))) or ((close < open) and ((high - open) > 0.66 * (high - low)))
atr = atr(atr_valu)

// Specify Trend Conditions
fanUpTrend = (fastEMA > medmEMA) and (medmEMA > slowSMA)
fanDnTrend = (fastEMA < medmEMA) and (medmEMA < slowSMA)

// Specify Piercing Conditions
bullPierce = ((low < fastEMA) and (open > fastEMA) and (close > fastEMA)) or ((low < medmEMA) and (open > medmEMA) and (close > medmEMA)) or ((low < slowSMA) and (open > slowSMA) and (close > slowSMA))
bearPierce = ((high > fastEMA) and (open < fastEMA) and (close < fastEMA)) or ((high > medmEMA) and (open < medmEMA) and (close < medmEMA)) or ((high > slowSMA) and (open < slowSMA) and (close < slowSMA))
    
// Specify Entry Conditions
longEntry = fanUpTrend and bullishPinBar and bullPierce
shortEntry = fanDnTrend and bearishPinBar and bearPierce

// Long Entry Function
enterlong() =>
    risk = usr_risk * 0.01 * strategy.equity
    stopLoss = low[1] - atr[1] * atr_mult
    entryPrice = high[1]
    units = risk / (entryPrice - stopLoss)
    strategy.entry("long", strategy.long, units, stop=entryPrice)
    strategy.exit("exit long", from_entry="long", trail_points=slPoints, trail_offset=slOffset)
    
// Short Entry Function
entershort() =>
    risk = usr_risk * 0.01 * strategy.equity
    stopLoss = high[1] + atr[1] * atr_mult
    entryPrice = low[1]
    units = risk / (stopLoss - entryPrice)
    strategy.entry("short", strategy.short, units, stop=entryPrice)
    strategy.exit("exit short", from_entry="short", trail_points=slPoints, trail_offset=slOffset)
    
// Execute Long Entry
if (longEntry)
    enterlong()

// Execute Short Entry
if (shortEntry)
    entershort() 
    
// Cancel the Entry if Bar Time is Exceeded
strategy.cancel("long", barssince(longEntry) > ent_canc)
strategy.cancel("short", barssince(shortEntry) > ent_canc)

// Force Close During Certain Conditions
strategy.close_all(when = hour==16 and dayofweek==dayofweek.friday, comment = "exit all, market-closed")
strategy.close_all(when = crossunder(fastEMA, medmEMA), comment = "exit long, re-cross")
strategy.close_all(when = crossover(fastEMA, medmEMA), comment = "exit short, re-cross")

// Plot Moving Averages to Chart
plot(fastEMA, color=color.red)
plot(medmEMA, color=color.blue)
plot(slowSMA, color=color.green)

// Plot Pin Bars to Chart
plotshape(bullishPinBar, text='Bull PB', style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.white, transp=0)
plotshape(bearishPinBar, text='Bear PB', style=shape.labelup, location=location.belowbar, color=color.red, textcolor=color.white, transp=0)

// Plot Days of Week
plotshape(hour==0 and dayofweek==dayofweek.monday, text='Monday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.tuesday, text='Tuesday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.wednesday, text='Wednesday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.thursday, text='Thursday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.friday, text='Friday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==16 and dayofweek==dayofweek.friday, text='Market Closed', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)









আরো