কার্যকর পরিমাণ ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি মূলত 5 দিনের আরএসআই সূচক এবং 200 দিনের চলমান গড়কে একত্রিত করে ট্রেডিং সিদ্ধান্তের সংকেত তৈরি করে, যা প্রযুক্তিগত সূচক সংমিশ্রণ কৌশলটির অন্তর্গত। এর মূল ট্রেডিং নীতিটি হ'লঃ যখন দাম ওভারবয়ড / ওভারসোল্ড অঞ্চলে চলে যায়, তখন এটি বিক্রয়ের সংকেত দেয়; যখন দাম ওভারসোল্ড অঞ্চলে পড়ে, তখন এটি কেনার সংকেত দেয়। এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল কৌশল সংকেত তুলনামূলকভাবে স্পষ্ট এবং পুনরুদ্ধারের ঝুঁকি তুলনামূলকভাবে ছোট। তবে কেবলমাত্র একটি প্রযুক্তিগত সূচক সংমিশ্রণের ভিত্তিতে ট্রেডিং সিদ্ধান্ত গঠনে সীমাবদ্ধতা রয়েছে, যা বহু-ফ্যাক্টর মডেল এবং মেশিন লার্নিং অ্যালগরিদমের মাধ্যমে অনুকূলিত করা যেতে পারে।

কৌশল নীতি

এই কৌশলটি মূলত ৫ দিনের RSI ইন্ডিকেটর এবং ২০০ দিনের চলমান গড়কে একত্রিত করে যেখানে দাম চলছে সেখানে ওভারকুপ/ওভারসোল্ড এলাকা নির্ধারণ করে এবং ট্রেডিং সিদ্ধান্ত গঠন করেঃ

  1. ৫ দিনের আরএসআই সূচকটি ওভারকুপেড/ওভারসোল্ড এলাকা যেখানে দাম চলছে তা বিচার করে। ওভারকুপেড লাইনটি 72 এ সেট করা হয় এবং ওভারসোল্ড এলাকাটি 30। যখন আরএসআই সূচকটি নীচে থেকে উপরে 30 এর মধ্য দিয়ে যায়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন আরএসআই সূচকটি উপরে থেকে নীচে 72 এর নীচে পড়ে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

  2. 200 দিনের চলমান গড় মধ্যম থেকে দীর্ঘমেয়াদী প্রবণতার দিক নির্ধারণ করে। যখন মূল্য 200 দিনের চলমান গড়ের নীচে থাকে, তখন এটি মূল্যের একটি নেমে যাওয়া ফেজ; যখন মূল্য 200 দিনের চলমান গড়ের উপরে থাকে, তখন এটি মূল্যের একটি উত্থান ফেজ।

  3. 1 এবং 2 রায়কে একত্রিত করে, এই কৌশলটি বিক্রি করে যখন 5 দিনের RSI সূচকটি অতিরিক্ত ক্রয় করা হয় এবং 72 এর নীচে ভেঙে যায় এবং 5 দিনের RSI 30 এর নীচে ভেঙে যায় এবং দাম 200 দিনের চলমান গড়ের নীচে থাকে।

কৌশলটির সুবিধা

  1. কৌশল সংকেতটি তুলনামূলকভাবে স্পষ্ট, র্যাপিড ইনডিকেটর ব্যবহার করে বিচার এলাকার দ্বারা অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় সংকেত নির্ধারণ করা হয়।

  2. বিপরীতমুখী অপারেশন এড়াতে ২০০ দিনের চলমান গড় মূল প্রবণতার দিক নির্ধারণ করে।

  3. ঝুঁকি নিয়ন্ত্রণে সহায়তা করার জন্য সর্বোচ্চ সংখ্যক পজিশন সেট করা যেতে পারে।

  4. এই কৌশলটিতে প্যারামিটার অপ্টিমাইজেশান, সামঞ্জস্যযোগ্য আরএসআই প্যারামিটার এবং চলমান গড় প্যারামিটারগুলির জন্য প্রচুর জায়গা রয়েছে।

  5. তুলনামূলকভাবে ছোট রিট্র্যাক্সিং ঝুঁকি কার্যকরভাবে কৌশলটির সর্বাধিক রিট্র্যাক্সিং নিয়ন্ত্রণ করতে পারে।

