মুভিং এভারেজ গতিশীল মুনাফা গ্রহণের কৌশল


সৃষ্টির তারিখ: 2023-09-18 21:46:47 অবশেষে সংশোধন করুন: 2023-09-18 21:46:47
অনুলিপি: 3 ক্লিকের সংখ্যা: 606
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটি চলমান গড়ের উপর ভিত্তি করে প্রবণতার দিকনির্দেশের উপর ভিত্তি করে তৈরি করা হয়, এটিআর বন্ধের একটি নির্দিষ্ট অনুপাতে এবং এটিআর ডায়নামিক পজিশন সামঞ্জস্যের সাথে যুক্ত। লক্ষ্যটি হ’ল ট্রেন্ডকে লাভজনক করে তোলা এবং ঝুঁকি নিয়ন্ত্রণ করা।

মূলনীতি

কৌশলটি প্রবণতার দিকনির্দেশের জন্য N দৈর্ঘ্যের একটি সরল চলমান গড় ব্যবহার করে। স্বল্পমেয়াদী এসএমএ-তে দীর্ঘমেয়াদী এসএমএ পরা হলে, অতিরিক্ত করুন; স্বল্পমেয়াদী এসএমএ-তে দীর্ঘমেয়াদী এসএমএ পরা হলে, ফাঁকা করুন।

প্রবেশের পরে, কৌশলটি এটিআর-এর একটি নির্দিষ্ট গুণককে স্টপ হিসাবে ব্যবহার করে, যেমন লং পজিশনের স্টপটি প্রবেশের মূল্য + এটিআর * ফ্যাক্টর। যখন দামটি স্টপ-অফের চেয়ে বেশি হয় তখন স্টপটি বেরিয়ে যায়।

এছাড়াও, কৌশলটি এটিআর আকারের সাথে অবস্থানের সামঞ্জস্য করে। এটিআর আকারটি বাজারের অস্থিরতার প্রতিনিধিত্ব করে, পজিশন আকারটি এটিআর-এর বিপরীত। এটিআর যত বড়, পজিশন তত ছোট।

সুবিধা

  1. চলমান গড় ব্যবহার করে ট্রেন্ডের দিকনির্দেশনা দেওয়া হয়, যা ট্রেন্ডের উপর নজরদারি করার ক্ষমতা রাখে।

  2. এটিআর স্টপ-অফ পদ্ধতিটি লাভজনক এবং বিপরীতমুখী হওয়া এড়াতে পারে।

  3. গতিশীল পজিশনের পরিবর্তন, বাজারের অস্থিরতার উপর নির্ভর করে ঝুঁকি নিয়ন্ত্রণ করা যায়।

  4. স্টপ ফ্যাক্টর এবং পজিশনের প্যারামিটার কাস্টমাইজ করা যায়।

  5. স্টপ লস এর সাথে যুক্ত হয়ে ঝুঁকি আরও সীমিত করা যায়।

ঝুঁকি ও সমাধান

  1. চলমান গড়ের বিলম্বিত প্রবেশাধিকার হতে পারে। আরো সংবেদনশীল পরামিতি পরীক্ষা করা যেতে পারে।

  2. এটিআর আকারের পরিবর্তনগুলি স্টপগুলিকে খুব ছোট বা খুব বড় করে তুলতে পারে। আপনি এটিআর গড়ের সাথে যোগ করতে পারেন তার প্রবণতা বের করতে।

  3. যদি আপনার পজিশনে খুব বেশি অস্থিরতা থাকে, তাহলে আপনার মুনাফা খুব কম প্রভাবিত হতে পারে। আপনি আপনার পজিশনের জন্য একটি নিম্ন সীমা নির্ধারণ করতে পারেন।

  4. স্টপ লস সেট না করে ক্ষতির বিস্তার ঘটানোর ঝুঁকি। আপনি একটি চলমান স্টপ লস কৌশল যোগ করতে পারেন।

  5. নিম্ন ওঠানামার সম্পদের মতো অবৈধভাবে বেছে নেওয়া সূচকগুলির জন্য, এই কৌশলটি কার্যকর হতে পারে না। উচ্চতর ওঠানামার সূচকগুলি বেছে নেওয়া উচিত।

অনুকূলিতকরণ

  1. বিভিন্ন প্যারামিটারের সমন্বয় পরীক্ষা করে সেরা প্যারামিটার খুঁজুন।

  2. পজিশন খোলার লজিক অনুকূলিতকরণ, যেমন অন্যান্য সূচক ফিল্টার যোগ করা।

  3. ডায়নামিক স্টপ এবং স্টপ লস কৌশলগুলি গবেষণা করুন যাতে স্টপ লস আরও নমনীয় হয়।

  4. পজিশন ম্যানেজমেন্টের জন্য অস্থিরতার সূচক ব্যবহার করা হয়।

  5. পুনরায় ভর্তি প্রক্রিয়াতে যোগদান করুন এবং আপনার পজিশনের মেয়াদ বাড়িয়ে দিন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 5m
basePeriod: 1m
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/
// © dongyun

//@version=4
strategy("利润目标止损的移动平均线", overlay=true)

period = input(80,'')
ptper = input(252,'')
ptfactor = input(12,'')
sizeper = input(20, '')

trend = 0.0
signal = 0
size = 1.0
investment = 100000
atrange = 0.0
ptrange = 0.0
stoph = 0.0
stopl = 0.0


if sizeper != 0
	atrange := atr(sizeper)

if atrange == 0 or sizeper == 0 
	size := 1
else
	size := investment/atrange * 0.1

trend := sma(close,period)


if signal != 1 and nz(trend[1]) < nz(trend[2]) and trend > nz(trend[1])
	strategy.entry('long',strategy.long, comment='open_long')
	signal := 1
else
    signal := nz(signal[1])
    
if signal != -1 and nz(trend[1]) > nz(trend[2]) and trend < nz(trend[1])
	strategy.entry('short',strategy.short, comment='open_short')
	signal := -1
else
    if signal == 0
        signal := nz(signal[1])

ptrange := atr(ptper)

if strategy.position_size > 0
	strategy.exit("exit_long", "long", qty = strategy.position_size, limit = close + ptfactor*ptrange , comment='trail_long') 
else
	if strategy.position_size < 0
		strategy.exit("exit_short", "short", qty = abs(strategy.position_size), limit = close - ptfactor*ptrange, comment='trail_short')