
একটি চলমান গড় প্রত্যাহার কৌশল হল একটি পরিমাণগত ট্রেডিং কৌশল যা স্টক মূল্যের চলমান গড়ের ক্রস-অবস্থা অনুসরণ করে, যখন একটি গোল্ডফোর্ক ঘটে তখন সিদ্ধান্ত নেয় যে কোনও প্রত্যাহারের সুযোগ আছে কিনা, যদি থাকে তবে বিপরীতভাবে কাজ করে। এই কৌশলটি ফিবোনাচি রিটার্নের সাহায্যে প্রবেশাধিকার এবং স্টপ লস স্টপ পয়েন্ট সেট করে এবং স্বল্পমেয়াদী দামের প্রত্যাহারের ক্যাপচার করে।
এই কৌশলটি মূলত দুটি চলমান গড়ের উপর ভিত্তি করে তৈরি করা হয়েছেঃ 14 তম ইএমএ এবং 56 তম এসএমএ। যখন 14 তম ইএমএ 56 তম এসএমএ অতিক্রম করে তখন একটি ক্রয় সংকেত তৈরি করে। এরপরে, কোডটি 20 তম দিকে ফিরে যায় এবং একটি নিম্ন স্তরকে সমর্থন হিসাবে খুঁজে পায়, তারপরে ফিবানাক্সি রিট্র্যাক্ট লাইনটি আঁকতে তার কাছাকাছি মূল্যের সাথে মিলিত হয়, যা 1.272x রিট্র্যাক্ট লাইনটি প্রবেশের জন্য এবং 0.618x রিট্র্যাক্ট লাইনটি প্রস্থান করার জন্য। এইভাবে, কৌশলটি খালি করার জন্য একটি প্রবেশের পয়েন্ট সেট করে, যদি দামটি সত্যই 0.618x রিট্র্যাক্ট লাইনটি অতিক্রম করে তবে এটি বন্ধ হয়ে যায়।
পুরো কৌশলটি মূলত নিম্নলিখিত কয়েকটি ধাপে বিভক্তঃ
এই কৌশলটির মূল প্রক্রিয়া এবং কাজ করার মূলনীতি হলঃ যখন দামের একটি স্বল্পমেয়াদী বিপরীতমুখী উত্তোলন ঘটে তখন এই কৌশলটি লাভের সুযোগটি ক্যাপচার করতে পারে।
চলমান গড়ের এই পুনরাবৃত্তি কৌশলটির প্রধান সুবিধা হলঃ
সামগ্রিকভাবে, এই কৌশলটি সংক্ষিপ্ত লাইন বিপরীত ট্রেডিংয়ের জন্য উপযুক্ত, যখন বাজারে একটি নির্দিষ্ট বিপর্যয় দেখা দেয় তখন এই ধরনের সুযোগের আরবিটেশন ধরা যায়। কৌশলটি বাস্তবায়ন করাও সহজ এবং সরাসরি।
যদিও মুভিং এভারেজ রিটার্নের কৌশলটির নিজস্ব সুবিধাগুলি রয়েছে, তবে এটির কিছু ঝুঁকি রয়েছেঃ
উপরোক্ত ঝুঁকির জন্য, আমরা একটি সংক্ষিপ্ত স্টপ লস টাইম সেট করতে পারি, একক ক্ষতি কঠোরভাবে নিয়ন্ত্রণ করতে পারি; এবং একই সাথে রিটার্ন লাইনটির ব্যাপ্তিটি অপ্টিমাইজ করুন, যুক্তিসঙ্গত লক্ষ্যযুক্ত মুনাফা সেট করুন, যার ফলে কিছু ঝুঁকি এড়ানো যায়।
চলমান গড়ের এই কৌশলটি আরও অনেক উন্নতি করতে পারে, বিশেষ করে নিম্নলিখিত দিকগুলি থেকেঃ
২. ঝুঁকি নিয়ন্ত্রণের জন্য একাধিক বা চলমান ক্ষতি বন্ধের মাধ্যমে ক্ষতি বন্ধের ব্যবস্থা বৃদ্ধি করা।
অন্য সূচকগুলির সাথে মিলিতভাবে FILTER, অপ্রয়োজনীয় বাজার পরিস্থিতিতে লেনদেন এড়াতে;
তহবিল ব্যবস্থাপনা অপ্টিমাইজ করুন, যুক্তিসঙ্গত পজিশন সাইজ এবং ঝুঁকি কভারেজ সেট করুন।
এই কৌশলটি পরীক্ষা এবং প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে আরও উন্নত করা যেতে পারে, যার ফলে আরও স্থিতিশীল লেনদেনের পারফরম্যান্স পাওয়া যায়।
একটি চলমান গড় রিটার্ন কৌশল একটি খুব ব্যবহারিক সংক্ষিপ্ত লাইন ট্রেডিং কৌশল। এটি অল্প সময়ের মধ্যে দামের বিপরীত সুযোগগুলি ক্যাপচার করতে পারে, পূর্ব নির্ধারিত প্রবেশ এবং স্টপ লস পয়েন্টের মাধ্যমে বাণিজ্য করতে পারে। কৌশলটি পরিষ্কার এবং সহজ, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়। তবে কিছু ট্রেডিং ঝুঁকিও রয়েছে, যা প্যারামিটার অপ্টিমাইজেশন, ঝুঁকি নিয়ন্ত্রণ এবং অন্যান্য উপায়ে আরও উন্নত করা দরকার। সামগ্রিকভাবে, এটি একটি পরিমাণগত কৌশল যা গভীর গবেষণা এবং প্রয়োগের জন্য উপযুক্ত।
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MAC Pullback", overlay=true)
// Setting up timeperiod for testing
startPeriodYear = input(2014, "Backtest Start Year")
startPeriodMonth = input(1, "Backtest Start Month")
startPeriodDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0)
stopPeriodYear = input(2035, "Backtest Stop Year")
stopPeriodMonth = input(12, "Backtest Stop Month")
stopPeriodDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0)
// Moving Averages
ema14 = ema(close, 14)
ema28 = ema(close, 28)
sma56 = sma(close, 56)
// Plot
plot(ema14, title="ema14", linewidth=2, color=green)
plot(ema28, title="ema28", linewidth=2, color=red)
plot(sma56, title="sma56", linewidth=3, color=blue)
// Strategy
goLong = cross(ema14, sma56) and ema14 > ema28
goShort = cross(ema14, sma56) and ema14 < ema28
// Locate Swing Lows
leftBars = input(20)
rightBars=input(20)
swinglow = pivotlow(close, leftBars, rightBars)
plot(swinglow, style=cross, linewidth=8, color=#00FF00, offset=-rightBars)
if goLong == true and time >= testPeriodStart and time <= testPeriodStop
// We try to make sure that we're catching the first Pullback after the crossover
if ema14[12] < sma56[12]
pivotpoint = lowest(40)[0] //lowest value of the month as our swing low
// We calculate a Fib 1.272 extension (from the previous swing low to
// the crossover long entry's open) and use this as our entry target to short the Pullback
extensiontarget = ((close[1] - pivotpoint) * 1.27) + pivotpoint
shorttarget = ((close[1] - pivotpoint) * 0.618) + pivotpoint
strategy.order("Pullback", strategy.short, 5.0, limit=extensiontarget)
// I would like to use a trailing stop but for know we just hope to get
// filled if the pullback reaches all the way down to the 0.618.
// We also place a tight stop loss since we trying to short an uptrend
strategy.exit("Pullback Exit", "Pullback", limit=shorttarget, loss=400)