কৌশলটির ঝুঁকি

  1. শুধুমাত্র আরএসআই এবং চলমান গড় সূচক ব্যবহার করে, কৌশল সংকেত অস্থির হতে পারে, অস্থির বাজারে দীর্ঘ এবং স্বল্পকালীন হ্রাসের ঝুঁকি রয়েছে।

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

  3. কৌশল সংকেত অপ্টিমাইজ করার জন্য অন্যান্য সূচক বা মডেল প্রবর্তন করা যেতে পারে। যেমন অস্থিরতা সূচক প্রবর্তন, মেশিন লার্নিং রায়, ইত্যাদি।

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

  1. বিচার করার জন্য আরো সূচক সমন্বয় ব্যবহার করুন। যেমন MACD, KD, অস্থিরতা সূচক ইত্যাদি।

  2. মেশিন লার্নিং মডেলের বিচার বৃদ্ধি করুন। যেমন LSTM ট্রেডিং সিগন্যালের স্থিতিশীলতা বিচার করতে।

  3. পরিমাণগত কারণগুলি বৃদ্ধি করুন যেমন ট্রেডিং ভলিউমের পরিবর্তন, মূলধন প্রবাহের দিকনির্দেশ এবং মূলধন কারণগুলির অন্যান্য বিচার।

  4. কৌশলগত প্যারামিটারগুলি অপ্টিমাইজ করুন যেমন আরএসআই প্যারামিটার, চলমান গড় প্যারামিটার ইত্যাদি।

  5. স্টপ লস প্রক্রিয়া অপ্টিমাইজ করুন যেমন স্টপ লস, টাইম স্টপ লস ইত্যাদি।

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

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


/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 3m
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/
// ©chewyScripts.

//@version=5
strategy("96er RSI+200EMA Strategy + Alerts", overlay=true)
// This works best on a small account $100, with 50% of equity and up to 10 max open trades. 
// 96% Profitable, turns $100 into $350 in 1 month. very few losses. super happy with it.
// So far it triples the account on a 1m chart in 1 month back testing on the SEI-USD pair.
// I did not test on FX pairs or other instruments.
// had some issues with the inputs not working so had to hard code some, also the lastClose var sometimes breaks and starts following every candle, not sure why.

in_r1 = input.int(5,"5 day input or RSI1")
in_openOrders = input.int(3,"max open orders")

in_lowerRSI = input.int(30,"RSI Lower")
in_upperRSI = input.int(72,"RSI Upper ")

in_emaperiod = input.int(200,"EMA Period")

in_buybreakout = input.int(50,"Buy breakout range")

in_buyTP = input.float(1.05,"Buy TP: 1+TP %, .05 seems to work well.")
in_sellTP = input.float(0.9850, "Sell TP: 1-TP%. .025 seems to work well. ")

simple int rsi5 = in_r1

// 3 rsi strategy , when all of them are overbought we sell, and vice versa
rsi7 = ta.rsi(close,rsi5)
lastClose = request.security(syminfo.tickerid, "D", close, lookahead = barmerge.lookahead_on)
rsi3 = ta.rsi(close[5],rsi5)

ma = ta.ema(close,in_emaperiod)

plot(rsi7,"5 Day RSI",color.red)
plot(lastClose,"Yesterdays Close",color.green)
plot(rsi3,"Previous 5th candles RSI",color.purple)


// sell condition
//sell = ta.crossunder(rsi7,70) and ta.crossunder(rsi14,70) and ta.crossunder(rsi21,70)

//buy condition
//buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and rsi3 <= in_upperRSI and strategy.opentrades < in_openOrders
//sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and rsi3 >= in_lowerRSI3 and strategy.opentrades < in_openOrders

buy = ta.crossover(rsi7,in_lowerRSI) and close < ma and close < lastClose and strategy.opentrades < in_openOrders
sell = ta.crossunder(rsi7,in_upperRSI) and close > ma and close > lastClose and strategy.opentrades < in_openOrders


var lastBuy = close 
var lastSell = close 

if (buy)
    strategy.entry("BUY", strategy.long)
    lastBuy := close 
    alert("Buy")

if ((close >= lastBuy*in_buyTP ) or rsi7 > in_buybreakout and close >= lastClose and (close >= lastClose*in_buyTP or close >= lastBuy*in_buyTP ) )
    strategy.close("BUY", "BUY Exit")
    alert("Buy Exit")
    
if (sell)
    strategy.entry("SELL", strategy.short)
    lastSell := close 
    alert("Sell")

if ( close < ma and (close <= lastSell*in_sellTP ) or (close < lastClose*in_sellTP) )
    strategy.close("SELL", "Sell Exit")
    alert("Sell Exit")


আরো