প্রাক-মার্কেট ব্রেকআউট ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-০৯-১৩ ১১ঃ৪৬ঃ২০
ট্যাগঃ

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

কৌশলগত যুক্তি:

  1. খোলা থেকে ১ ঘন্টার মধ্যে প্রাক-মার্কেট রেঞ্জ নির্ধারণ করুন।

  2. ন্যায্য মূল্য পরিসীমা নির্ধারণের জন্য ৫০ পেরিওডের ইএমএ ব্যবহার করুন।

  3. এসএমআই ক্রসওভার কম সিগন্যাল লং এন্ট্রি।

  4. ইএমএ এর নিচে বন্ধ হওয়া স্টপ লস সিগন্যাল।

  5. স্বল্পমেয়াদী স্কাল্পিংয়ের জন্য নির্দিষ্ট মুনাফা লক্ষ্য নিন।

উপকারিতা:

  1. সংক্ষিপ্ত মেয়াদী ইএমএ ভেঙে দিনব্যাপী প্রবণতা দেখায়।

  2. এসএমআই তলদেশের বিপরীতমুখী অবস্থা নিশ্চিত করেছে।

  3. সীমিত ব্যাকটেস্ট প্যারামিটারগুলি লাইভ ট্রেডিংকে সহজ করে তোলে।

ঝুঁকি:

  1. প্রাক-মার্কেট ফাঁদে প্রবণ, বিপরীতমুখী হতে সাবধান।

  2. দৈনিক একক সেশন ফাঁক বিরুদ্ধে রক্ষা করতে অক্ষম।

  3. টাইট স্টপগুলি যদি খারাপভাবে ক্যালিব্রেট করা হয় তবে অকাল প্রস্থান হতে পারে।

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


/*backtest
start: 2022-09-12 00:00:00
end: 2023-09-12 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_7",65]]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Trading_Bites
//@version=5

// strategy('Morning Scalp', overlay=false, pyramiding=2, initial_capital=3000, default_qty_value=0, commission_value=0.02, max_labels_count=500)

                    // Initial Inputs

StartDate =         timestamp('15Aug 2022 14:00 +0000')
EndDate =           timestamp('15Aug 2022 20:00 +0000')
testPeriodStart =   input(StartDate, 'Start of trading')
testPeriodEnd =     input(EndDate, 'End of trading')
QuantityOnLong =    input(title="Quantity", defval=100,  minval=1)
QuantityOnClose =   QuantityOnLong

//////////////////////////////////////////////////////////////////////
//-- Time In Range
timeinrange(res, sess) =>
    not na(time(res, sess))

                //Market Open//
marketopen = '0930-1600'
MarketOpen = timeinrange(timeframe.period, marketopen)
//////////////////////////////////////////////////////////////////////
                //Market Hour//
morning =   '1000-1210'
Morning =   timeinrange(timeframe.period, morning)


//////////////////////////////////////////////////////////////////////////
               //STOCK MOMENTUM INDEX//
a = input(5, 'Percent K Length')
b = input(3, 'Percent D Length')
ovrsld = input.float(40, 'Over Bought')
ovrbgt = input(-40, 'Over Sold')
//lateleave = input(14, "Number of candles", type=input.integer)

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh + ll) / 2
// Nested Moving Average for smoother curves
avgrel = ta.ema(ta.ema(rdiff, b), b)
avgdiff = ta.ema(ta.ema(diff, b), b)
// SMI calculations
SMI = avgdiff != 0 ? avgrel / (avgdiff / 2) * 100 : 0
SMIsignal = ta.ema(SMI, b)

CrossoverIndex = ta.crossover(SMI, SMIsignal)
CrossunderIndex = ta.crossunder(SMI, SMIsignal)

plot1 = plot(SMI, color=color.new(color.aqua, 0), title='Stochastic Momentum Index', linewidth=1, style=plot.style_line)
plot2 = plot(SMIsignal, color=color.new(color.red, 0), title='SMI Signal Line', linewidth=1, style=plot.style_line)
hline = plot(ovrsld, color=color.new(color.red, 0), title='Over Bought')
lline = plot(ovrbgt, color=color.new(color.green, 0), title='Over Sold')

plot(CrossoverIndex ? close : na, color=color.new(color.aqua, 0), style=plot.style_cross, linewidth=2, title='RSICrossover')

mycol1 = SMIsignal > -ovrbgt ? color.red : na
mycol2 = SMIsignal < -ovrsld ? color.green : na

fill(plot1, hline, color=color.new(mycol1, 80))
fill(plot2, lline, color=color.new(mycol2, 80))

//////////////////////////////////////////////////////////////////////
                // Input EMA9 and EMA21 
EMA50Len      = input( 50 )
EMA50         = ta.ema(close, EMA50Len)
//////////////////////////////////////////////////////////////////////////

                // -------- VWAP  ----------//
vwapLine =      ta.vwap(close)
////////////////////////////////////////////////////////////////////////

                        //PROFIT TARGET//

longProfitPer   = input(10.0, title='Take Profit %') / 100
TargetPrice     = strategy.position_avg_price * (1 + longProfitPer) 
//plot              (strategy.position_size > 0 ? TargetPrice : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Price Target") 
 
                    //BUY STRATEGY CONDITION//

condentry =     ta.crossover(SMI, SMIsignal) and SMI < 0
profittarget =  TargetPrice
stoploss =     close < EMA50

///////////////////////////STRATEGY BUILD//////////////////////////////////////

if MarketOpen
    
    if close > EMA50 

        if (condentry) and Morning
            strategy.entry('Long', strategy.long)
            
        if profittarget and strategy.position_size > 0 
            strategy.exit(id="Long", limit=TargetPrice) 
                
if stoploss
    strategy.close('Long' )


আরো