ডাবল মুভিং এভারেজ ক্রসওভার কৌশল সহ শ্যাফ ট্রেন্ড চক্র

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

img

সারসংক্ষেপ

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

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

কৌশলটি মূলত দুটি প্রযুক্তিগত সূচকের উপর ভিত্তি করেঃ

  1. প্রবণতা সূচকঃ প্রবণতা দিক নির্ধারণের জন্য এসটিসি সূচক। এসটিসিতে এমএসিডি, স্টোকাস্টিক এবং এসটিসি সূচক লাইন অন্তর্ভুক্ত রয়েছে। 0-25 অঞ্চল থেকে একটি ঊর্ধ্বমুখী ব্রেকআউট একটি উত্থান প্রবণতা সংকেত দেয়, যখন 75-100 অঞ্চল থেকে একটি নিম্নমুখী ব্রেকআউট একটি bearish প্রবণতা সংকেত দেয়।

  2. চলমান গড় ক্রসওভারঃ দ্রুত সরল চলমান গড় (ডিফল্ট সময়কাল 35) ধীর এসএমএ (ডিফল্ট সময়কাল 200) এর উপরে / নীচে অতিক্রম করে। যখন দ্রুত এসএমএ ধীর এসএমএ এর উপরে অতিক্রম করে তখন একটি উত্থান সংকেত সক্রিয় হয়। বিপরীত ক্রসওভারে একটি হ্রাস সংকেত সক্রিয় হয়।

ট্রেডিং সিগন্যাল লজিক নিম্নরূপ সংজ্ঞায়িত করা হয়েছেঃ

  1. লং সিগন্যালঃ এসটিসি 25 লাইনের উপরে ভেঙে যায়, দ্রুত এসএমএ ধীর এসএমএর উপরে থাকে এবং বন্ধ মূল্য দ্রুত এসএমএর উপরে থাকে।

  2. সংক্ষিপ্ত সংকেতঃ এসটিসি ৭৫ লাইনের নিচে ভেঙে যায়, দ্রুত এসএমএ ধীর এসএমএর নিচে থাকে এবং বন্ধের মূল্য দ্রুত এসএমএর নিচে থাকে।

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

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. প্রবণতা এবং চলমান গড় সূচকগুলির সংমিশ্রণ থেকে নির্ভরযোগ্য ট্রেডিং সংকেত। এসটিসি সামগ্রিক প্রবণতা নির্ধারণ করে, যখন ডাবল এমএ নির্দিষ্ট প্রবেশ সংকেত তৈরি করে।

  2. কাস্টমাইজযোগ্য চলমান গড় সময়কাল। বিভিন্ন বাজারের অবস্থার জন্য এমএ সময়কাল অপ্টিমাইজ করা যেতে পারে।

  3. নিয়ন্ত্রণযোগ্য ঝুঁকি। এসটিসি ওভারকুপ/ওভারসোল্ড স্তরগুলি চিহ্নিত করে যাতে শীর্ষগুলি কেনা এবং নীচে বিক্রি করা এড়ানো যায়। লক্ষ্য স্টপগুলি 400 পয়েন্ট লাভ / ক্ষতি পরিসীমা সেট করে।

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

কিছু ঝুঁকি বিবেচনা করা উচিতঃ

  1. এসটিসির ভুয়া ব্রেকআউটের সম্ভাবনা আছে।

  2. এমএ ক্রস থেকে আরো মিথ্যা সংকেত।

  3. শুধুমাত্র এক সময়ে এক দিকের ট্রেডিং. খোলা পজিশনের জন্য স্থান সীমিত. দ্বিমুখী ট্রেডিং অনুমতি বিবেচনা করুন.

  4. মার্জিন ফরেক্স ট্রেডিংয়ে স্প্রেড ঝুঁকি নিয়ে কোনো ব্যবস্থা নেই। লাইভ ট্রেডিংয়ে স্প্রেড যথেষ্ট হতে পারে।

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

