মুভিং এভারেজ পলব্যাক ট্র্যাকিং কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

  1. বিভিন্ন সময়কালের সাথে দুটি চলমান গড় (MA1 এবং MA2) গণনা করুন, যেখানে MA1 হল দীর্ঘমেয়াদী চলমান গড় এবং MA2 হল স্বল্পমেয়াদী চলমান গড়।
  2. যখন বন্ধের মূল্য MA1 এর উপরে এবং MA2 এর নিচে থাকে, এবং কোনও বর্তমান অবস্থান নেই, এবং বর্তমান সময়টি নির্দিষ্ট ট্রেডিং সময়সীমার মধ্যে থাকে, তখন কৌশলটি একটি দীর্ঘ অবস্থান খোলে।
  3. এন্ট্রি প্রাইসকে buyPrice হিসাবে রেকর্ড করুন এবং স্টপ-লস প্রাইস stopPrice গণনা করুন (যেমন, i_stopএন্ট্রি প্রাইসের নিচে শতাংশ শতাংশ) ।
  4. যখন বন্ধের মূল্য আবার MA2 এর উপরে উঠে যায় এবং i_lowerClose মিথ্যা হয়, অথবা যখন বন্ধের মূল্য স্টপ-লস মূল্যের নীচে পড়ে, তখন কৌশলটি অবস্থানটি বন্ধ করে দেয়।
  5. যদি i_lowerClose সত্য হয়, তাহলে যখন বন্ধের মূল্য MA2 এর উপরে থাকে এবং পূর্ববর্তী ক্যান্ডেলের বন্ধের মূল্য MA2 এর নিচে থাকে তখন কৌশলটি অবস্থানটি বন্ধ করে দেয়।

কৌশলগত সুবিধা

  1. প্রবণতা অনুসরণঃ মূল্যের আপেক্ষিক অবস্থান এবং দীর্ঘমেয়াদী চলমান গড়ের উপর ভিত্তি করে সামগ্রিক প্রবণতা নির্ধারণ করে কৌশলটি প্রবণতার মধ্যে প্রবেশের সুযোগগুলি সন্ধান করে।
  2. পুলব্যাক কেনাঃ যখন মূল্য একটি আপট্রেন্ডের সময় স্বল্পমেয়াদী চলমান গড়ের দিকে ফিরে আসে তখন কেনার সুযোগগুলি সন্ধান করে কৌশলটি প্রবেশের পয়েন্টগুলির ব্যয়-কার্যকারিতা উন্নত করে।
  3. স্টপ লস সুরক্ষাঃ স্টপ লস মূল্য নির্ধারণ করলে যখন মূল্য একটি নির্দিষ্ট পরিমাণে নেতিবাচকভাবে চলবে তখন নেতিবাচক ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করতে সহায়তা করে।
  4. নমনীয় পরামিতিঃ ব্যবহারকারীরা তাদের পছন্দ অনুসারে নমনীয়ভাবে প্যারামিটারগুলি যেমন চলমান গড় সময়কাল, স্টপ-লস শতাংশ এবং পূর্ববর্তী মোমবাতি বন্ধের মূল্য স্বল্পমেয়াদী চলমান গড়ের নীচে থাকলে অবস্থানটি বন্ধ করা উচিত কিনা তা সেট করতে পারেন।

কৌশলগত ঝুঁকি

  1. প্যারামিটার অপ্টিমাইজেশানঃ বিভিন্ন প্যারামিটার সেটিংসের কৌশলটির পারফরম্যান্সে উল্লেখযোগ্য প্রভাব রয়েছে, যা সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে বিভিন্ন বাজারের পরিবেশে প্যারামিটার অপ্টিমাইজেশন এবং ব্যাকটেস্টিং প্রয়োজন।
  2. অস্থির বাজারঃ অস্থির বাজারগুলিতে, দামগুলি প্রায়শই দীর্ঘমেয়াদী এবং স্বল্পমেয়াদী চলমান গড়ের মধ্যে ওঠানামা করে, যা সম্ভাব্যভাবে পজিশনগুলি প্রায়শই খোলার এবং বন্ধ করার দিকে পরিচালিত করে এবং ট্রেডিংয়ের ব্যয় হ্রাস করে।
  3. প্রবণতা বিপরীতমুখীঃ যখন বাজারের প্রবণতা বিপরীতমুখী হয়, তখন কৌশলটি ধারাবাহিক ক্ষতির সম্মুখীন হতে পারে। এই মুহুর্তে, প্রবণতা বিপরীতমুখী বিচার করতে এবং কৌশলটি সময়মতো সামঞ্জস্য করতে অন্যান্য সূচক বা সংকেতগুলি একত্রিত করা প্রয়োজন।
  4. ব্ল্যাক সোয়ান ইভেন্টস: যখন বাজারে বড়, অনির্দেশ্য হঠাৎ ইভেন্টগুলি ঘটে, তখন দামগুলি মারাত্মকভাবে পরিবর্তিত হতে পারে, স্টপ-লস ট্রিগার করে এবং কৌশলটিকে উল্লেখযোগ্য ক্ষতির মুখোমুখি করে।

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

  1. প্রবণতা মূল্যায়নঃ বর্তমান প্রবণতার শক্তি এবং দিক নিশ্চিত করতে এবং প্রবেশ সংকেতগুলির নির্ভুলতা উন্নত করতে একটি অবস্থান খোলার আগে ADX এর মতো আরও প্রবণতা মূল্যায়ন সূচক প্রবর্তন করুন।
  2. ডায়নামিক স্টপ লসঃ দামের অস্থিরতা এবং ATR এর মতো সূচকগুলির উপর ভিত্তি করে স্টপ লসের স্তরটি গতিশীলভাবে সামঞ্জস্য করুন, যখন দামের অস্থিরতা বেশি হয় তখন স্টপ লসটি প্রসারিত করুন এবং যখন দামের অস্থিরতা কম হয় তখন এটিকে শক্ত করুন।
  3. পজিশনের আকার নির্ধারণঃ বাজারের প্রবণতা শক্তি এবং মূল্যের অস্থিরতার মতো কারণের উপর ভিত্তি করে প্রতিটি এন্ট্রির পজিশনের আকার গতিশীলভাবে সামঞ্জস্য করা, প্রবণতা শক্তিশালী এবং অস্থিরতা মাঝারি হলে পজিশনের আকার বাড়ানো এবং প্রবণতা দুর্বল বা অস্থিরতা খুব বেশি হলে পজিশনের আকার হ্রাস করা।
  4. লং-শর্ট হেজিংঃ কৌশলটির সামগ্রিক ঝুঁকি হ্রাস করার জন্য একই সাথে লং এবং শর্ট উভয় পক্ষ থেকে সংকেত পর্যবেক্ষণ এবং বিভিন্ন বাজার বা সময়সীমার হিজিং পজিশন বিবেচনা করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © contapessoal_ivan
// @version=5
strategy("Pullback Strategy", 
     overlay=true, 
     initial_capital=1000,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, // 100% of balance invested on each trade
     commission_type=strategy.commission.cash_per_contract, 
     commission_value=0.005) // Interactive Brokers rate

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2           = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
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=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("26 Jan 2023 00:00 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("26 Mar 2024 23:59 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(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.orange)


আরো