
ঐতিহ্যবাহী মূলধারার কৌশলটি শেষ হয়ে যায়? এই কৌশলটি ভিন্ন। যখন একাধিক মাথা বন্ধ হয়, তখন সিস্টেমটি অবিলম্বে খালি হয়ে যায়; যখন খালি মাথা বন্ধ হয়, তখন অবিলম্বে আরও বেশি ঘুরিয়ে দেওয়া হয়। এই “মুখ ঘুরিয়ে বইয়ের চেয়ে দ্রুত” নকশাটি কৌশলটিকে অস্থিরতার পরিস্থিতিতেও মুনাফা ধরে রাখতে দেয়। রিটার্ন ডেটা দেখায় যে এই বিপরীত পজিশন খোলার প্রক্রিয়াটি ঐতিহ্যবাহী একমুখী কৌশলের তুলনায় প্রায় 30% খালি পজিশন সময় কমিয়ে দেয়।
সংখ্যা ছোট, 30 চক্রের গড় মূল্যের উপর ভিত্তি করে শতাংশ নকশা স্থির পয়েন্ট সংখ্যা তুলনায় আরো বৈজ্ঞানিক … 0.45% স্টপ হার প্রায় 8-10 ডলার ওঠানামা, 0.60% স্টপ হার প্রায় 12-15 ডলার সাথে মিলে যায় … আরো স্মার্ট পুনরায় প্রবেশের প্রক্রিয়াঃ প্রথম স্টপ পরে যদি পুনরায় প্রবেশের জন্য নির্বাচিত হয়, তাহলে স্টপ লক্ষ্যটি 0.30 শতাংশে নেমে আসে, এবং স্টপ হার 0.20 শতাংশে সংকীর্ণ হয় … এই গতিশীল সমন্বয়টি কৌশলটিকে লাভের পরে আরও রক্ষণশীল করে তোলে .
যখন ATR 0.2 এর নিচে নেমে আসে, তখন কৌশলটি 10 মিনিটের শীতল সময়কালের মধ্যে প্রবেশ করে এবং সমস্ত নতুন সংকেত প্রত্যাখ্যান করে। এই নকশাটি অত্যন্ত গুরুত্বপূর্ণ। কম ওঠানামার পরিবেশে বাধ্যতামূলক লেনদেন অর্থ প্রেরণ করা অপেক্ষা অপেক্ষা করা ভাল। একই সাথে, যখন K- লাইন সত্তা 5 চক্রের ATR এর 2 গুণ বেশি হয়, তখন কৌশলটি বিরতি দেয়, অস্বাভাবিক ওঠানামাকে এড়াতে। তথ্য প্রমাণ করে যে এই দুটি ফিল্টার কার্যকরভাবে বিজয়ী হার বাড়িয়ে তোলে।
বাম দিকে 4 টি K লাইন এবং ডানদিকে 2 টি K লাইনের কেন্দ্রীয় অক্ষের সেটআপটি ক্লাসিক 5-5 প্যারামিটারগুলির চেয়ে আরও তীব্র। এর অর্থ হল কৌশলটি বিপর্যয় চিহ্নিত করতে পারে, তবে এটি আরও বেশি মিথ্যা ভাঙ্গার ঝুঁকি বহন করে। 50 পিরিয়ডের গড়ের প্রবণতা ফিল্টার সহ, কেবলমাত্র গড়ের উপরে দাম হলে মাল্টি-অক্ষের নিম্নতম এবং গড়ের নীচে যখন শূন্য-অক্ষের উচ্চতম হয়। এই সংমিশ্রণটি প্রবণতার পরিস্থিতিতে আরও ভাল কাজ করে।
স্টপ-আপের পরে ৫০% সম্ভাব্যতা পজিশন খোলার এবং ৫০% সম্ভাব্যতা পুনরায় প্রবেশের। এই নকশাটি মজাদার, তবে এটি বিপজ্জনকও হতে পারে। সুবিধাগুলি হ’ল প্রবণতা বিপরীত হওয়ার প্রাথমিক পর্যায়ে দ্রুত পুনঃনির্মাণ করা যায়, এবং অসুবিধাগুলি হ’ল ভুয়া ব্রেকআউটে ফিরে আসা সম্ভব। কোডের দিক থেকে, বার_ইনডেক্স গণনার উপর ভিত্তি করে এই এলোমেলোতার একটি নির্দিষ্ট নিয়মাবলী রয়েছে। বিভিন্ন বাজারের পরিস্থিতিতে এই প্রক্রিয়াটির কার্যকারিতা পরীক্ষা করার পরামর্শ দেওয়া হয়েছে।
কৌশলটি সবচেয়ে ভয় পায় এমন দুটি পরিস্থিতিঃ অতি-নিম্ন ওঠানামা এবং অতি-উচ্চ ওঠানামা একতরফা পরিস্থিতি। প্রথমটি শীতলীকরণ ব্যবস্থার ঘন ঘন ট্রেডিং বন্ধ করে দেয়, দ্বিতীয়টি বড় কে-লাইন ফিল্টার দ্বারা সহজেই আটকানো যায়। এটি 15-30 ডলারের মধ্যে স্বাভাবিক ট্রেডিং পরিবেশের জন্য সবচেয়ে উপযুক্ত। প্যারামিটার সেটিং থেকে, এটি স্বর্ণের নগদ বা ফিউচার পরিমাণের জন্য তৈরি করা কৌশলটির মতো।
ওভাররাইডিং ব্যবস্থা থাকলেও, ক্রমাগত মিথ্যা ব্রেকিং সিগন্যালের মুখোমুখি হলে কৌশলটি এখনও ক্রমাগত ক্ষতির মুখোমুখি হতে পারে। বিশেষত গুরুত্বপূর্ণ অর্থনৈতিক তথ্য প্রকাশের আগে বাজার আবেগের ওঠানামার ফলে মূল অক্ষের সংকেত ব্যর্থ হতে পারে। একক পজিশনের উপর কঠোর নিয়ন্ত্রণের পরামর্শ দেওয়া হয় এবং গুরুত্বপূর্ণ ঘটনাগুলির আগে কৌশলটি ম্যানুয়ালি স্থগিত করা হয়। ঐতিহাসিক পুনর্বিবেচনার পারফরম্যান্স ভবিষ্যতের উপার্জনের প্রতিনিধিত্ব করে না, এবং শারীরিকভাবে ট্রেডিংয়ের জন্য আরও কঠোর ঝুঁকি ব্যবস্থাপনার প্রয়োজন।
/*backtest
start: 2024-09-24 00:00:00
end: 2025-09-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/
//@version=6
strategy("Gold By Ann v.2", overlay=true)
// --- Inputs ---
leftBars = input.int(4, "Pivot Lookback Left")
rightBars = input.int(2, "Pivot Lookback Right")
atrLength = input.int(14, "ATR Length")
atrMult = input.float(2.0, "ATR Multiplier")
atrThreshold = input.float(0.2, "ATR Threshold")
cooldownMinutes = input.int(10, "Cooldown Minutes")
// --- Pivot Calculation ---
ph = ta.pivothigh(leftBars, rightBars)
pl = ta.pivotlow(leftBars, rightBars)
ma = ta.sma(close, 50)
bullishTrend = close > ma
bearishTrend = close < ma
// --- Volatility (ATR) and Cooldown ---
atrValue = ta.atr(atrLength)
var float cooldownEnd = na
if atrValue < atrThreshold and na(cooldownEnd)
cooldownEnd := timenow + cooldownMinutes * 60 * 1000 // ms
if not na(cooldownEnd) and timenow > cooldownEnd
cooldownEnd := na
inCooldown = not na(cooldownEnd)
// --- Tall candle filter ---
rangeBar = high - low
isTall = rangeBar > ta.atr(5) * atrMult
// --- SL & TP based on % of 30-bar close ---
baseClose = ta.sma(close, 30) // 30-bar average close
slPercent = 0.0045 // 0.45%
tpPercent = 0.0060 // 0.60%
tpReEntryPercent = 0.006 // 0.30% (smaller TP after re-entry)
stopReEntryPercent = 0.005 // -0.20%
stopReEntryValue = baseClose * stopReEntryPercent
slValue = baseClose * slPercent
tpValue = baseClose * tpPercent
tpReValue = baseClose * tpReEntryPercent
// --- Re-entry state flag ---
var bool isReEntry = false
// --- Trade Logic (Only if NOT in cooldown) ---
if not inCooldown and not isTall
if strategy.position_size == 0
if not na(pl)
strategy.entry("PivExtLE", strategy.long, comment="Long")
isReEntry := false
if not na(ph)
strategy.entry("PivExtSE", strategy.short, comment="Short")
isReEntry := false
// =====================================================
// --- Take Profit / Stop Loss with auto-flip ---
// =====================================================
// LONG
if strategy.position_size > 0 and not isTall
entryPrice = strategy.position_avg_price
tpLevel = entryPrice + (isReEntry ? tpReValue : tpValue)
// Re-entry extra stop condition
if isReEntry and close <= entryPrice - stopReEntryValue
strategy.close("PivExtLE", comment="Stop Re-Entry Long (-0.20%)")
isReEntry := false
else if close >= tpLevel
strategy.close("PivExtLE", comment=isReEntry ? "TP Long (Re-Entry)" : "TP Long")
randChoice = (bar_index * 9301 + 49297) % 2
if randChoice == 0
strategy.entry("PivExtSE", strategy.short, comment="Flip to Short (TP)")
isReEntry := false
else
strategy.entry("PivExtLE", strategy.long, comment="Re-Enter Long (TP)")
isReEntry := true
else if close <= entryPrice - slValue
strategy.close("PivExtLE", comment="SL Long")
strategy.entry("PivExtSE", strategy.short, comment="Flip to Short (SL)")
isReEntry := false
// SHORT
if strategy.position_size < 0 and not isTall
entryPrice = strategy.position_avg_price
tpLevel = entryPrice - (isReEntry ? tpReValue : tpValue)
// Re-entry extra stop condition
if isReEntry and close >= entryPrice + stopReEntryValue
strategy.close("PivExtSE", comment="Stop Re-Entry Short (-0.20%)")
isReEntry := false
else if close <= tpLevel
strategy.close("PivExtSE", comment=isReEntry ? "TP Short (Re-Entry)" : "TP Short")
strategy.entry("PivExtLE", strategy.long, comment="Flip to Long (TP)")
isReEntry := true
else if close >= entryPrice + slValue
strategy.close("PivExtSE", comment="SL Short")
strategy.entry("PivExtLE", strategy.long, comment="Flip to Long (SL)")
isReEntry := false
// --- Plot reference ---
plot(slValue, title="SL Value (0.45% of 30-bar Close)", color=color.red)
plot(tpValue, title="TP Value (0.60% of 30-bar Close)", color=color.green)
plot(tpReValue, title="TP Value (Re-Entry 0.30%)", color=color.orange)