EMA ডাইভারজেন্স গড় রিভার্সন কৌশল

EMA 均值回归 背离 底部买入 价格波动
সৃষ্টির তারিখ: 2025-03-26 15:34:19 অবশেষে সংশোধন করুন: 2025-03-26 15:34:19
অনুলিপি: 1 ক্লিকের সংখ্যা: 411
2
ফোকাস
319
অনুসারী

EMA ডাইভারজেন্স গড় রিভার্সন কৌশল EMA ডাইভারজেন্স গড় রিভার্সন কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির কেন্দ্রীয় যুক্তিটি গড় মূল্যের রিটার্ন তত্ত্বের উপর ভিত্তি করে, অর্থাৎ দামগুলি স্বল্পমেয়াদে তার গড় মূল্য থেকে বিচ্যুত হতে পারে, তবে দীর্ঘমেয়াদে এটি গড়ের দিকে ফিরে যেতে পারে। বিশেষত, কৌশলটি 50 চক্রের ইএমএকে মূল্যের রেফারেন্স গড় হিসাবে ব্যবহার করে, যখন দামটি গড়ের চেয়ে উল্লেখযোগ্যভাবে কম থাকে (<10%) তখন এটি কেনার সুযোগ হিসাবে বিবেচিত হয়; যখন দামটি ইএমএর উপরে ফিরে আসে এবং লাভজনক হয়, তখন বিক্রয় সংকেতগুলি গণনা করা হয়ঃ

  1. বেঞ্চমার্ক হিসেবে ৫০-চক্রের ইএমএ ব্যবহার করে
  2. EMA থেকে মূল্যের শতকরা বিচ্যুতি গণনা করুনঃdiff_perct = ((ema20 - close) / ema20) * 100
  3. EMA থেকে সর্বোচ্চ মূল্যের শতকরা বিচ্যুতি গণনা করুনঃdiff_perct2 = ((high - ema20) / ema20) * 100
  4. যখনdiff_perct > 10যখন ((অর্থাৎ দাম EMA এর চেয়ে 10% কম), এটি একটি ক্রয় সংকেত ট্রিগার করে
  5. যখনdiff_perct2 > 0বিক্রয় সংকেত ট্রিগার করা হয় যখন সর্বোচ্চ মূল্য EMA এর উপরে থাকে এবং বর্তমান ট্রেডিং মুনাফা 1 এর বেশি হয়

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

  1. স্পষ্ট প্রবেশের শর্ত: কৌশলটি নির্দিষ্ট মূল্যের প্রান্তিক মান থেকে বিচ্যুতি নির্ধারণ করে ((১০%)), একটি পরিষ্কার প্রবেশের সংকেত সরবরাহ করে, এবং বিষয়গত বিচারের জন্য বাধা হ্রাস করে।
  2. বাজারের অতিরিক্ত প্রতিক্রিয়াএই কৌশলটি বাজারের অত্যধিক আতঙ্ক বা পতনের সুযোগকে কাজে লাগানোর জন্য তৈরি করা হয়েছে, যখন সম্পদ মূল্য প্রায়ই কম মূল্যায়ন করা হয়।
  3. স্বয়ংক্রিয়ভাবে সম্পাদনএই কৌশলটি সম্পূর্ণরূপে স্বয়ংক্রিয়, রিয়েল-টাইম ডিসপ্লে প্রয়োজন নেই, এবং মানসিক ব্যাঘাত হ্রাস করা হয়েছে।
  4. নমনীয় তহবিল ব্যবস্থাপনাট্যুইটারে তিনি লিখেছেন, “এটি একটি নতুন কৌশল যা নগদ বরাদ্দের পরিবর্তে নগদ বরাদ্দ ব্যবহার করে, যা তহবিলকে আরও নমনীয় করে তোলে।
  5. সহজে বোঝা যায়এই কৌশলটির লজিক সহজ, সহজেই বোঝা যায় এবং সমন্বয় করা যায়।
  6. ঝুঁকি নিয়ন্ত্রণ“এটি এমন একটি কৌশল যা কেবলমাত্র লাভজনক হলেই বিক্রয় শুরু করতে পারে, যা ইতিমধ্যে অর্জিত লাভকে রক্ষা করতে সহায়তা করে।

কৌশলগত ঝুঁকি

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

অপ্টিমাইজেশান দিক

  1. প্রান্তিক থেকে গতিশীলতা১০% স্থির বিচ্যুতি থ্রেশহোল্ড পরিবর্তন করে সাম্প্রতিক পরিবর্তনশীলতার উপর ভিত্তি করে একটি গতিশীল থ্রেশহোল্ড তৈরি করুন, যেমন এন্ট্রি শর্তগুলি সামঞ্জস্য করার জন্য এটিআর (অভারেজ ট্রু রেঞ্জ) ব্যবহার করে।
  2. ক্ষতিপূরণ বাড়ানো: সময় বা মূল্যের উপর ভিত্তি করে স্টপ-অফ শর্তাবলী প্রবর্তন করুন, যেমন সর্বোচ্চ পজিশন হোল্ডিং সময় বা সর্বোচ্চ অনুমোদিত ক্ষতির অনুপাত সেট করা।
  3. মাল্টি-সাইক্লিক নিশ্চিতকরণ: দীর্ঘ সময়ের (যেমন সূর্য বা ঘূর্ণন) প্রবণতা নির্ণয় করুন, যখন প্রধান প্রবণতা বিপরীত হয় তখন প্রবেশ করা এড়িয়ে চলুন।
  4. ব্যাচ নির্মাণ ও সমতলীকরণ: ঝুঁকি বিচ্ছিন্ন করার জন্য সমস্ত পজিশন একসাথে স্থাপন বা প্লেইন করার পরিবর্তে ধাপে ধাপে ক্রয় এবং বিক্রয় করা।
  5. পরিস্রাবণ যুক্ত করুন: অতিরিক্ত প্রযুক্তিগত সূচক (যেমন RSI বা MACD) যুক্ত করুন যা ট্রেডিং সিগন্যালের গুণমান উন্নত করতে ফিল্টার শর্ত হিসাবে কাজ করে।
  6. ইএমএ চক্রের সাথে মানিয়ে নেওয়া: পরিবর্তিত বাজার অবস্থার জন্য কৌশলগুলিকে আরও উপযুক্ত করার জন্য একটি নির্দিষ্ট 50 চক্রের পরিবর্তে একটি অভিযোজিত ইএমএ চক্র ব্যবহার করার চেষ্টা করুন।
  7. পুনরুদ্ধার অপ্টিমাইজেশন: বিভিন্ন বাজার চক্র এবং অবস্থার মধ্যে বিস্তৃত ব্যাক-টেস্টিং, সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করা।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("SUIBTC 2H - EMA dip public",overlay=true,initial_capital=100,default_qty_value=100, default_qty_type = strategy.cash,process_orders_on_close=false,calc_on_every_tick=false)


BuyTrigger = input.bool(false)
SellTrigger = input.bool(false)

src = input(open, title="Source")
offset = input.int(title="Offset", defval=5, minval=-500, maxval=500)

ema20 = ta.ema(close, 50)
plot(ema20, title="ema20", color=color.yellow, linewidth=3)




diff_perct = ((ema20 - close) / ema20) * 100
diff_perct2 = ((high -  ema20) / ema20) * 100





if ( diff_perct > 10)   
    BuyTrigger := true 

if(  diff_perct2 > 0 and strategy.openprofit > 1)
    SellTrigger := true 
    

    

notInTrade = strategy.position_size <= 0
inTrade = strategy.position_size > 0


timeSinceLastTrade_ms = time - strategy.opentrades.entry_time(0)


if (BuyTrigger and notInTrade )
    strategy.order("long", strategy.long , oca_name = 'audusdt' , when = BuyTrigger ,limit = open, comment = "buy: SUIBTC EMA Dip")
 
if (SellTrigger and inTrade )
    strategy.close(id="long" , qty_percent = 100,  comment = "sell: SUIBTC EMA Dip")