দৃঢ় এবং নির্ভরযোগ্য SMA মুভিং এভারেজ পজিশন কৌশল


সৃষ্টির তারিখ: 2023-12-18 17:44:16 অবশেষে সংশোধন করুন: 2023-12-18 17:44:16
অনুলিপি: 0 ক্লিকের সংখ্যা: 627
1
ফোকাস
1621
অনুসারী

দৃঢ় এবং নির্ভরযোগ্য SMA মুভিং এভারেজ পজিশন কৌশল

ওভারভিউ

এই কৌশলটি একটি সহজ অবস্থান-ধারণের কৌশল যা এসএমএ গড়ের উপর ভিত্তি করে। যখন স্বল্পমেয়াদী এসএমএ লাইনটি দীর্ঘমেয়াদী এসএমএ লাইনটি অতিক্রম করে, তখন অতিরিক্ত অবস্থান খুলুন; যখন স্বল্পমেয়াদী এসএমএ লাইনটি দীর্ঘমেয়াদী এসএমএ লাইনটি অতিক্রম করে, তখন প্লেইন করুন।

কৌশল নীতি

এই কৌশলটি দুটি এসএমএ গড় লাইন ব্যবহার করে, একটি স্বল্পমেয়াদী 20 দিনের লাইন এবং একটি দীর্ঘমেয়াদী 50 দিনের লাইন। স্বল্পমেয়াদী লাইনটি দামের পরিবর্তনের প্রবণতাকে আরও দ্রুত ক্যাপচার করতে পারে এবং দীর্ঘমেয়াদী লাইনটি স্বল্পমেয়াদী গোলমালকে ফিল্টার করে। যখন স্বল্পমেয়াদী দ্রুত উত্থান দীর্ঘমেয়াদী গড় লাইনকে ছাড়িয়ে যায়, তখন এটি নির্দেশ করে যে বাজারটি দীর্ঘমেয়াদী উত্থান শুরু করতে পারে, তখন অতিরিক্ত অবস্থান খোলার জন্য। যখন স্বল্পমেয়াদী দীর্ঘমেয়াদী গড়ের নীচে নেমে আসে, তখন এটি নির্দেশ করে যে উত্থান প্রবণতা শেষ হতে পারে, তখন পজিশনটি সমতল।

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

সামর্থ্য বিশ্লেষণ

এই কৌশলটির সুবিধাগুলো হলঃ

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

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

এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ

  1. দীর্ঘমেয়াদী অস্থিরতার সময় স্টপ লস বেশি হতে পারে
  2. এসএমএ গড়টি পিছিয়ে আছে এবং দামের পরিবর্তনগুলিকে সময়মতো ধরতে পারে না
  3. স্বল্পমেয়াদী উত্থান-পতনের মুনাফা অর্জনের অক্ষমতা
  4. একক ক্ষতির মাত্রা নিয়ন্ত্রণ করা যায় না

অপ্টিমাইজেশান দিক

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকেও উন্নত করা যেতে পারেঃ

  1. অস্থিরতার মধ্যে ক্ষতি হ্রাস করার জন্য ম্যাকড সূচকগুলিকে নীচের দিকে ফিরে যাওয়ার সময় যোগ করুন
  2. বিভিন্ন প্যারামিটারের এসএমএ গড়রেখার সমন্বয় পরীক্ষা করে সর্বোত্তম প্যারামিটার খুঁজুন
  3. দেশীয় সূচকগুলি ট্রেন্ডের বিপরীতে অবস্থানের সঠিকতা বাড়ানোর জন্য যুক্ত করা হয়েছে
  4. স্টপ লস কৌশল বাড়ানো, একক লস নিয়ন্ত্রণ করা

সারসংক্ষেপ

সামগ্রিকভাবে, এই এসএমএ গড় অবস্থান কৌশলটি স্থিতিশীল, সহজ, সহজেই পরিচালনা করা যায় এবং নতুনদের জন্য উপযুক্ত। পরিমাণগত ব্যবসায়ের ক্রমাগত বিকাশের সাথে সাথে এই কৌশলটি আরও সূচক এবং প্রযুক্তিগত উপায়ে অপ্টিমাইজ করা যেতে পারে, যার ফলে আরও ভাল ফলাফল পাওয়া যায়।

কৌশল সোর্স কোড
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Zlema Strateg Long 5m', overlay=true )

// FUNCTIONS

Atr(p) =>
    atr = 0.
    Tr = math.max(high - low, math.max(math.abs(high - close[1]), math.abs(low - close[1])))
    atr := nz(atr[1] + (Tr - atr[1]) / p, Tr)
    atr

// ZLEMA
length = input(title='Length', defval=14)
highlightMovements = input(title='Highlight Movements ?', defval=true)
src = input(title='Source', defval=close)

lag = math.floor((length - 1) / 2)

zlema = ta.ema(src + src - src[lag], length)

zlemaColor = highlightMovements ? zlema > zlema[1] ? color.green : color.red : #6d1e7f
plot(zlema, title='ZLEMA', linewidth=2, color=zlemaColor, transp=0)


// TAKE PROFIT AND STOP LOSS
long_tp1_inp = input.float(1, title='Long Take Profit 1 %', step=0.1) / 100
long_tp1_qty = input.int(10, title='Long Take Profit 1 Qty', step=1)

long_tp2_inp = input.float(5, title='Long Take Profit 2%', step=0.1) / 100
long_tp2_qty = input.int(50, title='Long Take Profit 2 Qty', step=1)

long_take_level_1 = strategy.position_avg_price * (1 + long_tp1_inp)
long_take_level_2 = strategy.position_avg_price * (1 + long_tp2_inp)




// Stop Loss
multiplier = input.float(2.2, 'SL Mutiplier', minval=1, step=0.1)
ATR_period = input.int(17, 'ATR period', minval=1, step=1)

// Strategy
entry_long = zlema > zlema[1]
entry_price_long = ta.valuewhen(entry_long, close, 0)
SL_floating_long = entry_price_long - multiplier * Atr(ATR_period)
exit_long = zlema < zlema[1]

///// BACKTEST PERIOD ///////
testStartYear = input(2022, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

testStopYear = input(9999, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(31, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false

if testPeriod()
    strategy.entry('long', strategy.long, comment='Long', when=entry_long)
    strategy.exit('TP1', 'long', qty_percent=long_tp1_qty, limit=long_take_level_1)  //, trail_points=entry_price_long * long_trailing / syminfo.mintick, trail_offset=entry_price_long * long_trailing / syminfo.mintick)
    strategy.exit('TP2', qty_percent=long_tp2_qty, limit=long_take_level_2)  //, trail_points=entry_price_long * long_trailing / syminfo.mintick, trail_offset=entry_price_long * long_trailing / syminfo.mintick)
    strategy.close('long', when=exit_long, comment='exit long')


// LONG POSITION
plot(strategy.position_size > 0 ? long_take_level_1 : na, style=plot.style_linebr, color=color.new(color.green, 0), linewidth=1, title='1st Long Take Profit')
plot(strategy.position_size > 0 ? long_take_level_2 : na, style=plot.style_linebr, color=color.new(color.green, 0), linewidth=1, title='2nd Long Take Profit')
plot(strategy.position_size > 0 ? SL_floating_long : na, style=plot.style_linebr, color=color.new(color.red, 0), linewidth=1, title='Long Stop Loss')


if testPeriod()
    strategy.entry('long', strategy.long, comment='Long', when=entry_long)


// LONG POSITIONplot(strategy.position_size > 0 ? SL_floating_long : na, style=plot.style_linebr, color=color.new(color.red, 0), linewidth=1, title='Long Stop Loss')