এই কৌশলটি একটি চলমান গড় সিস্টেম যা বিভিন্ন সময়কাল এবং 1 ইএমএ সূচক সহ 4 টি এসএমএমএ (সমতল চলমান গড়) এর উপর ভিত্তি করে। এটি ট্রেন্ড বিচারের মাধ্যমে একটি ট্রেডিং কৌশল গঠনের জন্য একাধিক প্রযুক্তিগত বিশ্লেষণ সরঞ্জামকে একত্রিত করে। এই কৌশলটি মূলত উচ্চ লিভারেজ ইউরো ইউএসডি 15-মিনিট বন্ডের অন্তঃদিবসের ট্রেডিংয়ের জন্য উপযুক্ত।
কৌশলটি একটি মাল্টি-লেভেল চলমান গড় সিস্টেম তৈরি করতে বিভিন্ন পরামিতি (3, 6, 9, 50) এবং 1 ইএমএ (200) সহ 4 টি এসএমএমএ ব্যবহার করে। এসএমএমএ সূচক কার্যকরভাবে বাজারের গোলমাল ফিল্টার করতে এবং প্রবণতার দিকনির্দেশ নির্ধারণ করতে পারে। ইএমএ সূচক দীর্ঘমেয়াদী প্রবণতা সনাক্ত করে। নির্দিষ্ট ট্রেডিং যুক্তি হলঃ
যখন স্বল্পমেয়াদী চলমান গড় (যেমন 3-অবধি এসএমএমএ) দীর্ঘমেয়াদী চলমান গড়ের (যেমন 200-অবধি ইএমএ) উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। একাধিক চলমান গড়ের বিন্যাস বিচার করে, প্রবণতার দিক নির্ধারণ করা হয়।
এছাড়া, ঝুঁকি নিয়ন্ত্রণের জন্য কৌশলটি লাভ এবং ক্ষতি বন্ধের পয়েন্টও নির্ধারণ করে।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
মাল্টি-লেভেল চলমান গড় কাঠামো কার্যকরভাবে প্রবণতা দিক নির্ধারণ করতে পারে এবং মিথ্যা সংকেত হ্রাস করতে পারে।
এসএমএমএ সূচক কার্যকরভাবে বাজারের গোলমাল ফিল্টার করে এবং ইএমএ সূচক দীর্ঘমেয়াদী প্রবণতা সনাক্ত করে।
ট্রেডিং মুনাফা বাড়ানোর জন্য এটি উচ্চ লিভারেজ অ্যাকাউন্টের জন্য উপযুক্ত।
ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করতে স্টপ লাভ এবং স্টপ লস পয়েন্ট সেট করা হয়।
এটিকে আরও লাভজনক করার জন্য ট্রেডিং বৈচিত্র্য (ইউআরএসডি) এবং চক্র (15 মিনিট) অপ্টিমাইজ করে।
এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ
চলমান গড়ের বিশাল পরিমাণে স্বল্পমেয়াদী বিপরীতমুখী সুযোগগুলি মিস করতে পারে।
উচ্চ লিভারেজ ক্ষতি বাড়িয়ে তোলে যখন মুনাফা বাড়ায়।
যখন চলমান গড় একটি সংকেত উৎপন্ন করে, তখন স্বল্পমেয়াদী প্রবণতা ইতিমধ্যে বিপরীত হতে পারে।
ইউরো ইউএসডি মুদ্রাস্ফীতিতে মারাত্মক ওঠানামা হতে পারে।
এই ঝুঁকিগুলির প্রতিক্রিয়া হিসাবে, আমরা যথাযথভাবে লিভারেজ অনুপাত সামঞ্জস্য করতে পারি, চলমান গড়ের পরামিতিগুলি অনুকূল করতে পারি, প্রবণতা বিপরীতের বিচার করার জন্য অন্যান্য সূচক প্রবর্তন করতে পারি, ইত্যাদি অনুকূল করার জন্য।
এই কৌশলটির মূল অপ্টিমাইজেশান দিকগুলির মধ্যে রয়েছেঃ
বিভিন্ন জাত এবং চক্রের পারফরম্যান্স মূল্যায়ন করুন এবং সর্বোত্তম পরামিতি নির্বাচন করুন।
চলমান গড়ের বিভিন্ন সংমিশ্রণ এবং পরিমাণ পরীক্ষা করুন।
স্বল্পমেয়াদী বিপরীতমুখী পয়েন্ট নির্ধারণের জন্য ভলিউম বা অস্থিরতা সূচক বৃদ্ধি করুন।
স্টপ লাভ এবং স্টপ লস রেঞ্জের গতিশীল সমন্বয় বাড়ানো।
রিভার্স পয়েন্ট নির্ধারণের জন্য ENU সূচক যোগ করুন।
বহু-মুখী পরীক্ষা এবং অপ্টিমাইজেশনের মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা ব্যাপকভাবে উন্নত করা যেতে পারে।
এই চলমান গড় কৌশলটি একটি শক্তিশালী প্রবণতা বিচার ব্যবস্থা গঠনের জন্য চলমান গড় সূচকগুলির সুবিধাগুলিকে একীভূত করে। এটি ট্রেডিং জাত এবং চক্রগুলিকে অনুকূল করে তোলে এবং উচ্চ লিভারেজ ইনট্রাডে ট্রেডিংয়ের জন্য খুব উপযুক্ত। প্যারামিটার সমন্বয় এবং অপ্টিমাইজেশন পরীক্ষার মাধ্যমে, এই কৌশলটি একটি দক্ষ এবং নির্ভরযোগ্য অ্যালগরিদম ট্রেডিং কৌশল হয়ে উঠতে পারে।
/*backtest start: 2023-10-24 00:00:00 end: 2023-11-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SoftKill21 //@version=4 strategy("Money maker EURUSD 15min" ) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2000, title = "From Year", minval = 1970) // To Date Inputs toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 8, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2021, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) len = input(3, minval=1, title="Length") src = input(hl2, title="Source") smma = 0.0 sma1 = sma(src, len) smma := na(smma[1]) ? sma1 : (smma[1] * (len - 1) + src) / len len2 = input(6, minval=1, title="Length") src2 = input(hl2, title="Source") smma2 = 0.0 sma2 = sma(src2, len2) smma2 := na(smma2[1]) ? sma2 : (smma2[1] * (len2 - 1) + src2) / len2 len3 = input(9, minval=1, title="Length") src3 = input(hl2, title="Source") smma3 = 0.0 sma3 = sma(src3, len3) smma3 := na(smma3[1]) ? sma3 : (smma3[1] * (len3 - 1) + src3) / len3 len4 = input(50, minval=1, title="Length") src4 = input(close, title="Source") smma4 = 0.0 sma4 = sma(src4, len4) smma4 := na(smma4[1]) ? sma4 : (smma4[1] * (len4 - 1) + src4) / len4 len5 = input(200, minval=1, title="Length") src5 = input(close, title="Source") out5 = ema(src5, len5) timeinrange(res, sess) => time(res, sess) != 0 london=timeinrange(timeframe.period, "0300-1045") londonEntry=timeinrange(timeframe.period, "0300-0845") extraEntry =timeinrange(timeframe.period, "0745-1030") time_cond = true //time_cond2 = time >= startDate and time <= finishDate and extraEntry // longCond = close > out5 and close > smma4 and close > smma3 and close > smma2 and close > smma and smma > smma2 and smma2>smma3 and smma3>smma4 and smma4>out5 and time_cond shortCond = close < out5 and close < smma4 and close < smma3 and close < smma2 and close < smma and smma < smma2 and smma2<smma3 and smma3<smma4 and smma4<out5 and time_cond //longCond = close > out5 and close > smma4 and close > smma3 and close > smma2 and close > smma and smma > smma2 and smma2>smma3 and smma3>smma4 and smma4>out5 and time_cond2 //shortCond = close < out5 and close < smma4 and close < smma3 and close < smma2 and close < smma and smma < smma2 and smma2<smma3 and smma3<smma4 and smma4<out5 and time_cond2 //longCond2 = crossover(close,out5) and crossover(close,smma4) and crossover(close,smma3) and crossover(close,smma2) and crossover(close,smma) and time_cond //shortCond2 = crossunder(close,out5) and crossunder(close,smma4) and crossunder(close,smma3) and crossunder(close,smma2) and crossunder(close,smma) and time_cond tp=input(300,title="tp") sl=input(300,title="sl") strategy.initial_capital = 50000 //MONEY MANAGEMENT-------------------------------------------------------------- balance = strategy.netprofit + strategy.initial_capital //current balance floating = strategy.openprofit //floating profit/loss risk = input(1,type=input.float,title="Risk %")/100 //risk % per trade //Calculate the size of the next trade temp01 = balance * risk //Risk in USD temp02 = temp01/sl //Risk in lots temp03 = temp02*100000 //Convert to contracts size = temp03 - temp03%1000 //Normalize to 1000s (Trade size) if(size < 1000) size := 1000 //Set min. lot size dataL = (close-out5)*100000 dataS = (out5-close)*100000 minDistanceL = (smma4 - out5)*100000 minDistanceS= (out5 - smma4)*100000 strategy.entry("long",1,1,when=longCond ) strategy.exit("closelong","long", profit=tp,loss=sl) strategy.entry("short",0,1,when=shortCond ) strategy.exit("closeshort","short", profit=tp,loss=sl) strategy.close_all(when = not london, comment="london finish") //strategy.close_all(when = not extraEntry, comment="london finish") // maxEntry=input(2,title="max entries") // strategy.risk.max_intraday_filled_orders(maxEntry)