এই কৌশলটি বিটকয়েন এবং অন্যান্য ক্রিপ্টোকারেন্সিগুলির জন্য 15 মিনিটের সময়কালের জন্য একটি সমন্বিত ট্রেডিং কৌশল। এটি একাধিক সূচককে একত্রিত করে যা ক্রয়-বিক্রয় সংকেত তৈরি করে, যার মধ্যে রয়েছে ট্রিপল সূচকীয় চলমান গড়, গড় বাস্তব ওঠানামা, এবং ভারসাম্যযুক্ত রেখাচিত্র, পাশাপাশি স্টপ লস এবং অন্যান্য ঝুঁকি ব্যবস্থাপনার ব্যবস্থা রয়েছে।
এই কৌশলটি নিম্নলিখিত সূচকগুলি ব্যবহার করেঃ
ট্রিপল ইন্ডেক্সাল মুভিং এভারেজ (টিইএমএ): তিনটি টিইএমএ বিভিন্ন দৈর্ঘ্য এবং উত্স ব্যবহার করে, যথাক্রমে উচ্চ, নিম্ন এবং সমাপ্তি মূল্যের উপর ভিত্তি করে গণনা করা হয়।
গড় বাস্তব ওঠানামা ((ATR): EMA-র মসৃণ কাস্টম ATR ব্যবহার করে বাজারের ওঠানামা গণনা করা হয়।
সুপারট্রেন্ডিং সূচক: এটিআর এবং গুণকের উপর ভিত্তি করে প্রবণতা নির্দেশ করে।
সরল চলমান গড় ((এসএমএ): স্বল্প সময়ের টিইএমএর জন্য এসএমএ গণনা করা হয় সমতল মান হিসাবে।
সমান্তরাল সমাপ্তি মূল্যঃ প্রবণতা নিশ্চিতকরণের জন্য ব্যবহৃত।
ক্রয় সংকেত তৈরি করা হয় যখন স্বল্প সময়ের TEMA দুটি দীর্ঘ সময়ের TEMA এর চেয়ে বেশি হয়, সুপারট্রেন্ডিং সূচকটি উর্ধ্বমুখী হয়, স্বল্প সময়ের TEMA তার SMA এর চেয়ে বেশি হয় এবং সমান্তরাল লাইন বন্ধের দাম আগের দিনের চেয়ে বেশি হয়।
একটি বিক্রয় সংকেত তৈরি করা হয় যখন স্বল্পমেয়াদী TEMA দুটি দীর্ঘমেয়াদী TEMA এর চেয়ে কম থাকে, একটি ট্রান্সপারেন্সিভ ইন্ডিকেটর পিছিয়ে যায়, একটি স্বল্পমেয়াদী TEMA তার SMA এর চেয়ে কম থাকে এবং একটি ভারসাম্য লাইন বন্ধের দাম আগের দিনের চেয়ে কম থাকে।
স্টপ-অফ এবং স্টপ-লস যথাক্রমে প্রবেশ মূল্যের ১% এবং ৩% হিসাবে সেট করা হয়েছে।
প্রবণতা, অস্থিরতা, আকৃতি এবং অন্যান্য সূচকগুলির সমন্বয়ে, সঠিকতা বাড়াতে এবং মিথ্যা সংকেত এড়াতে সহায়তা করে।
যুক্তিসঙ্গত স্টপ-অফ-লস সেটিংগুলি মুনাফা লক করতে পারে এবং একক ক্ষতির কার্যকরভাবে সীমাবদ্ধ করতে পারে।
সূচক প্যারামিটারগুলি বাজারের পরিবর্তনের সাথে খাপ খাইয়ে নিতে এবং সর্বোত্তম সমন্বয় খুঁজে পেতে নমনীয় হতে পারে।
ফি ফ্যাক্টর যুক্ত করা হলে, রিটার্নের ফলাফলগুলি প্রকৃত লেনদেনের কার্যকারিতার আরও কাছাকাছি হতে পারে।
অনেকগুলি সূচকের সমন্বয়ও ভুল সিদ্ধান্তের কারণ হতে পারে, এবং সূচকের কার্যকারিতাটি যত্ন সহকারে মূল্যায়ন করা প্রয়োজন।
দীর্ঘ সময়ের তুলনায়, ১৫ মিনিটের অপারেশনগুলি আকস্মিক ঘটনা দ্বারা প্রভাবিত হয়, যা ঘটনাক্রমে বড় ঝুঁকি সৃষ্টি করে।
এই কৌশলটি স্থিতিশীলতা নিশ্চিত করার জন্য আরও দীর্ঘমেয়াদী এবং একাধিক বাজারে পরীক্ষা করা দরকার।
মাল্টি-প্যারামিটার প্যাকেজিং প্রচুর পরিমাণে প্যারামিটার নিয়ে আসে এবং সমস্ত প্যারামিটার প্যাকেজিং অপ্টিমাইজ করতে দীর্ঘ সময় লাগে।
পুনরায় পরীক্ষা করে দেখা হবে যে প্রতিটি সূচকের প্রকৃত উন্নতি হয়েছে কিনা। অতিরিক্ত সূচক ব্যবহার করা এড়িয়ে চলুন।
স্থিতিশীলতা এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য আরও বাজারে পরামিতি অপ্টিমাইজেশনের ফলাফল পরীক্ষা করুন।
ঝুঁকি কমানোর জন্য, স্টপ-অফ, স্টপ-অফ, স্টপ-অফ ইত্যাদি ব্যবহার করুন।
যেমন, স্লাইড পয়েন্টের খরচ, যা রিটার্নকে আরো বাস্তবসম্মত করে তোলে।
এই কৌশলটি একাধিক সূচক এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থাকে একত্রিত করে এবং বিটকয়েনের 15 মিনিটের চক্রের লেনদেনের জন্য ডিজাইন করা হয়েছে। এটির অপ্টিমাইজেশনের জন্য প্রচুর জায়গা রয়েছে, সূচকের কার্যকারিতা মূল্যায়নের জন্য গভীর প্রতিক্রিয়া, বিস্তৃত বাজার স্থায়িত্বের পরীক্ষা এবং আরও অনেকগুলি রিয়েল-টাইম বিবেচনা যুক্ত করার প্রয়োজন, যাতে বহু-ফ্যাক্টর কৌশলটিতে সর্বোত্তম প্যারামিটার প্যারেন্টার খুঁজে পাওয়া যায়। যদি ক্রমাগত অপ্টিমাইজ করা এবং যাচাই করা হয় তবে কৌশলটি ক্রিপ্টোকারেন্সির উচ্চ-প্রবাহের ব্যবসায়ের কার্যকর হাতিয়ার হতে পারে।
/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-09 00:00:00
period: 10m
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/
// © deperp
//@version=5
strategy('3kilos', shorttitle='3kilos BTC 15m', overlay=true, initial_capital=100000, max_bars_back=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.07, pyramiding=0)
short = input.int(50, minval=1)
srcShort = input(high, title='TEMA short')
long = input.int(100, minval=1)
srcLong = input(low, title='TEMA long 2')
long2 = input.int(350, minval=1)
srcLong2 = input(close, title='TEMA long 3')
atrLength = input.int(550, title='ATR Length', minval=1)
mult = input.float(3, title="Multiplier", minval=0.5, step=1)
smaPeriod = input.int(100, title="SMA Period", minval=1)
takeProfitPercent = input.float(1, title="Take Profit (%)", minval=0.1) / 100
stopLossPercent = input.float(3, title="Stop Loss (%)", minval=0.1) / 100
tema(src, length) =>
ema1 = ta.ema(src, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
3 * (ema1 - ema2) + ema3
tema1 = tema(srcShort, short)
plot(tema1, color=color.new(color.red, 0), linewidth=2)
tema2 = tema(srcLong, long)
plot(tema2, color=color.new(color.blue, 0), linewidth=2)
tema3 = tema(srcLong2, long2)
plot(tema3, color=color.new(color.green, 0), linewidth=2)
// Custom ATR calculation with EMA smoothing
atr_ema(src, length) =>
trueRange = math.max(math.max(high - low, math.abs(high - close[1])), math.abs(low - close[1]))
emaTrueRange = ta.ema(trueRange, length)
emaTrueRange
// Calculate ATR with EMA smoothing
atr = atr_ema(close, atrLength)
// Calculate Supertrend
var float up = na
var float dn = na
var bool uptrend = na
up := na(up[1]) ? hl2 - (mult * atr) : uptrend[1] ? math.max(hl2 - (mult * atr), up[1]) : hl2 - (mult * atr)
dn := na(dn[1]) ? hl2 + (mult * atr) : uptrend[1] ? hl2 + (mult * atr) : math.min(hl2 + (mult * atr), dn[1])
uptrend := na(uptrend[1]) ? true : close[1] > dn[1] ? true : close[1] < up[1] ? false : uptrend[1]
// Calculate SMA
sma = ta.sma(tema1, smaPeriod)
// Heikin-Ashi Close
haTicker = ticker.heikinashi(syminfo.tickerid)
haClose = request.security(haTicker, timeframe.period, close)
// Trend determination using Heikin-Ashi Close
longC = tema1 > tema2 and tema1 > tema3 and uptrend and tema1 > sma and haClose > haClose[1]
shortC = tema1 < tema2 and tema1 < tema3 and not uptrend and tema1 < sma and haClose < haClose[1]
alertlong = longC and not longC[1]
alertshort = shortC and not shortC[1]
useDateFilter = input.bool(true, title="Begin Backtest at Start Date",
group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2023"),
title="Start Date", group="Backtest Time Period",
tooltip="This start date is in the time zone of the exchange " +
"where the chart's instrument trades. It doesn't use the time " +
"zone of the chart or of your computer.")
inTradeWindow = true
stopLossLevelLong = close - atr * mult
stopLossLevelShort = close + atr * mult
longTakeProfitLevel = close * (1 + takeProfitPercent)
longStopLossLevel = close * (1 - stopLossPercent)
shortTakeProfitLevel = close * (1 - takeProfitPercent)
shortStopLossLevel = close * (1 + stopLossPercent)
if inTradeWindow and longC
strategy.entry('Long', strategy.long, comment='Long')
strategy.exit("TP Long", "Long", limit=longTakeProfitLevel, stop=longStopLossLevel, comment="TP/SL Long")
if inTradeWindow and shortC
strategy.entry('Short', strategy.short, comment='Short')
strategy.exit("TP Short", "Short", limit=shortTakeProfitLevel, stop=shortStopLossLevel, comment="TP/SL Short")
// Alerts
alertcondition(longC, title='Long', message=' Buy Signal ')
alertcondition(shortC, title='Short', message=' Sell Signal ')