
EintSimple Pullback Strategy হল একটি ডাবল মুভিং এভারেজের উপর ভিত্তি করে একটি রিটার্ন এন্ট্রি কৌশল। এই কৌশলটি প্রথমে দীর্ঘমেয়াদী এবং স্বল্পমেয়াদী দুটি মুভিং এভারেজ ব্যবহার করে, যখন একটি স্বল্পমেয়াদী মুভিং এভারেজ নীচে থেকে দীর্ঘমেয়াদী মুভিং এভারেজকে ভেঙে দেয় তখন একটি কেনার সংকেত তৈরি করে। ছুটির বিরতিগুলি ফিল্টার করার জন্য, কৌশলটি দীর্ঘমেয়াদী মুভিং এভারেজের চেয়ে বেশি বন্ধের দামও চায়।
প্রবেশের পর, যদি দাম আবার স্বল্পমেয়াদী চলমান গড়ের নীচে পড়ে যায়, তবে বিটিসি একটি প্রস্থান সংকেত প্রদর্শন করে। উপরন্তু, এই কৌশলটি একটি আউটফিল্ড স্টপও সেট করে, যদি সর্বোচ্চ পয়েন্ট থেকে প্রত্যাহারের প্রস্থটি সেট করা স্টপ ক্ষতির শতাংশে পৌঁছে যায় তবে পজিশনটি ছাড়িয়ে যায়।
এই কৌশলটি মূলত ডাবল মুভিং এভারেজের গোল্ডেন ক্রস এর উপর ভিত্তি করে প্রবেশের সময় নির্ধারণ করে। বিশেষত, নিম্নলিখিত শর্তগুলি পূরণ করার জন্য একটি অতিরিক্ত পজিশন খোলার প্রয়োজনঃ
উপরের শর্তগুলো পূরণ হলে, এই কৌশলটি সম্পূর্ণরূপে কার্যকর হবে।
এক্সট্রিম সিগন্যালের বিচার দুটি শর্তের উপর ভিত্তি করে করা হয়, একটি হল দাম আবার স্বল্পমেয়াদী চলমান গড়ের নীচে নেমে আসে এবং অন্যটি হল সর্বোচ্চ পয়েন্ট প্রত্যাহারের মাত্রা থেকে সেট করা স্টপ লস শতাংশ। নির্দিষ্ট এক্সট্রিম শর্তগুলি নিম্নরূপঃ
এই কৌশলটি সমস্ত অতিরিক্ত কার্ডকে সমতল করে দেয় যখন কোন এক অপসারণের শর্ত পূরণ করা হয়।
ডাবল মুভিং এভারেজ ক্রসিং ব্যবহার করে এবং প্রকৃত ক্লোজ-আউট মূল্যের সাথে মিলিত করে, জাল ব্রেকিং কার্যকরভাবে ফিল্টার করা যায়।
রিটার্ন এন্ট্রি ব্যবহার করে, আপনি শেয়ারের দামের একটি স্বল্পমেয়াদী বক্ররেখা তৈরি করার পরে প্রবেশ করতে পারেন।
এটি একটি ক্ষতি-নিয়ন্ত্রিত সেট যা সর্বোচ্চ প্রত্যাহারকে সীমাবদ্ধ করে।
ডাবল মুভিং এভারেজ ক্রসিং কৌশলটি একাধিক ট্রেডিং সিগন্যাল তৈরি করতে পারে যা উচ্চ ও নিম্নের সাথে মিলিত হতে পারে।
চলমান গড়ের প্যারামিটারগুলি ভুলভাবে সেট করা হলে এটি খুব মসৃণ বা খুব সংবেদনশীল হতে পারে।
স্টপ লস সেটিং খুব হালকা হলে ক্ষতির পরিমাণ বাড়তে পারে।
বিভিন্ন দৈর্ঘ্যের দীর্ঘমেয়াদী মুভিং এভারেজ প্যারামিটার সমন্বয় পরীক্ষা করে সর্বোত্তম প্যারামিটার খুঁজে বের করুন।
মুভিং এভারেজ ক্রসিংয়ের জন্য ক্লোজিং প্রাইস এবং টিপিকাল প্রাইস ব্যবহার করে মুভিং এভারেজ ক্রসিংয়ের প্রভাবের তুলনা পরীক্ষা করুন।
ট্রেডিং ভলিউম বা অস্থিরতা সূচকগুলির মতো ফিল্টারগুলি পরীক্ষা করুন।
থামার মাত্রা অনুকূলিতকরণের জন্য রিটার্নিং এবং সর্বোত্তম সেটিং খুঁজে বের করা।
EintSimple Pullback Strategy একটি সহজ এবং ব্যবহারিক ডাবল মুভিং এভারেজ রিটার্ন কৌশল। এটি একটি চলমান গড়ের নির্দেশমূলক কার্যকারিতা কার্যকরভাবে ব্যবহার করে, যখন একটি বাস্তব সমাপ্তির মূল্যের বিচারকে মিথ্যা সংকেতগুলিকে ফিল্টার করার জন্য সংযুক্ত করে। যদিও এই কৌশলটি ঘন ঘন ট্রেডিং এবং উচ্চ-হত্যা-হ্রাসের সমস্যা তৈরি করতে সহজ, তবে প্যারামিটার অপ্টিমাইজেশন এবং ফিল্টার যুক্ত করে এটি আরও উন্নত করা যেতে পারে। সামগ্রিকভাবে, এই কৌশলটি পরিমাণগত ব্যবসায়ের শিক্ষানবিশদের অনুশীলন এবং অপ্টিমাইজেশনের জন্য একটি দুর্দান্ত কৌশল।
/*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"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZenAndTheArtOfTrading / www.PineScriptMastery.com
// @version=5
strategy("Simple Pullback Strategy",
overlay=true,
initial_capital=50000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100)// 100% of balance invested on each trade
// Get user input
i_ma1 = input.int(title="MA 1 Length", defval=75, step=1, group="Strategy Parameters", tooltip="Long-term EMA")
i_ma2 = input.int(title="MA 2 Length", defval=9, step=1, group="Strategy Parameters", tooltip="Short-term EMA")
i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose = input.bool(title="Exit On Lower Close", defval=true, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")
// Get indicator values
ma1 = ta.ema(close, i_ma1)
ma2 = ta.ema(close, i_ma2)
// Check filter(s)
f_dateFilter = true
// Check buy/sell conditions
var float buyPrice = 0
buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent
// Enter positions
if buyCondition
strategy.entry(id="Long", direction=strategy.long)
if buyCondition[1]
buyPrice := open
// Exit positions
if sellCondition or stopCondition
strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
buyPrice := na
// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.fuchsia)