
এই কৌশলটি স্বল্প, মাঝারি এবং দীর্ঘমেয়াদী তিনটি পৃথক পিরিয়ডের সূচকীয় চলমান গড় (ইএমএ) এর উপর ভিত্তি করে ট্রেডিং সিগন্যাল তৈরি করে। এর মধ্যে, স্বল্পমেয়াদী ইএমএ পিরিয়ডটি 5 দিনের, মাঝারি ইএমএ পিরিয়ডটি 8 দিনের এবং দীর্ঘমেয়াদী ইএমএ পিরিয়ডটি 13 দিনের। যখন স্বল্পমেয়াদী ইএমএ মধ্যবর্তী এবং দীর্ঘমেয়াদী ইএমএ অতিক্রম করে, তখন অতিরিক্ত করুন; যখন স্বল্পমেয়াদী ইএমএ মধ্যবর্তী এবং দীর্ঘমেয়াদী ইএমএ অতিক্রম করে, তখন শূন্য করুন।
এই কৌশলটি বিভিন্ন চক্রের ইএমএ গণনা করে বাজারের প্রবণতা নির্ধারণ করে। স্বল্পমেয়াদী ইএমএ সাম্প্রতিক দিনগুলির গড় মূল্যকে প্রতিফলিত করে এবং মাঝারি-দীর্ঘমেয়াদী ইএমএ দীর্ঘমেয়াদী গড় মূল্যকে প্রতিফলিত করে। স্বল্পমেয়াদী ইএমএর উপরে মধ্য-দীর্ঘমেয়াদী ইএমএ প্রতিনিধিত্ব করে যে দামটি উপরে উঠতে শুরু করে, তাই এটি আরও বেশি করে; স্বল্পমেয়াদী ইএমএর নীচে মধ্য-দীর্ঘমেয়াদী ইএমএ প্রতিনিধিত্ব করে যে দামটি নীচে নামতে শুরু করে, তাই এটি খালি করে।
বিশেষত, এই কৌশলটি একই সাথে 5 দিন, 8 দিন এবং 13 দিনের তিনটি ইএমএ গণনা করে। যখন 5 দিনের ইএমএ 8 দিন এবং 13 দিনের ইএমএ পরা হয় তখন একটি পলস সংকেত উত্পন্ন হয়; যখন 5 দিনের ইএমএ 8 দিন এবং 13 দিনের ইএমএ পরা হয় তখন একটি খালি সংকেত উত্পন্ন হয়। অতিরিক্ত করার পরে, যদি 5 দিনের ইএমএ আবার 13 দিনের ইএমএ পরা হয় তবে এটি পলস হয়। খালি হওয়ার পরে, যদি 5 দিনের ইএমএ আবার 13 দিনের ইএমএ পরা হয় তবে এটি পলস হয়।
নিম্নলিখিত উপায়ে অপ্টিমাইজ করা যায়ঃ
এই কৌশলটি সংক্ষিপ্ত এবং দীর্ঘ তিনটি পিরিয়ডের ইএমএ গণনা করে এবং এর ক্রস পরিস্থিতির তুলনা করে বাজারের প্রবণতা ঘুরিয়ে দেওয়ার বিচার করে। এটি একটি সাধারণ বিরতি সিস্টেমের অন্তর্ভুক্ত। এর সুবিধা হ’ল ট্রেডিং সিগন্যালটি সহজ, পরিষ্কার এবং সহজেই পরিচালনা করা যায়। এর অসুবিধা হ’ল ইএমএ সূচকটি নিজেই পিছিয়ে রয়েছে এবং সত্যিকারের প্রবণতা এবং স্বল্পমেয়াদী সামঞ্জস্যের মধ্যে পার্থক্য করতে পারে না। ভবিষ্যতে অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে সহযোগিতামূলক বিচার বিবেচনা করা যেতে পারে, বা এই কৌশলটি স্বনির্ধারিত প্যারামিটার সামঞ্জস্যের সাথে সংযুক্ত করা যেতে পারে।
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
//
//
strategy(title="EMA Crossover Strategy", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)
// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")
// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(hl2,short_period)
midEma = ema(hl2,mid_period)
longEma = ema(hl2,long_period)
plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")
longEntry = ((shortEma > midEma) and crossover(shortEma,longEma)) or ((shortEma > longEma) and crossover(shortEma,midEma))
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))
plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")
// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
longEntry
exitLong() =>
crossunder(shortEma,longEma)
strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() =>
not longOnly and shortEntry
exitShort() =>
crossover(shortEma,longEma)
strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())