একাধিক মুভিং এভারেজ ট্রেন্ড এবং ATR ডায়নামিক স্টপ-প্রফিট এবং স্টপ-লসের উপর ভিত্তি করে ক্রিপ্টোকারেন্সি ট্রেডিং কৌশল

EMA RSI ATR TP/SL CRYPTO
সৃষ্টির তারিখ: 2025-02-19 16:50:10 অবশেষে সংশোধন করুন: 2025-02-20 14:45:33
অনুলিপি: 0 ক্লিকের সংখ্যা: 385
2
ফোকাস
319
অনুসারী

একাধিক মুভিং এভারেজ ট্রেন্ড এবং ATR ডায়নামিক স্টপ-প্রফিট এবং স্টপ-লসের উপর ভিত্তি করে ক্রিপ্টোকারেন্সি ট্রেডিং কৌশল একাধিক মুভিং এভারেজ ট্রেন্ড এবং ATR ডায়নামিক স্টপ-প্রফিট এবং স্টপ-লসের উপর ভিত্তি করে ক্রিপ্টোকারেন্সি ট্রেডিং কৌশল

ওভারভিউ

এটি একটি ক্রিপ্টোকারেন্সি ট্রেডিং কৌশল যা মাল্টি-অ্যাভারেজ ট্রেন্ড ট্র্যাকিং সিস্টেমের উপর ভিত্তি করে, ট্রেডিং ফিল্টার এবং ঝুঁকি পরিচালনার জন্য আরএসআই এবং এটিআর সূচকগুলির সাথে মিলিত। এই কৌশলটি মূলত মূলধারার ক্রিপ্টোকারেন্সিগুলির জন্য ট্রেড করে, প্রতিদিনের ট্রেডিং ফ্রিকোয়েন্সি সীমাবদ্ধতা এবং গতিশীল স্টপ লস সেট করে ঝুঁকি নিয়ন্ত্রণ করে। কৌশলটি ট্রেন্ডের দিকনির্দেশের জন্য 9 টি চক্র, 20 টি চক্র এবং 50 টি চক্রের তিনটি সূচকীয় মুভিং গড় ((EMA) ব্যবহার করে এবং তুলনামূলকভাবে দুর্বল সূচক ((RSI) এবং গড় বাস্তব তরঙ্গদৈর্ঘ্য ((এটিআর) ব্যবহার করে ট্রেডিং ফিল্টার করতে সহায়তা করে।

কৌশল নীতি

কৌশলটির মূল ট্রেডিং লজিকের মধ্যে রয়েছে নিম্নলিখিত কয়েকটি গুরুত্বপূর্ণ অংশঃ

  1. প্রবণতা নির্ণয়ঃ তিনটি ইএমএ ((9/20/50) ব্যবহার করে প্রবণতার দিকনির্ণয় করা হয়, যখন স্বল্পমেয়াদী ইএমএ মধ্যবর্তী ইএমএ অতিক্রম করে এবং দাম দীর্ঘমেয়াদী ইএমএর উপরে থাকে, তখন এটি একটি উত্থান প্রবণতা হিসাবে বিবেচিত হয়; বিপরীতভাবে, এটি একটি পতন প্রবণতা হিসাবে বিবেচিত হয়।
  2. ট্রেডিং ফিল্টারঃ আরএসআই ((14) ব্যবহার করে ওভারবয় ওভারসোল ফিল্টার করুন, কেনাকাটার সংকেতটি আরএসআইয়ের মধ্যে 45-70 এবং বিক্রির সংকেতটি আরএসআইয়ের মধ্যে 30-55 প্রয়োজন।
  3. প্রবণতা দৃঢ়তা নিশ্চিতকরণঃ প্রবণতা যথেষ্ট শক্তিশালী নিশ্চিত করার জন্য দামের 50 চক্রের ইএমএর সাথে 1.1x এটিআর এর চেয়ে বেশি দূরত্বের প্রয়োজন।
  4. ঝুঁকি ব্যবস্থাপনাঃ বিভিন্ন ক্রিপ্টোকারেন্সির অস্থিরতার উপর ভিত্তি করে ২.৫-৩.২ গুণ এটিআর স্টপ এবং ৩.৫-৫.০ গুণ এটিআর স্টপ সেট করুন।
  5. ট্রেডিং ফ্রিকোয়েন্সি কন্ট্রোলঃ প্রতি ট্রেডিং দিনে সর্বোচ্চ একটি ট্রেডিং অনুমোদিত হয় যাতে অতিরিক্ত ট্রেডিং এড়ানো যায়।

কৌশলগত সুবিধা

  1. গতিশীল ঝুঁকি ব্যবস্থাপনাঃ এটিআর-এর মাধ্যমে গতিশীলভাবে স্টপ-অফ এবং স্টপ-লস পজিশনের সমন্বয় করা, যা ক্রিপ্টোকারেন্সি বাজারের উচ্চ অস্থিরতার সাথে সামঞ্জস্যপূর্ণ।
  2. বৈষম্যমূলক প্রক্রিয়াকরণঃ বিভিন্ন ক্রিপ্টোকারেন্সির উদ্বায়ী বৈশিষ্ট্যগুলির জন্য বিভিন্ন ঝুঁকি প্যারামিটার সেট করা হয়েছে।
  3. মাল্টি ফিল্টারিং সিস্টেমঃ ট্রেন্ড, গতিশীলতা এবং অস্থিরতার সূচকগুলির সমন্বয়ে লেনদেনের গুণমান উন্নত করা।
  4. লেনদেনের ফ্রিকোয়েন্সি সীমাবদ্ধতাঃ প্রতিদিনের লেনদেনের সীমাবদ্ধতার মাধ্যমে অত্যধিক লেনদেনের ঝুঁকি হ্রাস করা, বিশেষত ক্রিপ্টোকারেন্সি বাজারের উচ্চ অস্থিরতার জন্য উপযুক্ত।
  5. তহবিল ব্যবস্থাপনা যুক্তিসঙ্গতঃ অ্যাকাউন্টের আকার এবং ঝুঁকি স্তরের উপর ভিত্তি করে লেনদেনের আকারের গতিশীল গণনা, তহবিল সুরক্ষা।

কৌশলগত ঝুঁকি

  1. প্রবণতা বিপরীত ঝুঁকিঃ ক্রিপ্টোকারেন্সি বাজারে তীব্র অস্থিরতার সময় বড় ক্ষতির সম্মুখীন হতে পারে
  2. স্লাইড পয়েন্টের ঝুঁকিঃ লিকুইডিটির অভাবের কারণে বড় স্লাইড পয়েন্টের ঝুঁকি থাকতে পারে।
  3. লেনদেনের সুযোগের সীমাঃ প্রতিদিনের লেনদেনের সীমাবদ্ধতা দ্রুত বাজারের সুযোগগুলি মিস করতে পারে।
  4. প্যারামিটার সংবেদনশীলতাঃ একাধিক সূচক প্যারামিটার সেটিং কৌশল কর্মক্ষমতা প্রভাবিত করে এবং নিয়মিত অপ্টিমাইজেশান প্রয়োজন।
  5. বাজার পরিস্থিতির উপর নির্ভরশীলতা: কৌশলটি ট্রেন্ডিং মার্কেটে ভাল কাজ করে, কিন্তু অস্থির বাজারে মিথ্যা সংকেত তৈরি করতে পারে।

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

  1. মার্কেট ওভারল্যাপিং সাইকেল অ্যানালাইসিসঃ ক্রিপ্টোকারেন্সি মার্কেটের বিভিন্ন ওভারল্যাপিং সাইকেল ডায়নামিকের উপর ভিত্তি করে প্যারামিটারগুলি সামঞ্জস্য করা যায়।
  2. অপ্টিমাইজড ট্রেডিং টাইম ফিল্টারিংঃ বিশ্বব্যাপী প্রধান ট্রেডিং সময়ের উপর ভিত্তি করে ফিল্টারিং যোগ করুন।
  3. উত্তোলন ব্যবস্থা উন্নত করা হয়েছেঃ এটিতে চলমান স্টপ লস বা বাজার মনোভাবের উপর ভিত্তি করে গতিশীল উত্তোলন ব্যবস্থা যুক্ত করা যেতে পারে।
  4. লেনদেনের আকার বাড়ানোর ব্যবস্থাপনাঃ লেনদেনের আকার বাজারের অস্থিরতার সাথে সামঞ্জস্যপূর্ণ।
  5. মার্কেট সেন্টিমেন্ট ইনডেক্স যুক্ত করুনঃ ট্রেডিং ফিল্টারিং বাড়ানোর জন্য চেইন ডেটা বা সোশ্যাল মিডিয়া সেন্টিমেন্ট ইনডেক্স যুক্ত করুন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2015-02-22 00:00:00
end: 2025-02-18 17:23:25
period: 1h
basePeriod: 1h
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © buffalobillcody

//@version=6
strategy("Backtest Last 2880 Baars Filers and Exits", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=2, backtest_fill_limits_assumption=0)

// Define EMAs
shortEMA = ta.ema(close, 9)
longEMA = ta.ema(close, 20)
refEMA = ta.ema(close, 50)

// **Force Strategy to Trade on Historical Bars**
barLimit = bar_index > 10  // Allow trading on past bars
allowTrade = strategy.opentrades == 0 or barLimit  // Enable first trade on history

// **Define ATR for Stop-Loss & Take-Profit**
atrLength = 14
atrValue = ta.atr(atrLength)
atr50 = ta.sma(atrValue, 50)  // 50-period ATR average

// **Relaxed RSI Filters (More Trades Allowed)**
rsi = ta.rsi(close, 14)
rsiFilterBuy = rsi > 45 and rsi < 70  
rsiFilterSell = rsi < 55 and rsi > 30  

// **Reduce Trend Filter - Allow Smaller Price Movement**
minDistance = atrValue * 1.1  
isTrending = math.abs(close - refEMA) > minDistance  

// **Allow Trading in All Conditions (No ATR Filter)**
atrFilter = true  

// **Allow Flat EMA Slopes - Increase Trade Frequency**
emaSlope = ta.linreg(refEMA, 5, 0) > -0.2  
emaSlopeSell = ta.linreg(refEMA, 5, 0) < 0.2  

// **Trade Counter: Allow 1 Trade Per Day**
var int dailyTradeCount = 0
if dayofweek != dayofweek[1]  
    dailyTradeCount := 0  

// **ATR-Based Stop-Loss & Take-Profit Per Pair**
atrSL = switch syminfo.ticker
    "EURUSD" => 3.0 * atrValue,  
    "USDJPY" => 2.5 * atrValue,  
    "GBPUSD" => 3.0 * atrValue,  
    "AUDUSD" => 3.2 * atrValue,  
    "GBPJPY" => 3.0 * atrValue,  
    => 2.5 * atrValue  

atrTP = switch syminfo.ticker
    "EURUSD" => 3.8 * atrValue,  
    "USDJPY" => 3.5 * atrValue,  
    "GBPUSD" => 4.0 * atrValue,  
    "AUDUSD" => 4.0 * atrValue,  
    "GBPJPY" => 5.0 * atrValue,  
    => 3.5 * atrValue  

// **Ensure Trade Size is Not Zero**
riskPerTrade = 2  
accountSize = strategy.equity
tradeSize = (accountSize * (riskPerTrade / 100)) / atrSL
tradeSize := tradeSize < 1 ? 1 : tradeSize  // Minimum lot size of 1

// **Buy/Sell Conditions (Now More Trades Will Trigger)**
buyCondition = ta.crossover(shortEMA, longEMA) and rsiFilterBuy and close > refEMA and close > longEMA and isTrending and emaSlope and allowTrade and dailyTradeCount < 1
sellCondition = ta.crossunder(shortEMA, longEMA) and rsiFilterSell and close < refEMA and close < longEMA and isTrending and emaSlopeSell and allowTrade and dailyTradeCount < 1

// **Execute Trades**
if buyCondition
    strategy.entry("Buy", strategy.long, qty=tradeSize)
    strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=close + atrTP, stop=close - atrSL)
    label.new(x=bar_index, y=low, text="BUY", color=color.green, textcolor=color.white, size=size.small, style=label.style_label_down)
    alert("BUY", alert.freq_once_per_bar_close)  
    dailyTradeCount := dailyTradeCount + 1  

if sellCondition
    strategy.entry("Sell", strategy.short, qty=tradeSize)
    strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=close - atrTP, stop=close + atrSL)
    label.new(x=bar_index, y=high, text="SELL", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_up)
    alert("SELL", alert.freq_once_per_bar_close)  
    dailyTradeCount := dailyTradeCount + 1  

// **Plot Indicators**
plot(shortEMA, color=color.yellow, title="9 EMA")
plot(longEMA, color=color.fuchsia, title="20 EMA")
plot(refEMA, color=color.blue, title="50 EMA")