
GM-8 & ADX দ্বৈত সমান্তরাল কৌশলটি একটি পরিমাণগত ট্রেডিং কৌশল যা একাধিক প্রযুক্তিগত সূচককে একত্রিত করে। এই কৌশলটি সম্ভাব্য ক্রয়-বিক্রয় সংকেত সনাক্ত করতে GM-8 সূচক, ADX সূচক এবং দ্বিতীয় ইএমএ সূচক ব্যবহার করে। GM-8 সূচকটি মূল্যের প্রবণতা নির্ধারণের জন্য ব্যবহৃত হয়, ADX সূচকটি প্রবণতার শক্তি নিশ্চিত করার জন্য ব্যবহৃত হয় এবং দ্বিতীয় ইএমএ সূচকটি প্রবণতার দিকনির্দেশনা নির্ধারণে সহায়তা করার জন্য ব্যবহৃত হয়।
GM-8 & ADX এর দ্বৈত সমান্তরাল কৌশল নিম্নরূপঃ
জিএম -৮ এবং এডিএক্স দ্বৈত সমান্তরাল কৌশলটি একটি ক্লাসিক পরিমাণযুক্ত ট্রেডিং কৌশল যা একাধিক প্রযুক্তিগত সূচককে একত্রিত করে ক্রয়-বিক্রয় সংকেত সনাক্ত করতে পারে। এই কৌশলটির সুবিধা হল যে যুক্তিটি সহজ এবং পরিষ্কার, সংকেতটি তুলনামূলকভাবে নির্ভরযোগ্য এবং এটি নবীনদের শেখার জন্য উপযুক্ত। তবে একই সাথে প্রবণতা সনাক্তকরণের পরে, ঘন ঘন লেনদেন, প্যারামিটার নির্বাচন অসুবিধা ইত্যাদির ঝুঁকি রয়েছে। কৌশলটির কর্মক্ষমতা আরও উন্নত করার জন্য, আরও পরিস্রাবণ, প্রবেশের সময় এবং প্রস্থান, গতিশীল সমন্বয় পরামিতি এবং পজিশন ম্যানেজমেন্ট অপ্টিমাইজেশনের মতো পদক্ষেপগুলি বিবেচনা করা যেতে পারে। সামগ্রিকভাবে, জিএম -৮ এবং এডিএক্স দ্বৈত সমান্তরাল কৌশলটি পরিমাণযুক্ত ব্যবসায়ের জন্য একটি ভাল কাঠামো সরবরাহ করে, যা অনুশীলনে ক্রমাগত সংশোধন এবং উন্নতি করা উচিত।
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)
// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")
// Calculate the ADX manually
adx(high, low, close, length) =>
sum_truerange = 0.0
sum_plusDM = 0.0
sum_minusDM = 0.0
for i = 1 to length
truerange_calc = high[i] - low[i]
truerange_prev_close = high[i] - close[i-1]
truerange_close = low[i] - close[i-1]
truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
sum_truerange := sum_truerange + truerange_calc
plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
sum_plusDM := sum_plusDM + plusDM
minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
sum_minusDM := sum_minusDM + minusDM
plusDI = sum_plusDM / sum_truerange * 100
minusDI = sum_minusDM / sum_truerange * 100
sumDI = plusDI + minusDI
adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)
// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)
// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold
// Entry and exit logic
if (buy_condition)
strategy.entry("Buy", strategy.long, qty=lot_size)
if (sell_condition)
strategy.entry("Sell", strategy.short, qty=lot_size)
// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8
if (exit_buy_condition)
strategy.close("Buy")
if (exit_sell_condition)
strategy.close("Sell")