সিসিআই + এমএ ক্রসওভার পুলব্যাক ক্রয় কৌশল একটি পরিমাণগত ট্রেডিং কৌশল যা কমোডিটি চ্যানেল সূচক (সিসিআই) এবং দ্বৈত চলমান গড় ক্রসওভার সংকেতগুলিকে একত্রিত করে। যখন দাম দ্রুত চলমান গড়ের দিকে ফিরে আসে এবং সিসিআই একটি উত্থান ক্রসওভারের পরে ওভারসোল্ড শর্তগুলি নির্দেশ করে তখন কৌশলটি কিনে। যখন দাম দ্রুত চলমান গড়ের দিকে এবং সিসিআই একটি হ্রাস ক্রসওভারের পরে ওভারসোল্ড শর্তগুলি নির্দেশ করে তখন এটি বিক্রি করে। সিসিআই এবং দ্বৈত চলমান গড় ক্রসওভার সংকেতগুলিকে একত্রিত করে, এই কৌশলটি ট্রেন্ডিং সুযোগগুলি আরও ভালভাবে ক্যাপচার করতে পারে যখন পুলব্যাক ক্রয় এবং সমাবেশ বিক্রয়ের মাধ্যমে আরও ভাল প্রবেশ এবং প্রস্থান পয়েন্ট অর্জন করে, যার ফলে ঝুঁকি-পুরষ্কার অনুপাত উন্নত হয়।
সিসিআই + এমএ ক্রসওভার পুলব্যাক ক্রয় কৌশল একটি পরিমাণগত ট্রেডিং কৌশল যা প্রবণতা অনুসরণ এবং প্রতি-প্রবণতা প্রবেশের সুবিধাগুলিকে একত্রিত করে। দ্বিগুণ চলমান গড়ের সাথে প্রবণতা দিকটি ক্যাপচার করে এবং সিসিআই সূচক দিয়ে ওভারকুপ / ওভারসোল্ড অঞ্চলগুলি সনাক্ত করে, আরও ভাল এন্ট্রি দাম অর্জনের জন্য মূল্য পুলব্যাক এবং সমাবেশের জন্য অপেক্ষা করার সময়, কৌশলটি সম্ভাব্যভাবে লাভজনকতা এবং ঝুঁকি-পুরষ্কার অনুপাতকে কিছুটা উন্নত করতে পারে। তবে কৌশলটি প্যারামিটার অপ্টিমাইজেশন, অস্থির বাজার এবং হঠাৎ প্রবণতা পরিবর্তনের মতো ঝুঁকির মুখোমুখি হয়। কৌশলটির দৃust়তা এবং লাভজনকতা বাড়ানোর জন্য আরও অপ্টিমাইজেশন এবং উন্নতি প্রয়োজন। কৌশলটি সুস্পষ্ট, কোড কাঠামো সম্পূর্ণ, এবং এটি সামগ্রিকভাবে লাইভ ট্রেডিংয়ের জন্য উপযুক্ত।
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tradedots //@version=5 strategy("CCI + MA Crossover Pullback Buy Strategy [TradeDots]", overlay=true) ma(source, length, type) => type == "SMA" ? ta.sma(source[1], length) : type == "EMA" ? ta.ema(source[1], length) : type == "SMMA (RMA)" ? ta.rma(source[1], length) : type == "WMA" ? ta.wma(source[1], length) : type == "VWMA" ? ta.vwma(source[1], length) : na //CCI settings cci_coloring = input.bool(true, "CCI Background Color", group = "Commodity channel index") cci_length = input.int(20,"CCI Length", group = "Commodity channel index") cci_ma_type = input.string("EMA","CCI MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group = "Commodity channel index") cci_soruce = input(hlc3, "CCI Source", group = "Commodity channel index") cci_threshold = input.int(100, "CCI Threshold", group = "Commodity channel index") cci_ma = ma(cci_soruce, cci_length, cci_ma_type) cci = (cci_soruce - cci_ma) / (0.015 * ta.dev(cci_soruce, cci_length)) bgcolor(cci > cci_threshold and cci_coloring ? color.new(#f9396a, 80) : cci < -cci_threshold and cci_coloring? color.new(#9cff87, 80) : na, title = "CCI Overbought / Oversold") //ma crossover settings input_crossover_labels = input.bool(true, "Show Crossover Labels", group="Moving average") fastma_type = input.string("EMA","", inline="fastma", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Moving average") fastma_source = input(close, "", inline="fastma", group="Moving average") fastma_length = input.int(10, "", inline="fastma", minval=1,group="Moving average") fastma_color = input(#e2fdff, "", inline="fastma",group="Moving average") fastma = ma(fastma_source, fastma_length, fastma_type) fastmaPlot = plot(fastma, color = #b7e4c7, linewidth = 2, title = "Fast MA") slowma_type = input.string("EMA","", inline="slowma", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Moving average") slowma_source = input(close, "", inline="slowma", group="Moving average") slowma_length = input.int(30, "", inline="slowma", minval=1,group="Moving average") slowma_color = input(#e2fdff, "", inline="slowma",group="Moving average") slowma = ma(slowma_source, slowma_length, slowma_type) slowmaPlot = plot(slowma, color = #2d6a4f, linewidth = 2, title = "Slow MA") bullish_crossover = ta.crossover(fastma, slowma) bearish_crossover = ta.crossunder(fastma, slowma) // // strategy // if bullish_crossover and input_crossover_labels // line.new(bar_index, close, bar_index, close * 1.01, extend = extend.both, color = color.new(#9cff87, 30), style = line.style_dotted, width = 3) // label.new(bar_index,low, "Bullish Crossover", style = label.style_label_up, color = #9cff87) // else if bearish_crossover and input_crossover_labels // line.new(bar_index, close, bar_index, close * 1.01, extend = extend.both, color = color.new(#f9396a, 30), style = line.style_dotted, width = 3) // label.new(bar_index, high, "Bearish Crossover", style = label.style_label_down, color = #f9396a, textcolor = color.white) if fastma > slowma and close[1] < fastma and close > open and cci < -cci_threshold strategy.entry("Long", strategy.long) // if strategy.opentrades == 0 or strategy.opentrades.size(strategy.opentrades -1) < 0 // label.new(bar_index,low, "🟢 Long", style = label.style_label_up, color = #9cff87) if fastma < slowma and close[1] > fastma and close < open and cci > cci_threshold strategy.entry("Short", strategy.short) // if strategy.opentrades == 0 or strategy.opentrades.size(strategy.opentrades -1) > 0 // label.new(bar_index, high, "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white)