সম্ভাব্য অপ্টিমাইজেশান পথগুলির মধ্যে রয়েছেঃ

  1. STC overbought/oversold পরামিতিগুলি সামঞ্জস্য করুন।

  2. ক্রসওভার সিগন্যালের নির্ভরযোগ্যতা উন্নত করতে এমএ সময়কালকে অপ্টিমাইজ করুন।

  3. বোলিংজার ব্যান্ডের মত অতিরিক্ত ফিল্টার যোগ করুন যাতে মিথ্যা ব্রেকআউট ট্রেড কম হয়।

  4. উৎপাদন ক্ষমতা বৃদ্ধির জন্য দ্বি-দিকের ট্রেডিং লজিক বাস্তবায়ন করা।

  5. ট্রেড প্রতি ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস লজিক যোগ করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Shaff Trend Cycle coded by Alex Orekhov (everget)
// Strategy and its additional conditions provided by greenmask
// Schaff Trend Cycle script may be freely distributed under the MIT license.
strategy("STC", shorttitle="STC")

fastLength = input(title="MACD Fast Length", type=input.integer, defval=23)
slowLength = input(title="MACD Slow Length", type=input.integer, defval=50)
cycleLength = input(title="Cycle Length", type=input.integer, defval=10)
d1Length = input(title="1st %D Length", type=input.integer, defval=3)
d2Length = input(title="2nd %D Length", type=input.integer, defval=3)
src = close
highlightBreakouts = input(title="Highlight Breakouts ?", type=input.bool, defval=true)

macd = ema(src, fastLength) - ema(src, slowLength)
k = nz(fixnan(stoch(macd, macd, macd, cycleLength)))
d = ema(k, d1Length)
kd = nz(fixnan(stoch(d, d, d, cycleLength)))
stc = ema(kd, d2Length)
stc := 	stc > 100 ? 100 : stc < 0 ? 0 : stc
stcColor = not highlightBreakouts ? (stc > stc[1] ? color.green : color.red) : #ff3013
stcPlot = plot(stc, title="STC", color=stcColor, transp=0)
upper = 75
lower = 25
transparent = color.new(color.white, 100)
upperLevel = plot(upper, title="Upper", color=color.gray)
hline(50, title="Middle", linestyle=hline.style_dotted)
lowerLevel = plot(lower, title="Lower", color=color.gray)

fill(upperLevel, lowerLevel, color=#f9cb9c, transp=90)

upperFillColor = stc > upper and highlightBreakouts ? color.green : transparent
lowerFillColor = stc < lower and highlightBreakouts ? color.red : transparent

fill(upperLevel, stcPlot, color=upperFillColor, transp=80)
fill(lowerLevel, stcPlot, color=lowerFillColor, transp=80)
strategy.initial_capital = 50000
ordersize=floor(strategy.initial_capital/close)
targetvalue = input(title="Target/stop", type=input.integer, defval=400)

ma1length = input(title="SMA1", type=input.integer, defval=35)
ma2length = input(title="SMA2", type=input.integer, defval=200)
ma1 = ema(close,ma1length)
ma2 = ema(close,ma2length)

bullbuy = crossover(stc, lower) and ma1>ma2 and close>ma1
bearsell = crossunder(stc, upper) and ma1<ma2 and close<ma1

if (bullbuy)
    strategy.entry("Riposte", strategy.long, ordersize)
    strategy.exit( "Riposte close", from_entry="Riposte", qty_percent=100, profit=targetvalue,loss=targetvalue)

if (bearsell)
    strategy.entry("Riposte", strategy.short, ordersize)
    strategy.exit( "Riposte close", from_entry="Riposte", qty_percent=100, profit=targetvalue,loss=targetvalue)

//plotshape(bullbuy,  title= "Purple", location=location.belowbar, color=#006600, transp=0, style=shape.circle, size=size.tiny, text="Riposte")
//plotshape(bearsell,  title= "Purple", location=location.abovebar, color=#006600, transp=0, style=shape.circle, size=size.tiny, text="Riposte")
















আরো