ট্রেন্ড-অনুসরণকারী স্বল্পমেয়াদী ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-04 17:52:21 অবশেষে সংশোধন করুন: 2024-01-04 17:52:21
অনুলিপি: 0 ক্লিকের সংখ্যা: 588
1
ফোকাস
1621
অনুসারী

ট্রেন্ড-অনুসরণকারী স্বল্পমেয়াদী ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি প্রবণতা বিচারক সূচক এডিএক্স গড় প্রবণতা সূচক এবং গড় লাইন সমন্বয় উপর ভিত্তি করে প্রবণতা বিচার এবং ট্র্যাকিং বাস্তবায়ন। যখন প্রবণতা বিপরীত হয়, একটি বিরতি অপারেশন ব্যবহার করে, একটি সংক্ষিপ্ত লাইন ট্রেডিং।

কৌশল নীতি

  1. ADX গড় প্রবণতা সূচক ব্যবহার করে প্রবণতা নির্ধারণ করুন। যখন ADX 20 এর চেয়ে বড় হয়, তখন এটি বর্তমান প্রবণতা অবস্থা নির্দেশ করে।
  2. EMA একটি প্রবণতা নির্ণয়কারী সূচক, EMA গোল্ড ফর্ক একটি উত্থান প্রবণতা এবং মৃত ফর্ক একটি পতন প্রবণতা নির্দেশ করে।
  3. ভিডাব্লুএপি একটি গুরুত্বপূর্ণ রেফারেন্স মূল্য হিসাবে, দামগুলি ভিডাব্লুএপি-র উপরে মাল্টি-হেড মার্কেট এবং নীচে শূন্য-হেড মার্কেট।
  4. উপরোক্ত একাধিক সূচকের উপর ভিত্তি করে বাজার প্রবণতা এবং বিপরীত পরিস্থিতির সমন্বিত বিচার করুন, বিরতি অপারেশন করুন, প্রবণতা অনুসরণ করুন এবং সংক্ষিপ্ত লেনদেন করুন।

সামর্থ্য বিশ্লেষণ

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

ঝুঁকি বিশ্লেষণ

  1. বিপর্যয়ের ব্যর্থতার ফলে স্টপ লস হওয়ার সম্ভাবনা রয়েছে। স্টপ লস অবস্থানের অপ্টিমাইজেশনের মাধ্যমে ঝুঁকি হ্রাস করা যেতে পারে।
  2. ট্রেডিংয়ের সংখ্যা বেশি, একক লেনদেনের ক্ষতি হতে পারে। আপনি পজিশনের সংখ্যা যথাযথভাবে সামঞ্জস্য করতে পারেন, একক ক্ষতির হার হ্রাস করতে পারেন।
  3. ট্রেডিং টাইম এবং ট্রেডিং প্রকারের পছন্দগুলি কৌশলটির কার্যকারিতাকেও প্রভাবিত করে। আপনি বিভিন্ন ট্রেডিং টাইম এবং বিভিন্ন ট্রেডিং প্রকারের পরীক্ষা করতে পারেন।

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

  1. ADX প্যারামিটারগুলিকে অপ্টিমাইজ করুন, ট্রেন্ডগুলিকে আরও ভালভাবে আলাদা করার জন্য এবং ADX মানগুলিকে সমন্বিত করার জন্য।
  2. গড়রেখার প্যারামিটার সমন্বয়কে অপ্টিমাইজ করুন এবং প্রবণতাকে আরও ভালভাবে উপস্থাপন করে এমন গড়রেখার সমন্বয় খুঁজে বের করুন।
  3. অপ্টিমাইজ করুন স্টপ-অফ অবস্থান। যথাযথভাবে স্টপ-অফ পরিসীমাটি প্রশস্ত করুন যাতে স্টপ-অফ ব্যয় বেশি না হয়।
  4. পজিশনের আকার অপ্টিমাইজ করুন। একক লেনদেনের ঝুঁকি হ্রাস করুন

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-12-27 00:00:00
end: 2023-12-29 23:00:00
period: 3m
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/
// © mariocastel

//@version=5
strategy("Wave Rider", overlay=true, initial_capital = 100000)

session = input(defval = "1400-1500", title = "Session Time")
t = not na(time(timeframe.period,session))
RR = input.float(1.5, "Risk to reward", step=0.5)
var bool movetoBE = input(false, "Move to Break Even")
BE = input.float(1, "Break Even at", step=0.5)

vwap_mult = 0.001 * input(3, "VWAP Multiplier")
aboveVWAP = ta.vwap(close) * (1 + vwap_mult)
belowVWAP = ta.vwap(close) * (1 - vwap_mult)
sym = input("BTC_USDT:swap", "VWAP Source")

