এই কৌশলটি একটি মাল্টি-ফ্যাক্টর চালিত পরিমাণগত ট্রেডিং কৌশল বাস্তবায়নের জন্য গতিশীল আরএসআই, সিসিআই এবং একাধিক এমএ চলমান গড়কে একত্রিত করে। কৌশলটি বিচার এবং ট্রেডিং সংকেত উত্পন্ন করার জন্য প্রবণতা, অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় হিসাবে একাধিক মাত্রা বিবেচনা করে।
ক্রয় সংকেতঃ এমএ১২ এমএ২৬-এর উপরে, সিসিআই ১০০-এর নিচে (ওভারসোল্ড), স্টক কেডিজে ৮০-এর নিচে (ওভারসোল্ড)
বিক্রয় সংকেতঃ আরএসআই গতিশীল প্রান্তিকের নিচে অতিক্রম করে, স্টক কেডিজে ৮০ এর উপরে (অভারকোপেড)
এই কৌশলটি ভাল ফলাফল অর্জনের জন্য একাধিক প্রযুক্তিগত সূচক এবং মাল্টি-ফ্যাক্টর চালিত রায়গুলি প্যারামিটার টিউনিং এবং পরিসংখ্যানগত বৈধতার সাথে একত্রিত করে। তবে উচ্চতর জটিলতা, ওভারফিটিং রোধ করার প্রয়োজন এবং সর্বাধিক ড্রাউনডাউন হ্রাস করার জন্য অবস্থান আকার নিয়ন্ত্রণ এবং স্টপ লস নিয়ন্ত্রণ করতে পারে। পণ্য এবং সময়সীমা জুড়ে কৌশলটি আরও প্রসারিত করতে পারে।
/*backtest start: 2023-11-19 00:00:00 end: 2023-11-26 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="ATOM2.0", shorttitle="ATOM V2.0", overlay=false, default_qty_type=strategy.cash, currency=currency.USD, initial_capital=200, default_qty_type=strategy.cash, default_qty_value=100, pyramiding=10) // Set Parameter MA12 len12 = input(12, minval=1, title="Length") src12 = input(close, title="Source") ma12 = sma(src12, len12) //plot(ma12, color=color.blue, title="MA12") // Set Parameter MA26 len26 = input(26, minval=1, title="Length") src26 = input(close, title="Source") ma26 = sma(src26, len26) //plot(ma26, color=color.orange, title="MA12") //Stochastic RSI 14,3,3 smoothK_1 = input(3, minval=1) smoothD_1 = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src_1 = input(close, title="RSI Source_1") rsi1 = rsi(src_1, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK_1) d = sma(k, smoothD_1) //plot(k, color=color.red) //plot(d, color=color.yellow) //Stochastic RSI 5,4,3 smoothK_2 = input(4, minval=1) smoothD_2 = input(3, minval=1) lengthRSI_2 = input(5, minval=1) lengthStoch_2 = input(5, minval=1) src_2 = input(close, title="RSI Source_2") rsi2 = rsi(src_2, lengthRSI_2) k_2 = sma(stoch(rsi2, rsi2, rsi2, lengthStoch_2), smoothK_2) d_2 = sma(k_2, smoothD_2) //plot(k_2, color=color.white) //plot(d_2, color=color.green) // CCI cci = cci(close,26) //plot(cci,color=color.blue) // Dynamic RSI DZbuy = 0.1 DZsell = 0.1 Period = 14 Lb = 60 RSILine = rsi(close,Period) jh = highest(RSILine, Lb) jl = lowest(RSILine, Lb) jc = (wma((jh-jl)*0.5,Period) + wma(jl,Period)) Hiline = jh - jc * DZbuy Loline = jl + jc * DZsell R = (4 * RSILine + 3 * RSILine[1] + 2 * RSILine[2] + RSILine[3] ) / 10 plot(R, title='R', color=color.white, linewidth=1, transp=0) plot(Hiline, title='Hiline', color=color.yellow, linewidth=1, transp=0) plot(Loline, title='Loline', color=color.yellow, linewidth=1, transp=0) plot(jc, title='Jc', color=color.purple, linewidth=1, transp=50) col_1 = R > Hiline ? color.red:na col_2 = R < Loline ? color.green:na fill(plot(R, title='R', color=color.white, linewidth=1, transp=0), plot(Hiline, title='Hiline', color=color.yellow, linewidth=1, transp=0), color=col_1,transp=0) fill(plot(R, title='R', color=color.white, linewidth=1, transp=0), plot(Loline, title='Loline', color=color.yellow, linewidth=1, transp=0), color=col_2,transp=0) //------------------------------------------------------------------------------ // Calculate qty // Parameter fund = 10 // Fund per Contract in USD leverage = 100 // Leverage // Buy Condition buyCondition = (ma12>ma26 and cci<100 and k<80 and d<80 and k_2<80 and d_2<80 and crossover(k_2, d_2)) buy = (buyCondition == input(1)) alertcondition(buy, title='time to Long', message='Long!!!') //closeBuy = (cci>100 and cci<cci[1] and cci<cci[2]) closeBuy = (crossunder(R, Hiline) and k>80) alertcondition(closeBuy, title='Time to Close', message='Close Long') // Submit Orders strategy.entry(id="Long", qty=(fund*leverage)/close, long=true, when=buyCondition) strategy.close(id="Long", when=closeBuy)