
এই কৌশলটির মূল ধারণা হল মুভিং গড়ের কাছাকাছি গুরুত্বপূর্ণ সমর্থন বা প্রতিরোধের এলাকা ব্যবহার করে একটি অবস্থান তৈরি করা। যখন দামের উত্থান বা পতনের পরে পুনর্নির্মাণ হয়, তখন সমর্থন বা চাপ তৈরি হওয়ার সম্ভাবনা থাকে, যার ফলে একটি বিপরীত সুযোগ তৈরি হয়।
এই কৌশলটি একটি ওজনের চলমান গড় সূচকের উপর ভিত্তি করে, প্রথমে একটি নির্দিষ্ট দৈর্ঘ্যের ওজনের চলমান গড় গণনা করে, তারপরে দামটি একটি নির্দিষ্ট মাত্রার ব্রেকআউট হয় কিনা তা পর্যবেক্ষণ করে। যখন দামটি গড়ের ব্রেকআউট একটি নির্দিষ্ট দূরত্বে পৌঁছে যায়, তখন একটি তীর নির্দেশনা আঁকুন এবং একটি অবস্থান স্থাপন করুন। যখন মাল্টি হেড প্রবেশ করে, দামটি প্রথমে একটি নির্দিষ্ট মাত্রার ব্রেকআউট পড়ে; যখন শূন্য হেড প্রবেশ করে, দামটি প্রথমে একটি নির্দিষ্ট মাত্রার ব্রেকআউট বৃদ্ধি পায়। এইভাবে একটি বিপরীত সংকেত তৈরি করে, তারপরে চলমান গড়ের সমর্থন ও প্রতিরোধের অঞ্চলকে একত্রিত করে, বাজারে প্রবেশের সময়কে অনুকূল করতে পারে।
কৌশলটি ট্রেল প্যারামিটারগুলির মাধ্যমে ট্র্যাকিং স্টপ ব্যবহার করতে বা স্থির স্টপ দূরত্ব ব্যবহার করতে পারে কিনা তা বেছে নেয়। স্টপ ক্ষতির মাত্রা সামঞ্জস্য করে ঝুঁকি নিয়ন্ত্রণ করা যায়। সীমিত মূল্যের একক প্যারামিটারগুলির মাধ্যমে আংশিক মুনাফা লক করা যায়। নির্দিষ্ট সময়ের জন্য অবস্থান খোলার জন্য সময় ফিল্টারিংয়ের মাধ্যমে সীমাবদ্ধ করা যেতে পারে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হ’ল বিপরীতমুখী পরিস্থিতি এবং গড়ের সাথে মিলিত হয়ে বাজারের মূল পয়েন্টগুলিকে চিহ্নিত করে পজিশন খোলার জন্য। বিপরীতমুখী কৌশলগুলির জয় ও ক্ষতির অনুপাত সাধারণত ভাল হয়, ঝুঁকি সহজেই নিয়ন্ত্রণ করা যায়। একই সাথে, এই কৌশলটি একটি নিখুঁত স্টপ লস প্রক্রিয়া এবং লাভের কিছু অংশ লক করার পদ্ধতি সরবরাহ করে, যা ঝুঁকি হ্রাস করতে এবং স্থিতিশীলতা বাড়াতে সহায়তা করতে পারে।
চলমান গড়ের উপর ভিত্তি করে, প্যারামিটার অপ্টিমাইজেশনের জন্য আরও জায়গা রয়েছে, যা গড়ের দৈর্ঘ্য, ব্রেকথ্রু প্রস্থ এবং অন্যান্য প্যারামিটারগুলি সামঞ্জস্য করে বিভিন্ন বাজারের অভিযোজনযোগ্যতা পরীক্ষা করতে পারে।
এই কৌশলটির সবচেয়ে বড় ঝুঁকি হল বিপরীতমুখী ব্যর্থতা। যখন দাম বিপরীতমুখী সংকেত তৈরি করে, তখন যদি স্টপ লস বা স্টপ স্টপ সফলভাবে ট্রিগার করতে না পারে এবং মূল দিকটি চালিয়ে যেতে থাকে তবে একটি বড় অস্থিরতা তৈরি হবে।
এছাড়াও, প্যারামিটার অপ্টিমাইজেশনের উপর নির্ভরশীলতা বেশি, যদি প্যারামিটার সেটিংটি ভুল হয় তবে মূল্যের বিপরীত সময়টি মিস করা বা মিথ্যা সংকেত তৈরি করা সহজ। প্যারামিটার সেটিংটি সাবধানে মূল্যায়ন করার জন্য বাজারের আচরণটি পুরোপুরি বোঝা এবং পরীক্ষা করা প্রয়োজন।
সংকেতের গুণমান এবং নির্ভুলতা বাড়ানোর জন্য আরও সূচক যুক্ত করার বিষয়টি বিবেচনা করা যেতে পারে। উদাহরণস্বরূপ, দামের বিপরীত সংকেত উপস্থিত হওয়ার আগে, নির্দিষ্ট সময়ের মধ্যে বৃদ্ধি, বিশেষত স্বল্প-চক্রের ইনক্রিমেন্টাল ডেটা সনাক্ত করা যেতে পারে, দামের ওঠানামা বৈশিষ্ট্যগুলি নির্ধারণ করতে। বা নির্দিষ্ট পরিমাণগত কারণ যুক্ত করা যেতে পারে, দামের গতিশীলতা, ওঠানামার হার ইত্যাদির বৈশিষ্ট্যযুক্ত মান সনাক্ত করতে, মাল্টি-ফ্যাক্টর মডেল তৈরি করতে।
মেশিন লার্নিং পদ্ধতি ব্যবহার করে ট্রেডিং সিগন্যালের ইতিহাস এবং মূল্যের তথ্য রেকর্ড করে মডেলগুলিকে সম্ভাব্য পরবর্তী মূল্যের গতিপথ নির্ধারণ করতে শেখানো যেতে পারে। এটি জাল সংকেতগুলি ফিল্টার করতে এবং সংকেতের গুণমান উন্নত করতে সহায়তা করতে পারে।
উপরন্তু, একটি নির্দিষ্ট স্ব-অনুকূলিতকরণ অপ্টিমাইজেশান ব্যবস্থা চালু করা যেতে পারে। প্রকৃত লেনদেনের ফলাফলের উপর ভিত্তি করে, প্যারামিটারগুলি বা নিয়মের ওজনগুলিকে গতিশীলভাবে সামঞ্জস্য করে, কৌশলটির স্ব-অনুকূলিতকরণ এবং ENO
এই কৌশলটি সামগ্রিকভাবে স্থিতিশীলভাবে কাজ করে এবং যুক্তিসঙ্গত প্যারামিটার স্পেস এবং বাজারের পরিবেশে ভাল আয় অর্জন করতে পারে। সবচেয়ে বড় সুবিধা হ’ল ঝুঁকি নিয়ন্ত্রণযোগ্য এবং কিছু অপ্টিমাইজেশান সম্ভাবনা রয়েছে। পরবর্তী পদক্ষেপটি সংকেতের গুণমান উন্নত করতে এবং স্ব-অনুকূলিতকরণের ক্ষমতা বাড়ানোর দিকে মনোনিবেশ করবে। বিশ্বাস করা হয় যে ক্রমাগত অপ্টিমাইজেশনের পরে এই কৌশলটি পোর্টফোলিওতে একটি শক্তিশালী পছন্দ হতে পারে।
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-22 08:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="WMA Breakout",overlay=true, initial_capital=25000, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=3.02)
len = input(20, minval=1, title="Length")
src = input(close, title="Source")
out = wma(src, len)
price_drop = input(.003, "When price drops (In Ticks) Enter Long", step=.001)
price_climb = input(.003, "When price climbs (In Ticks) Enter Short", step=.001)
trail = input(true, "Trailing Stop(checked), Market stop(unchecked)")
stop = input(10, "Stop (in ticks)", step=1)
limit = input(5, "Limit Out", step=1)
//size = input(1, "Limit Position Size (pyramiding)", minval=1)
timec = input(true, "Limit Time of Day (Buying Side)")
//Time Session
sess = input("1600-0500", "Start/Stop trades (Est time)")
t = time(timeframe.period, sess)
//plots
plot(wma(src,len))
z = if low+price_drop<out
(out-low)
plotarrow(z, colorup=red)
a = if high-price_climb>out
(high-out)
plotarrow(a, colorup=lime)
av=wma(src,len)
//Orders
if(timec)
strategy.entry("Enterlong", long=true, when=z and t>1)
else
strategy.entry("Enterlong", long=true, when=z)
if(trail)
strategy.exit("Exit","Enterlong", profit=limit, trail_points = 0, trail_offset = stop )
else
strategy.exit("Exit","Enterlong", profit=limit, loss = stop )
if(timec)
strategy.entry("Entershort", long=false, when=a and t>1)
else
strategy.entry("Entershort", long=false, when=a)
if(trail)
strategy.exit("Exit","Entershort", profit=limit, trail_points = 0, trail_offset = stop )
else
strategy.exit("Exit","Entershort", profit=limit, loss = stop )