এই কৌশলটি এক্সচেঞ্জ প্ল্যাটফর্মগুলিতে উপলব্ধ ট্রেলিং টেক মুনাফা বৈশিষ্ট্যটির সাথে ডলারের ব্যয় গড় (ডিসিএ) একত্রিত করে। এটি ক্রয়ের জন্য 1% মূল্য বিচ্যুতি সেট করে এবং প্রতিটি বিক্রয়ের জন্য 0.5% মুনাফা লক্ষ্য করে। ছোট মুনাফা লক্ষ্য করার যুক্তি হ'ল ট্রেডিং বটটির জন্য মসৃণ অপারেশন নিশ্চিত করা, বাজারের ধীর সময়ের সময় আটকে পড়া এড়ানো। ব্যাকটেস্টিংয়ের ভিত্তিতে, এই বটটি বাজারের ওঠানামা এবং ম্যানিপুলেশন সহ্য করার জন্য যথেষ্ট অভিযোজনযোগ্য প্রমাণিত হয়েছে। যদিও বার্ষিক শতাংশ হার (এপিআর) ব্যতিক্রমী উচ্চ নাও হতে পারে, এটি দীর্ঘমেয়াদী বিনিয়োগের জন্য একটি সন্তোষজনক এবং নিরাপদ বিকল্প সরবরাহ করে, প্রায়শই traditionalতিহ্যবাহী কিনুন এবং ধরে রাখুন (এইচওডিএল) কৌশলকে ছাড়িয়ে যায়।
কৌশলটি প্রথমে ট্রেইলিং স্টপ শতাংশ, সর্বাধিক ডিসিএ অর্ডার, মূল্য বিচ্যুতি শতাংশ ইত্যাদির মতো কনফিগারযোগ্য পরামিতি সেট করে। এটি তারপরে সর্বশেষ ক্রয়ের মূল্য, ক্রয়ের সংখ্যা, প্রাথমিক ক্রয়ের মূল্য, ট্রেইলিং স্টপ মূল্য ইত্যাদির মতো ভেরিয়েবলগুলি ট্র্যাক করে। ক্রয় যুক্তিতে, যদি বর্তমান মূল্য সর্বশেষ ক্রয়ের মূল্যের নীচে থাকে * (1 - মূল্য বিচ্যুতি শতাংশ) এবং ক্রয়ের সংখ্যা সর্বাধিক ডিসিএ অর্ডারগুলিতে পৌঁছায়নি, এটি একটি ক্রয় সংকেত জারি করবে এবং ক্রয় মূল্য রেকর্ড করবে। বিক্রয় যুক্তিতে, যদি বর্তমান মূল্য সর্বশেষ ক্রয়ের মূল্যের উপরে থাকে * (1 + লাভের শতাংশ নিন), এটি একটি ট্রেইলিং স্টপ মূল্য সেট করবে। যদি দামটি সেই ট্রেইলিং স্টপ দামের উপরে উঠতে থাকে তবে ট্রেইলিং স্টপ মূল্য বর্তমান * (1 - ট্রেইলিং শতাংশ) এ আপডেট করা হয়। যদি দাম ট্রেইলিং স্টপ মূল্যের নীচে পড়ে, তবে একটি প্রাসঙ্গিক বিক্রয় সংকেত জারি করা হয়, পরবর্তী রাউন্ডের ডি
ডিসিএ এবং ট্রেলিং স্টপ লসকে একত্রিত করে খরচ গড় নিশ্চিত করতে এবং আংশিক মুনাফা লক করতে পারে যাতে ড্রডাউন এড়ানো যায়।
ঝুঁকি হ্রাস করার জন্য নমনীয় লাভ গ্রহণ এবং অনুকূল শতাংশের সাথে নমনীয় ট্রেলিং স্টপ প্রক্রিয়া।
ব্যাক-টেস্ট করা ফলাফলগুলি ক্রয় এবং হোল্ডিংয়ের চেয়ে ভাল, দীর্ঘমেয়াদী বিনিয়োগের জন্য উপযুক্ত স্থিতিশীল বার্ষিক আয় সহ।
প্রধান এক্সচেঞ্জ প্ল্যাটফর্ম জুড়ে সহজ প্রয়োগের জন্য সামঞ্জস্যযোগ্য পরামিতিগুলির সাথে বাস্তবায়ন করা সহজ।
সীমিত সংখ্যক ডিসিএ ক্রয়ের অর্থ হ্রাস বাড়তে পারে যদি বাজারের প্রবণতা দীর্ঘ সময়ের জন্য হ্রাস পায়।
দুর্বল স্টপ লস সেটিংগুলি অকাল লাভ গ্রহণ বা অপ্রত্যাশিত ক্ষতির দিকে পরিচালিত করতে পারে।
ট্রেডিং খরচ মুনাফার উপর প্রভাব ফেলতে পারে। উচ্চ ট্রেলিং স্টপ লস সেটিং ট্রেডের সংখ্যা বৃদ্ধি করে।
ঘন ঘন ডিসিএ ক্রয়ের জন্য পর্যাপ্ত মূলধন প্রয়োজন। ক্রয়ের সংখ্যা সীমাবদ্ধ করার জন্য অপর্যাপ্ত প্রাথমিক মূলধন।
নির্দিষ্ট মুনাফা অর্জনের সাথে সাথে অনুকূল ট্রেলিং স্টপগুলি বাস্তবায়ন করুন, ট্রেলিং শতাংশ হ্রাস করুন।
মুভিং এভারেজ অন্তর্ভুক্ত করুন, মূল সমর্থন এলাকার চারপাশে ক্রয়ের পরিমাণ বাড়িয়ে দিন।
মোট সম্পদের উপর ভিত্তি করে ডিসিএ পরিমাণ সংশোধন করার জন্য পুনরায় ভারসাম্য ব্যবস্থা যুক্ত করুন।
প্যারামিটার সেটিংস অপ্টিমাইজ করুন এবং বিভিন্ন হোল্ডিং সময়ের মধ্যে লাভজনকতা পরীক্ষা করুন।
এই কৌশলটি দীর্ঘ সময়ের জন্য স্থিতিশীল অ্যালগরিদমিক ট্রেডিং রিটার্নের জন্য ডিসিএ এবং ট্রেলিং স্টপকে একত্রিত করে। ব্যাকটেস্ট করা ফলাফলগুলি শক্তিশালী এবং স্থিতিশীল বৃদ্ধির দিকে মনোনিবেশকারী বিনিয়োগকারীদের জন্য উপযুক্ত। সহজ এবং পরিষ্কার কোড এটি বোঝা এবং বাস্তবায়ন করা সহজ করে তোলে। পরামিতি অপ্টিমাইজেশান এবং অতিরিক্ত সূচক অন্তর্ভুক্ত করার মাধ্যমে আরও পারফরম্যান্স লাভ অর্জন করা যেতে পারে। সামগ্রিকভাবে এটি বিনিয়োগকারীদের তুলনামূলকভাবে নিরাপদ এবং ধারাবাহিক পরিমাণযুক্ত ট্রেডিং সমাধান সরবরাহ করে।
/*backtest start: 2023-02-16 00:00:00 end: 2024-02-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Stavolt //@version=5 strategy("DCA Strategy with Trailing Take Profit", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Correctly using input to define user-configurable parameters takeProfitPercent = input.float(0.6, title="Take Profit (%)", minval=0.1, maxval=5) trailingPercent = input.float(0.1, title="Trailing Stop (%)", minval=0.05, maxval=1) maxDCAOrders = input.int(10, title="Max DCA Orders", minval=1, maxval=20) priceDeviationPercent = input.float(1.0, title="Price Deviation (%)", minval=0.5, maxval=5) var float lastBuyPrice = na var int buyCount = 0 var float initialBuyPrice = na var float trailingStopPrice = na // Strategy logic here... // Note: The detailed logic for buying and selling based on the DCA strategy // needs to be tailored to your specific requirements and tested for correctness. if (buyCount < maxDCAOrders) if (na(lastBuyPrice) or close < lastBuyPrice * (1 - priceDeviationPercent / 100)) strategy.entry("Buy", strategy.long) lastBuyPrice := close buyCount += 1 if (na(initialBuyPrice)) initialBuyPrice := close if (not na(lastBuyPrice) and close > lastBuyPrice * (1 + takeProfitPercent / 100)) if (na(trailingStopPrice) or close > trailingStopPrice) trailingStopPrice := close * (1 - trailingPercent / 100) if (close < trailingStopPrice) strategy.close("Buy") lastBuyPrice := na trailingStopPrice := na buyCount := 0 initialBuyPrice := na