
এই কৌশলটি ঝুঁকি নিয়ন্ত্রণ এবং লাভের সম্ভাবনা বাড়ানোর জন্য সরল চলমান গড় ক্রস এবং ডাবল স্টপ কৌশল ব্যবহার করে। এই কৌশলটি মাঝারি এবং স্বল্পমেয়াদী ব্যবসায়ের জন্য উপযুক্ত এবং প্রবণতা পরিবর্তনের সময় সুযোগগুলি ধরতে পারে।
এই কৌশলটি ইএমএ এবং ডাব্লুএমএ এর ক্রস উপর ভিত্তি করে বাজারের চলন বিচার করে। যখন ইএমএ উপরে ডাব্লুএমএ পেরিয়ে যায়, তখন বেশি কাজ করে; যখন ইএমএ নীচে ডাব্লুএমএ পেরিয়ে যায়, তখন শূন্য থাকে।
প্রতিবার পজিশন খোলার সময়, কৌশলটি দুটি স্টপ লেভেল সেট করে। প্রথম স্টপ লেভেলটি পজিশন খোলার দাম +20 পয়েন্টের জন্য এবং দ্বিতীয় স্টপ লেভেলটি পজিশন খোলার দাম +40 পয়েন্টের জন্য। একই সাথে একটি স্টপ লস লেভেল সেট করে, পজিশন খোলার দাম -20 পয়েন্টের জন্য।
যখন দাম প্রথম স্টপ লেভেল স্পর্শ করে, তখন অর্ধেক পজিশন খালি করে দেয়। অবশিষ্ট পজিশন ধরে রাখা হয়, দ্বিতীয় স্টপ লেভেল অনুসরণ করা হয় বা বন্ধ হয়ে যায়।
এইভাবে, প্রতিটি লেনদেনের তিনটি ফলাফল রয়েছেঃ
দামের কারণে স্টপ লস, সরাসরি ক্ষতি ২%।
দাম প্রথম স্টপ ট্রিগার করে, অর্ধ-অর্ডারটি সমতল করে, 1% মুনাফা লক করে, তারপরে এটি বন্ধ না হওয়া পর্যন্ত চলতে থাকে, অবশেষে সমতল সমতল, শূন্য মুনাফা।
দাম প্রথম স্টপ ট্রিগার করার পরে চলতে থাকে, তারপর দ্বিতীয় স্টপ ট্রিগার করে, এবং শেষ পর্যন্ত 1% + 2% = 3% মুনাফা অর্জন করে।
এই দ্বি-স্টপ স্টপ কৌশলটির সবচেয়ে বড় সুবিধা হ’ল এটি ঝুঁকি নিয়ন্ত্রণ করতে পারে এবং একক বড় ক্ষতি এড়াতে পারে। যখন বাজার খারাপ হয়, তখন স্টপ ক্ষতি 2% এর মধ্যে নিয়ন্ত্রণ করা যায়। যখন বাজারটি সূর্যের দিকে থাকে, তখন দুটি স্টপ স্তর আরও বেশি লাভ করতে পারে।
একক স্টপ লসের তুলনায়, এই কৌশলটির তিনটি ফলাফল রয়েছেঃ ক্ষতি, লাভ এবং ক্ষতিহীনতা, যা স্টপ লসের সম্ভাবনা হ্রাস করে। এমনকি স্টপ লস হলেও, সর্বাধিক ক্ষতি 2% এ নিয়ন্ত্রণ করা হয়। প্রচলিত স্টপ লস কৌশলগুলির তুলনায়, এই ডাবল স্টপ লস কৌশলটি ডিডি উল্লেখযোগ্যভাবে হ্রাস করে এবং বিজয়ী হওয়ার সম্ভাবনা বাড়ায়।
আরেকটি সুবিধা হল এটি সহজেই কাজ করে। ইএমএ এবং ডাব্লুএমএ সুপরিচিত এবং সহজে বোঝা যায়। স্টপ-অফ-লস লজিক খুব স্পষ্ট এবং সহজেই পর্যবেক্ষণ করা যায়। এটি কৌশলটিকে সহজেই গ্রহণযোগ্য এবং প্রয়োগযোগ্য করে তোলে।
যদিও এই কৌশলটির কিছু সুবিধা রয়েছে, তবে এর কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক হওয়া দরকার।
প্রথমত, ইএমএ এবং ডাব্লুএমএ গড়রেখার সূচক হিসাবে, শক ট্রেডিংয়ের জন্য দুর্বল সনাক্তকরণ ক্ষমতা রয়েছে। যখন প্রবণতা সুস্পষ্ট নয়, তখন আরও বেশি ভুল সংকেত তৈরি হতে পারে, যার ফলে খুব ঘন ঘন লেনদেন হয়।
দ্বিতীয়ত, নির্দিষ্ট স্টপ লস পয়েন্টগুলি বাজারের অস্থিরতার সাথে মেলে না। যখন বড় অস্থিরতা হয়, তখন স্টপ লসগুলি ভেঙে ফেলা যেতে পারে এবং সুরক্ষার ভূমিকা পালন করতে পারে না।
অবশেষে, এই কৌশলটি অপ্রত্যাশিত ঘটনার প্রতিক্রিয়া জানাতে অক্ষম, এবং এটির উপর আরবিট করার ঝুঁকি রয়েছে। যখন একটি বড় সংবাদ ঘটনা ঘটে, তখন বাজারটি তীব্রভাবে উড়ে যেতে পারে, সরাসরি স্টপস্টপ লাইনটি ভেঙে যায় এবং বড় ক্ষতির কারণ হয়।
এই কৌশলটি আরও উন্নত করা যেতে পারে নিম্নলিখিত উপায়েঃ
প্রবেশের সংকেত উন্নত করুন। আপনি ইএমএ এবং ডাব্লুএমএর চেয়ে ভাল গড় বা প্রবণতা সূচক চেষ্টা করতে পারেন, যা সংকেতের গুণমান উন্নত করে।
গতিশীলভাবে স্টপ লস লেভেল সামঞ্জস্য করুন। এটি রিয়েল-টাইমে এটিআর, মোবাইল স্টপ লস ইত্যাদির উপর ভিত্তি করে স্টপ লস লেভেল সামঞ্জস্য করতে পারে, যাতে এটি বাজারের সাথে গতিশীলভাবে অনুসরণ করতে পারে।
যোগ করা হয়েছে ফিল্টারিং শর্তসমূহ। আপনি ট্রেডিং পরিমাণ বা উপ-প্রমাণদাতা নিশ্চিতকরণ যোগ করতে পারেন গোল্ডফর্কের আগে, যাতে আপনি জালিয়াতি এড়াতে পারেন। আপনি গুরুত্বপূর্ণ ইভেন্ট ক্যালেন্ডারের উপর ভিত্তি করে ট্রেড করতে পারেন কিনা তাও নির্বাচন করতে পারেন।
পজিশন ম্যানেজমেন্ট অপ্টিমাইজ করুন। আপনি তহবিল পরিচালনার নীতি অনুসারে প্রতিটি লেনদেনের জন্য নির্দিষ্ট পজিশনের আকার অপ্টিমাইজ করতে পারেন।
এই কৌশলটি সামগ্রিকভাবে একটি সহজ এবং ব্যবহারিক প্রবণতা ট্র্যাকিং কৌশল। এটি ইএমএ এবং ডাব্লুএমএ ব্যবহার করে ট্রেডিং সিগন্যাল তৈরি করে এবং দ্বৈত স্টপ-আপ কৌশল ব্যবহার করে ঝুঁকি নিয়ন্ত্রণ করে। প্রচলিত কৌশলগুলির তুলনায় এটির উচ্চতর লাভের সম্ভাবনা রয়েছে, ঝুঁকি কম। অবশ্যই, সূচকের সীমাবদ্ধতা এবং স্টপ-অলস সেটিংয়ের ঝুঁকিও বিবেচনা করা দরকার। আরও অপ্টিমাইজেশনের মাধ্যমে, কৌশলটি আরও স্থিতিশীল এবং নির্ভরযোগ্য করা যেতে পারে।
/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-13 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("FS ATR & PS (MA)", overlay=true)
// Strategy
Buy = input(true)
Sell = input(true)
// Time Period
start_year = input(title='Start year' ,defval=2019)
start_month = input(title='Start month' ,defval=1)
start_day = input(title='Start day' ,defval=1)
start_hour = input(title='Start hour ' ,defval=0)
start_minute = input(title='Start minute' ,defval=0)
end_time = input(title='set end time?',defval=false)
end_year = input(title='end year' ,defval=2019)
end_month = input(title='end month' ,defval=12)
end_day = input(title='end day' ,defval=31)
end_hour = input(title='end hour' ,defval=23)
end_minute = input(title='end minute' ,defval=59)
// MA
ema_period = input(title='EMA period',defval=10)
wma_period = input(title='WMA period',defval=20)
ema = ema(close,ema_period)
wma = wma(close,wma_period)
// Entry Condition
longCondition =
crossover(ema,wma) and Buy and
nz(strategy.position_size) == 0 and
time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and
(end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true)
shortCondition =
crossunder(ema,wma) and Sell and
nz(strategy.position_size) == 0 and
time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and
(end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true)
// Exit Condition
a = input(20)*10
b = input(40)*10
c = a*syminfo.mintick
d = b*syminfo.mintick
long_stop_level = float(na)
long_profit_level1 = float(na)
long_profit_level2 = float(na)
long_even_level = float(na)
short_stop_level = float(na)
short_profit_level1 = float(na)
short_profit_level2 = float(na)
short_even_level = float(na)
long_stop_level := longCondition ? close - c : long_stop_level [1]
long_profit_level1 := longCondition ? close + c : long_profit_level1 [1]
long_profit_level2 := longCondition ? close + d : long_profit_level2 [1]
long_even_level := longCondition ? close + 0 : long_even_level [1]
short_stop_level := shortCondition ? close + c : short_stop_level [1]
short_profit_level1 := shortCondition ? close - c : short_profit_level1 [1]
short_profit_level2 := shortCondition ? close - d : short_profit_level2 [1]
short_even_level := shortCondition ? close + 0 : short_even_level [1]
// Position Sizing
Risk = input(defval=10, title="Risk per trade%", step=1, minval=0, maxval=100)/100
size = 1
// Strategy
if longCondition
strategy.entry("Buy" , strategy.long, qty=size)
strategy.exit ("Exit1", stop=long_stop_level, limit=long_profit_level1, qty=size/2)
strategy.exit ("Exit2", stop=long_stop_level, limit=long_profit_level2)
if shortCondition
strategy.entry("Sell" , strategy.short, qty=size)
strategy.exit ("Exit3", stop=short_stop_level, limit=short_profit_level1, qty=size/2)
strategy.exit ("Exit4", stop=short_stop_level, limit=short_profit_level2)
// Plot
plot(strategy.position_size <= 0 ? na : long_stop_level , color=#dc143c, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_profit_level1 , color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_profit_level2 , color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_even_level , color=#ffffff, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_stop_level , color=#dc143c, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_profit_level1, color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_profit_level2, color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_even_level , color=#ffffff, style=plot.style_linebr, linewidth=1)
plot(ema,color=#00ced1)
plot(wma,color=#dc143c)