একাধিক শতাংশ মুনাফা প্রস্থান কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-০১ ১৫ঃ২২ঃ২৯
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি একাধিক শতাংশ মুনাফা প্রস্থান সেট করার কার্যকারিতা বাস্তবায়ন করে। কৌশলটি প্রথমে অবস্থানগুলিতে প্রবেশের জন্য দীর্ঘ এবং সংক্ষিপ্ত শর্তগুলি বিচার করে। এটি তারপরে শতাংশগুলিকে মূল্য টিকগুলিতে রূপান্তর করতে একটি কাস্টম শতাংশঅ্যাসপয়েন্ট ফাংশন ব্যবহার করে। প্রোগ্রামটি কনফিগারেশনের উপর ভিত্তি করে 1%, 2%, 3% এবং 4% এর মুনাফা শতাংশ সহ 4 টি প্রস্থান সেট করে এবং একটি সাধারণ 2% স্টপ লস প্রস্থানও সেট করে। এটি একাধিক শতাংশ মুনাফা প্রস্থান প্রভাব অর্জন করে।

কৌশলগত যুক্তি

এই কৌশলটির মূল যুক্তি হ'ল এন্ট্রিগুলি নির্ধারণের জন্য এসএমএ ক্রসওভার ব্যবহার করা। বিশেষত, যখন দ্রুত এসএমএ (14) ধীর এসএমএ (28) এর উপরে অতিক্রম করে, তখন এটি দীর্ঘ হবে। যখন দ্রুত এসএমএ (14) ধীর এসএমএ (28) এর নীচে অতিক্রম করে, তখন এটি শর্ট হবে।

তারপর কিভাবে একাধিক শতাংশ মুনাফা প্রস্থান সেট করবেন? এখানে একটি কাস্টম শতাংশAsPoints ফাংশন শতাংশকে মূল্য টিকগুলিতে রূপান্তর করতে ব্যবহৃত হয়। যুক্তি হলঃ

percentAsPoints(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) 

যদি পজিশনের আকার 0 না হয়, তাহলে এটি মূল্যের টিকগুলি শতাংশ দ্বারা গুণিত গড় প্রবেশ মূল্য দ্বারা এবং সর্বনিম্ন টিক আকার দ্বারা বিভক্ত করে গণনা করে। যদি পজিশনের আকার 0 হয় তবে এটি na প্রদান করে।

এই ফাংশন দিয়ে, আমরা সহজেই শতাংশকে টিকগুলিতে রূপান্তর করতে পারি। তারপর প্রোগ্রামটি 1%, 2%, 3% এবং 4% এর মুনাফা শতাংশের উপর ভিত্তি করে 4 টি প্রস্থান সেট করেঃ

lossPnt = percentAsPoints(2)

strategy.exit("x1", qty_percent = 25, profit = percentAsPoints(1), loss = lossPnt)   

strategy.exit("x2", qty_percent = 25, profit = percentAsPoints(2), loss = lossPnt)

strategy.exit("x3", qty_percent = 25, profit = percentAsPoints(3), loss = lossPnt)  

strategy.exit("x4", profit = percentAsPoints(4), loss = lossPnt)

এছাড়াও সমস্ত প্রস্থানগুলির জন্য একটি সাধারণ 2% স্টপ লস ব্যবহার করা হয়। এটি একাধিক শতাংশ মুনাফা প্রস্থানগুলির প্রভাব অর্জন করে।

সুবিধা বিশ্লেষণ

এই একাধিক শতাংশ মুনাফা প্রস্থান কৌশল নিম্নলিখিত সুবিধা আছেঃ

  1. এটি ধাপে ধাপে মুনাফা গ্রহণের অনুমতি দেয়, বৃহত্তর মুনাফা হারাতে এড়ানো। সাধারণত পরে প্রস্থানগুলি বৃহত্তর মুনাফা লক্ষ্যমাত্রা এবং উচ্চ ঝুঁকি রয়েছে এবং এই কৌশলটি ঝুঁকি এবং রিটার্নকে ভারসাম্য করে।

  2. ব্যাচে বেরিয়ে যাওয়া মূলধন পুনরুদ্ধার করতে সক্ষম করে, ঝুঁকি হ্রাস করে। উদাহরণস্বরূপ, 25% ব্যাচের আকারের সাথে, 1% মুনাফা মূলধনের 1/4 ফেরত দিতে পারে এবং পরবর্তী অবস্থানগুলি সমস্ত খাঁটি মুনাফায় হয়।

  3. ২% স্টপ লস, বাজারের অস্বাভাবিক গতিতে চরম ক্ষতি রোধ করে।

  4. বাস্তবায়নটি সহজ এবং পরিষ্কার, বোঝা এবং সংশোধন করা সহজ। কাস্টম শতাংশ রূপান্তর ফাংশন কয়েকটি কোড লাইনে একাধিক প্রস্থান সেট করতে সক্ষম করে।

ঝুঁকি বিশ্লেষণ

এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ

  1. শতাংশ প্রস্থানগুলি পাশের দিকে অস্থিরতার কারণ হতে পারে, দামগুলি প্রস্থান মূল্যের চারপাশে দোলায়, ঘন ঘন প্রস্থানগুলিকে ট্রিগার করে। এটি বাণিজ্যের ঘনত্ব এবং কমিশন ব্যয় বৃদ্ধি করে।

  2. ব্যাচ আউটপুট ট্রেড এবং কমিশন সংখ্যা বৃদ্ধি করে। উচ্চ কমিশন আউটপুট মুনাফা কিছু মুছে ফেলতে পারে।

  3. অপ্রয়োজনীয় প্রস্থান পজিশনিংও রিটার্নকে প্রভাবিত করতে পারে। অত্যধিক সংরক্ষণশীল প্রস্থানগুলি অপর্যাপ্ত লাভের দিকে পরিচালিত করতে পারে, যখন খুব আক্রমণাত্মক প্রস্থানগুলি উচ্চ ঝুঁকিপূর্ণ।

  4. নির্দিষ্ট শতাংশের প্রস্থানগুলি বাজারের অস্থিরতা এবং প্রবণতা বিবেচনা করে না। অস্থির বাজারে ছোট প্রস্থানগুলি ব্যবহার করা উচিত, যখন প্রবণতা বাজারে বৃহত্তর প্রস্থানগুলি লক্ষ্য করা উচিত।

অপ্টিমাইজেশান নির্দেশাবলী

উপরোক্ত ঝুঁকিগুলি বিবেচনা করে, নিম্নলিখিত দিকগুলিতে আরও অপ্টিমাইজেশন করা যেতে পারেঃ

  1. বাজারের অস্থিরতা এবং শক্তির উপর ভিত্তি করে অনুকূলিতকরণের জন্য এটিআর প্রস্থানগুলির মতো পদ্ধতি ব্যবহার করে প্রস্থানগুলি অনুকূল করুন। অস্থির বাজারে আরও সংকীর্ণ প্রস্থান এবং শক্তিশালী প্রবণতাগুলিতে বৃহত্তর প্রস্থান।

  2. সর্বোত্তম ঝুঁকি-ফেরত সমন্বয় খুঁজে পেতে ব্যাচ শতাংশ এবং পরিসীমা অপ্টিমাইজ করুন। সেরা পরামিতি খুঁজে পেতে পরামিতি অপ্টিমাইজেশন যোগ করুন।

  3. অতিরিক্ত ট্রেডিং এড়ানোর জন্য প্রস্থান সংখ্যা হ্রাস করুন। উদাহরণস্বরূপ একটি মূল্য বাফার জোন সেট করুন, নির্দিষ্ট মূল্যের গতি অতিক্রম করার পরে কেবল প্রস্থান করুন।

  4. কমিশন ফ্যাক্টর বিবেচনা করুন, যেখানে প্রত্যাশিত মুনাফা কমিশন খরচ হয় সেখানে প্রস্থান এড়িয়ে চলুন। অথবা কমিশন ভিত্তিক শতাংশ অপ্টিমাইজ করুন।

  5. সরে যাওয়া দামের পরিবর্তে গভীরতার ভিত্তিতে অর্ডার বইয়ের প্রস্থানগুলি ব্যবহার করুন। গভীরতার অগ্রাধিকারের ভিত্তিতে সেরা বিড / জিজ্ঞাসা মূল্য ব্যবহার করে প্রস্থান করুন।

সংক্ষিপ্তসার

এই কৌশলটি একাধিক শতাংশ মুনাফা প্রস্থানগুলির প্রভাব অর্জন করে, 1%, 2%, 3% এবং 4% এ 4 টি প্রস্থান সহ, ধীরে ধীরে লাভজনক প্রস্থানগুলিকে অনুমতি দেয় এবং চরম সরঞ্জামগুলিতে বিশাল ক্ষতি রোধ করতে 2% স্টপ লস ব্যবহার করে। এটি ঝুঁকি এবং রিটার্নগুলি ভারসাম্য করে এবং আরও লাভের হাতছাড়া রোধ করে। তবে কিছু ঝুঁকি রয়েছে যেমন চপলতা এবং উচ্চতর বাণিজ্য ফ্রিকোয়েন্সি। সরবরাহিত অপ্টিমাইজেশন পরামর্শগুলি কৌশলটিতে অন্তর্ভুক্ত করার সময় আরও বেশি বাজারের অবস্থার মধ্যে পারফরম্যান্স উন্নত করতে সহায়তা করতে পারে।


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 3h
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/
// © adolgov

//@version=4
strategy("Multiple %% profit exits example", overlay=false, default_qty_value = 10)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

percentAsPoints(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)

lossPnt = percentAsPoints(2)

strategy.exit("x1", qty_percent = 25, profit = percentAsPoints(1), loss = lossPnt)
strategy.exit("x2", qty_percent = 25, profit = percentAsPoints(2), loss = lossPnt)
strategy.exit("x3", qty_percent = 25, profit = percentAsPoints(3), loss = lossPnt)
strategy.exit("x4", profit = percentAsPoints(4), loss = lossPnt)

profitPercent(price) =>
    posSign = strategy.position_size > 0 ? 1 : strategy.position_size < 0 ? -1 : 0
    (price - strategy.position_avg_price) / strategy.position_avg_price * posSign * 100

p1 = plot(profitPercent(high), style=plot.style_linebr, title = "open profit % upper bound")
p2 = plot(profitPercent(low), style=plot.style_linebr, title = "open profit % lower bound")
fill(p1, p2, color = color.red)

আরো