এই কৌশলটির নাম
এই কৌশলটির মূল যুক্তি দ্বৈত ইএমএ ক্রসওভারের উপর ভিত্তি করে। সূচক 1 হল 20 দিনের ইএমএ এবং সূচক 2 হল 50 দিনের ইএমএ। যখন স্বল্পমেয়াদী ইএমএ নীচে থেকে দীর্ঘমেয়াদী ইএমএ অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন স্বল্পমেয়াদী ইএমএ উপরে থেকে দীর্ঘমেয়াদী ইএমএ অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। সুতরাং বিভিন্ন পরামিতি সহ ইএমএর ক্রসওভারটি বাজারে প্রবেশ এবং প্রস্থান পয়েন্টগুলি নির্ধারণ করতে ব্যবহৃত হয়।
এছাড়াও, ভর্টেক্স সূচকটি প্রবণতা সনাক্ত করতে এবং ট্রেডিং সংকেত উত্পন্ন করতে সহায়তা করতে ব্যবহৃত হয়। ভর্টেক্স সূচকটি সর্বোচ্চ মূল্য এবং গতকালের বন্ধ এবং সর্বনিম্ন মূল্য এবং গতকালের খোলা, 1 দিন এবং 3 দিনের সময়ের মধ্যে পার্থক্যের তুলনা করে উত্থান বা হ্রাস গতি নির্ধারণ করে। ভর্টেক্স ব্যবহার করে ইএমএ ক্রস থেকে কিছু কম গুরুত্বপূর্ণ সংকেত ফিল্টার করতে সহায়তা করতে পারে।
যখন একটি ট্রেডিং সিগন্যাল তৈরি করা হয়, অন্তর্নির্মিত অর্থ পরিচালনার মডিউলটি পূর্বনির্ধারিত লাভ-হানি অনুপাতের উপর ভিত্তি করে অবস্থানের আকার নিয়ন্ত্রণ করে ঝুঁকি পরিচালনা করতে সহায়তা করে। স্টপ লস এবং লাভ গ্রহণের স্তরগুলিও মুনাফা লক করতে এবং নেতিবাচক দিকগুলি সীমাবদ্ধ করতে সেট করা যেতে পারে।
কৌশলটি দ্বৈত ইএমএ ক্রসওভার এবং ভর্টেক্স সূচককে একত্রিত করে উভয়ই সুবিধা গ্রহণ করে, যার ফলে সংকেতের নির্ভুলতা উন্নত হয়
স্বয়ংক্রিয় ট্রেডিং সিস্টেম মানুষের মানসিক ভুল দূর করে এবং ঝুঁকি কমিয়ে দেয়
স্বয়ংক্রিয় স্টপ লস/টেক প্রফিট ফাংশন প্রতিটি ট্রেডের জন্য সর্বাধিক ক্ষতি সীমাবদ্ধ করে
অর্থ ব্যবস্থাপনা মডিউল প্রতিটি ব্যবসায়ের জন্য মূলধন বরাদ্দ নিয়ন্ত্রণ করে, এইভাবে সামগ্রিক ঝুঁকি পরিচালনা করে
ইএমএ ক্রসওভারগুলি মিথ্যা সংকেত তৈরি করতে পারে। এবং ভর্টেক্স সূচকটিও সম্পূর্ণরূপে মিথ্যা সংকেতগুলি ফিল্টার করতে পারে না। এখনও কিছু হারানো ট্রেড থাকতে পারে।
ব্ল্যাক সোয়ান ইভেন্টগুলি খোলা পজিশনে বিশাল ক্ষতির কারণ হতে পারে।
এই কৌশলটি হ্রাস নিয়ন্ত্রণের জন্য স্টপ লসের উপর নির্ভর করে। যদি বন্ধ হয়ে যায়, তাহলে হ্রাস প্রত্যাশা অতিক্রম করতে পারে।
উন্নতির সুযোগঃ
সিগন্যালের গুণমান উন্নত করার জন্য ইএমএ পরামিতিগুলি আরও অনুকূলিত করা যেতে পারে
মেশিন লার্নিং অ্যালগরিদমগুলি প্যারামিটারগুলি স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করতে সহায়তা করতে পারে
সামগ্রিকভাবে, এটি মাঝারি মেয়াদী ব্যবসায়ের জন্য একটি সাধারণ দ্বৈত ইএমএ ক্রসওভার কৌশল। এটি ইএমএ ক্রসওভারের থেকে ব্যবসায়ের সুযোগগুলি সনাক্ত করে। সর্বাধিক সুবিধা হ'ল সিগন্যালগুলি ফিল্টার করার জন্য ভর্টেক্সের মতো সূচক ব্যবহার করা, স্বয়ংক্রিয় কৌশলটি নির্ভরযোগ্যভাবে সম্পাদন করা, ঝুঁকিগুলি প্রশমিত করার জন্য এমবেডেড স্টপ লস / লাভ গ্রহণের ফাংশনগুলি। ভবিষ্যতে, পরামিতি টিউনিং এবং আরও পরিপূরক সূচকগুলিকে সংহত করার মাধ্যমে কৌশল কর্মক্ষমতা আরও উন্নত করা যেতে পারে।
/*backtest start: 2023-01-18 00:00:00 end: 2024-01-24 00:00:00 period: 1d basePeriod: 1h 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/ // © smottybugger //@version= 5 strategy("The Averages Moving_X_Vortex", shorttitle="2.5billion BTC lol" , calc_on_order_fills=true, calc_on_every_tick=true, commission_type=strategy.commission.percent, commission_value=0.02, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, margin_long=0, margin_short=0,overlay=true) // Dual Vortex period_1 = input(15, "short Time") period_2 = input(25, "long time") VMP = math.sum(math.abs(high - low[3]), period_1) VMM = math.sum(math.abs(low - high[1]), period_2) STR = math.sum(ta.atr(1), period_1) STR2 = math.sum(ta.atr(1), period_2) VXpower= (input(5,"Vortex Power")/10000)*close shorterV =(VMP / STR)*VXpower longerV = (VMM / STR2)*VXpower // MACross shortlen = input(20, "ShortMa") longlen = input(29, "LongMA") shorterMA = ta.sma(close, shortlen) longerMA = ta.sma(close, longlen) // Vortex "MACross Stabilized" Varance = input(1, "Vortex Stabilize") Vpercent = (Varance / 100) shortV= ((((shorterMA-close)* Vpercent)+shorterV)/2)+close longV = ((((longerMA -close )*Vpercent)+longerV)/2)+close //MAcross vortex stabilized Marance = input(1, "MACross Stabilize") MApercent = Marance / 100 shortMA = ((((shorterMA-close)*MApercent)+shorterV)/2)+close longMA = ((((longerMA-close)*MApercent)+longerV)/2)+close //VMXadveraged Moving cross adveraged VMXL=(longV+longMA)/2 VMXS=(shortV+shortMA)/2 VXcross= ta.cross(VMXS,VMXL) ? VMXS : na VMXcross= ta.cross(VMXS,VMXL) //plot plot(VMXS,"BUY",color=#42D420) plot(VMXL,"SELL",color=#e20420) crossV= ta.cross(shortV, longV) ? shortV : na plot(shortV ,"shortV", color=#42D420) plot(longV,"longV", color=#e20420) plot(crossV,"crossV", color=#2962FF, style=plot.style_cross, linewidth=4) crossMA = ta.cross(shortMA, longMA) ? shortMA : na plot(shortMA,"shortMA", color=#42D420) plot(longMA,"longMA", color=#e20420) plot(crossMA,"crossMA", color=#2962FF, style=plot.style_cross, linewidth=4) plot(VXcross,"VMXcross",color=#2962FF, style= plot.style_cross,linewidth=4) plot(close,color=#999999) // Vortex Condistyle is_Vlong =shortV< longV is_Vshort =shortV>longV // Vortex commands Vlong = ta.crossunder(longV, shortV) Vshort =ta.crossover(shortV,longV) VorteX = ta.cross(longV, shortV) // MACross Conditions is_MAlong = shortMA < longV is_MAshort = shortMA > shortV //VMX Conditions is_VMXlong=VMXS<VMXL is_VMXshort=VMXS>VMXL // MA commands MAlong = ta.crossunder(shortMA, longV) MAshort =ta.crossover(shortMA, shortV) MAcross = ta.cross(shortMA, longMA) //VMX COMMANss VMXBUY=ta.crossover( VMXS,VMXL) VMXSELL=ta.crossunder(VMXS,VMXL) // Close Crossing PositionLMXs CS=is_MAshort or is_VMXshort CL= is_MAlong or is_VMXlong OS=MAshort or VMXSELL OL=MAlong or VMXBUY if VMXcross strategy.close_all ("closed") //if CS and OL strategy.close("Short",comment="Short Closed") //if CL and OS strategy.close("Long",comment="Long Closed" ) //CA1= is_MAcross and is_VorteX //if CA1 // strategy.close_all(comment="X2X") // Defalongyntry qty if is_VMXlong and VMXSELL strategy.entry("sell",strategy.short) if is_VMXshort and VMXBUY strategy.entry("buy",strategy.long) // Stop Losses & Taking Profit sllp = input(0, "Stop Loss Long") sll = (1 - sllp / 100) * strategy.position_avg_price is_sll = input(true, "Stop Long") tplp = input(0, "Take Profit Long") tpl = (1 + tplp / 100) * strategy.position_avg_price is_tpl = input(true, "Take Long") slsp = input(0, "Stop Loss Short") sls = (1 + slsp / 100) * strategy.position_avg_price is_sls = input(true, "Stop Short") tpsp = input(0, "Take Profit Short") tps = (1 - tpsp / 100) * strategy.position_avg_price is_tps = input(true, "Take Short") if (is_sll or is_sls) strategy.close("Stop Losses", qty_percent=100) if (is_tpl or is_tps) strategy.close("Take Profits", qty_percent=100) //Strategy Backtest //plot(strategy.equity, "Equity", color=color.red, linewidth=2, style=plot.style_areabr)