QQQaboveVWAP = request.security(sym, "3", aboveVWAP)
QQQbelowVWAP = request.security(sym, "3", belowVWAP)
QQQclose = request.security(sym, "3", close)

ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema60 = ta.ema(close, 60)
ema9 = ta.ema(close, 9)

opentrades = strategy.opentrades > 0

aboveEMA = close > ema60
belowEMA = close < ema60

uptrend = aboveEMA and aboveEMA[1] and aboveEMA[2] and aboveEMA[3] and aboveEMA[4] and aboveEMA[5] and aboveEMA[6] and aboveEMA[7] and aboveEMA[8] and aboveEMA[9] and aboveEMA[10] and aboveEMA[11] and aboveEMA[12] and aboveEMA[13] and aboveEMA[14] and aboveEMA[15] and aboveEMA[16] and aboveEMA[17] and aboveEMA[18] and aboveEMA[19] and aboveEMA[20] and aboveEMA[21] and aboveEMA[22] and aboveEMA[23] and aboveEMA[24] and aboveEMA[25] and aboveEMA[26] and aboveEMA[27] and aboveEMA[28] and aboveEMA[29]
downtrend = belowEMA and belowEMA[1] and belowEMA[2] and belowEMA[3] and belowEMA[4] and belowEMA[5] and belowEMA[6] and belowEMA[7] and belowEMA[8] and belowEMA[9] and belowEMA[10] and belowEMA[11] and belowEMA[12] and belowEMA[13] and belowEMA[14] and belowEMA[15] and belowEMA[16] and belowEMA[17] and belowEMA[18] and belowEMA[19] and belowEMA[20] and belowEMA[21] and belowEMA[22] and belowEMA[23] and belowEMA[24] and belowEMA[25] and belowEMA[26] and belowEMA[27] and belowEMA[28] and belowEMA[29]

buy = (low < ema20 and low > ema50 and close > ema9) and QQQclose > QQQaboveVWAP  or (low[1] < ema20 and low[1] > ema50 and close > ema9) and QQQclose > QQQaboveVWAP and uptrend
sell = (high > ema20 and high < ema50 and close < ema9) and QQQclose < QQQbelowVWAP  or (high[1] > ema20 and high[1] < ema50 and close < ema9) and QQQclose < QQQbelowVWAP and downtrend

var float entry = na
var float sl = na
var float qty = na
var float tp = na
var float be = na

if ema20 > ema50 and ema9 > ema20 
    if buy and not opentrades and t and uptrend
        alert("Wave Rider Setup")
        entry := close
        sl := ema50
        qty := 1000/(close - sl) * 1
        if close - sl > syminfo.mintick*300
            tp := close + ((close - sl)*1)
        else 
            tp := close + ((close - sl)*RR)
        be := close + ((close - sl)*BE)
        strategy.entry("Buy", strategy.long, qty=qty)
        strategy.exit("Close Buy", "Buy",qty=qty, stop=sl, limit=tp)

if ema20 < ema50 and ema9 < ema20 
    if sell and not opentrades and t and downtrend
        alert("Wave Rider Setup")
        entry := close
        sl := ema50
        qty := 1000/(sl - close) * 1
        if sl - close > syminfo.mintick*300
            tp := close - ((sl - close)*1)
        else
            tp := close - ((sl - close)*RR)
        be := close - ((sl - close)*BE)
        strategy.entry("Sell", strategy.short, qty=qty)
        strategy.exit("Close Sell", "Sell", qty=qty, stop=sl, limit=tp)

// Adjust BEs
if movetoBE == true
    if strategy.position_size > 0
        if high >= be
            sl := entry
            strategy.cancel("Close Buy")
            strategy.exit("Close Buy", "Buy", qty=qty, stop=sl, limit=tp)   
    if strategy.position_size < 0
        if low <= be
            sl := entry
            strategy.cancel("Close Sell")  
            strategy.exit("Close Sell", "Sell", qty=qty, stop=sl, limit=tp)  


EoD_time = timestamp(year, month, dayofmonth, 15, 58, 00)
EoD = time == EoD_time
if EoD
    strategy.close_all()

barcolor(color=buy ? color.rgb(191, 255, 131): na)
barcolor(color=sell ? color.rgb(255, 149, 149): na)
ema20plot = plot(ema20, color=color.rgb(168, 131, 131, 55))
ema50plot = plot(ema50, color=color.black)
fill(ema20plot, ema50plot, color=color.rgb(168, 131, 131, 85))
plot(ema9, color=color.red)
plot(ema60, color=color.purple)
plot(QQQaboveVWAP)
plot(QQQbelowVWAP)
plotshape(uptrend, style=shape.triangleup, location=location.belowbar, color=color.black)
plotshape(downtrend, style=shape.triangledown, location=location.abovebar, color=color.black)