এই কৌশলটি ROC এবং SMA এর মধ্যে পার্থক্যের যোগফল গণনা করে ট্রেডিং সংকেত তৈরি করে। এটি স্বল্পমেয়াদী ট্রেডিং কৌশলগুলির অন্তর্ভুক্ত।
কৌশলটি প্রথমে দৈর্ঘ্য l এবং ROC সহ SMA গণনা করে। তারপর এটি বন্ধ মূল্য এবং SMA এর মধ্যে পার্থক্য k গণনা করে। এরপরে এটি s দিনের জন্য k যোগ করে এবং যোগ করে। যখন যোগ> 0 হয়, এটি দীর্ঘ যায়। যখন যোগ <0 হয়, এটি সংক্ষিপ্ত যায়।
বিশেষ করে, কোডেঃ
দৈর্ঘ্য l সহ SMA গণনা করুন, একটি পান।
দৈর্ঘ্য l এর সাথে ROC গণনা করুন, r পাবেন।
ক্লোজ প্রাইস এবং এসএমএ এর মধ্যে পার্থক্য গণনা করুনঃ k = ক্লোজ - a।
k কে s দিনের জন্য যোগ করুন, যোগফল পাবেন।
যদি sum>0, লং পজিশন; যদি sum<0, short পজিশন।
দীর্ঘ সময়ের জন্য sum<0 এবং সংক্ষিপ্ত সময়ের জন্য sum>0 হলে exit।
মূল কথা হল পার্থক্য কে সংক্ষিপ্ত করা এবং ট্রেডিং সিগন্যালের জন্য যোগফলের চিহ্ন ব্যবহার করা। যখন k>0 সাম্প্রতিক দিনগুলির জন্য, দাম বাড়ছে, তাই দীর্ঘ যান। যখন k <0, দাম হ্রাস পাচ্ছে, তাই শর্ট যান।
এই সহজ স্বল্পমেয়াদী ট্রেডিং কৌশল নিম্নলিখিত সুবিধাগুলি আছেঃ
ব্যবহৃত সূচকগুলি সহজ এবং সহজেই বোঝা যায়।
সূচকগুলির পার্থক্য দ্বারা ফিল্টারিং আরও সঠিক ট্রেডিং সুযোগ খুঁজে পেতে পারে।
পার্থক্য সংক্ষিপ্তকরণে স্বল্পমেয়াদী প্রবণতা আরও ভালভাবে ধরা যায়।
প্যারামিটার l এবং s বিভিন্ন চক্রের জন্য নিয়ন্ত্রিত হতে পারে।
যুক্তি স্পষ্ট এবং পরিবর্তন এবং অপ্টিমাইজ করা সহজ।
ঘন ঘন স্বল্পমেয়াদী লেনদেনের জন্য উচ্চ মূলধন ব্যবহারের দক্ষতা।
এছাড়াও কিছু ঝুঁকি আছেঃ
স্বল্পমেয়াদী ট্রেডিংয়ে ঝুঁকি বেশি, ক্ষতির সম্ভাবনা বেশি।
অপ্রয়োজনীয় পরামিতিগুলি অত্যধিক ট্রেডিং বা সুযোগ হারাতে পারে।
প্রবণতা বিপরীত হওয়ার সাথে মানিয়ে নেওয়া কঠিন, কোনও স্টপ লস বড় ক্ষতির দিকে পরিচালিত করতে পারে।
পরামিতিগুলির ঘন ঘন সমন্বয় ব্যবসায়ীর অভিজ্ঞতার উপর নির্ভর করে।
উচ্চ ট্রেডিং ফ্রিকোয়েন্সি লেনদেনের খরচ এবং স্লিপিং বাড়িয়ে তুলতে পারে।
সমাধান:
কম ট্রেডিং ফ্রিকোয়েন্সিতে সঠিকভাবে প্যারামিটারগুলি সামঞ্জস্য করুন।
ট্রেন্ড ইন্ডিকেটর যোগ করে বিপরীতমুখী পরিস্থিতি চিহ্নিত করুন।
একক ট্রেড ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস অপ্টিমাইজ করুন।
অভিজ্ঞতার উপর নির্ভরতা কমাতে অটো প্যারামিটার অপ্টিমাইজেশান যুক্ত করুন।
লেনদেনের খরচ কমানোর জন্য অর্ডার এক্সিকিউশন মডেলটি অপ্টিমাইজ করুন।
কৌশলটি নিম্নলিখিত দিকগুলিতে আরও অনুকূলিত করা যেতে পারেঃ
প্যারামিটার গণনার পদ্ধতিগুলি অপ্টিমাইজ করুন, যেমন জেনেটিক অ্যালগরিদম, যাতে প্যারামিটারগুলি অভিযোজিত হয়।
সিগন্যালের গুণমান উন্নত করার জন্য আরও সূচক এবং ফিল্টার যুক্ত করুন।
স্টপ লস কৌশল উন্নত করুন, যেমন স্টপ লস অনুসরণ করা।
ঝুঁকি পয়েন্ট নিয়ন্ত্রণের মতো অর্থ পরিচালনার কৌশলগুলি অনুকূল করুন।
প্রবণতা অনুসরণ, স্লিপ নিয়ন্ত্রণ ইত্যাদির সাথে অর্ডার এক্সিকিউশন মডেলটি অনুকূল করুন
ব্যাকটেস্টিং এবং অটো অপ্টিমাইজেশান মডিউল যোগ করুন।
সিগন্যালের গুণমানের পরিমাণগত মূল্যায়ন যোগ করুন।
এই অপ্টিমাইজেশানগুলির মাধ্যমে, এই কৌশলটি আরও বিস্তৃত, বুদ্ধিমান, স্থিতিশীল এবং নিয়ন্ত্রণযোগ্য স্বল্পমেয়াদী ট্রেডিং সিস্টেমে পরিণত হতে পারে।
সংক্ষেপে, এই কৌশলটি সূচক থেকে সহজ সংকেত উত্পন্ন করে, পরিষ্কার যুক্তি এবং সহজ বাস্তবায়ন সহ। পরামিতি, স্টপ লস, অর্থ পরিচালনা ইত্যাদিতে আরও অপ্টিমাইজেশান সহ এটি একটি মূল্যবান পরিমাণগত ট্রেডিং কৌশল হয়ে উঠতে পারে। তবে কোনও কৌশলই নিখুঁত নয়। ব্যবসায়ীদের এখনও ব্যক্তিগত ঝুঁকি পছন্দের ভিত্তিতে এটি যুক্তিসঙ্গতভাবে প্রয়োগ করতে হবে।
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false) l = input(defval=170,title="Length for indicator") s = input(title="Length of summation",defval=18) a= sma(close,l) r=roc(close,l) k=close-a sum = 0 for i = 0 to s sum := sum + k[i] //plot(a,color=yellow,linewidth=2,transp=0) //bc = iff( sum > 0, white, teal) //plot(sum,color=bc, transp=20, linewidth=3,style=columns) //plot(sma(sum,3),color=white) //hline(0) inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na ////buyEntry = crossover(source, lower) ////sellEntry = crossunder(source, upper) if sum>0 strategy.entry("Long", strategy.long, oca_name="Long", comment="Long") else strategy.cancel(id="Long") if sum<0 strategy.entry("Short", strategy.short, oca_name="Short", comment="Short") else strategy.cancel(id="Short") strategy.initial_capital = 50000 plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2) hline(0) //longCondition = sum>0 //exitlong = sum<0 //shortCondition = sum<0 //exitshort = sum>0 //strategy.entry(id = "Long", long=true, when = longCondition) //strategy.close(id = "Long", when = exitlong) //strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong) //strategy.entry(id = "Short", long=false, when = shortCondition) //strategy.close(id = "Short", when = exitshort) //strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)