संसाधन लोड हो रहा है... लोड करना...

इंट्राडे पिवोट ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-03 16:35:15
टैगः

img

अवलोकन

यह रणनीति एक निर्दिष्ट समय अवधि के भीतर मूल्य ब्रेकआउट के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती है। मुख्य विचार कुछ अवधि के दौरान मूल्य आंदोलनों का निरीक्षण करना और प्रवृत्ति परिवर्तनों को निर्धारित करने के लिए मूल्य सीमा में ब्रेकआउट का उपयोग करना है।

रणनीति तर्क

रणनीति मूल्य के आंदोलनों को मापने के लिए एक निश्चित समय सीमा के भीतर मूल्य के उच्चतम उच्च और निम्नतम निम्न की गणना करती है, जिसे पिवोट उच्च और पिवोट निम्न के रूप में जाना जाता है।

विशेष रूप से, यह पिछले एन बार के उच्चतम उच्च को पिवोट उच्च के रूप में और पिछले एम बार के निम्नतम निम्न को पिवोट निम्न के रूप में गणना करता है। एक लंबा संकेत तब उत्पन्न होता है जब वर्तमान बार का उच्च पिवोट उच्च से ऊपर टूट जाता है। एक छोटा संकेत तब उत्पन्न होता है जब वर्तमान बार का निम्न पिवोट निम्न से नीचे टूट जाता है।

प्रवेश के बाद, रणनीति स्टॉप लॉस और इंट्राडे स्टॉप लॉस के लिए एटीआर का उपयोग करती है। यह एक विशिष्ट समय सीमा (जैसे 14:55) पर सभी पदों को भी बंद करती है।

रणनीति प्रभावी रूप से कुछ अवधि के दौरान सरल मूल्य ब्रेकआउट का उपयोग करके रुझानों को पकड़ती है, जिससे यह इंट्राडे ट्रेडिंग के लिए आदर्श है। तर्क स्पष्ट और लागू करने में आसान है।

लाभ

  • मूल्य ब्रेकआउट का उपयोग करके ट्रेंड परिवर्तनों को विश्वसनीय रूप से कैप्चर करता है
  • बुनियादी ओएचएलसी डेटा के साथ सरल कार्यान्वयन
  • उचित स्टॉप लॉस और इंट्राडे स्टॉप लॉस जोखिमों का प्रबंधन
  • दिन के भीतर व्यापार के लिए उपयुक्त ओवरनाइट जोखिमों से बचता है
  • अनुकूलित करने के लिए आसान कुछ मापदंड

जोखिम और न्यूनीकरण

  • संभावित विलंब, प्रारंभिक प्रवृत्ति की शुरुआत को याद कर सकता है

    प्रवेश के लिए समय-सीमा को समायोजित करें या अन्य संकेतकों को मिलाएं

  • अधिक झूठे संकेत जब प्रवृत्ति अस्पष्ट है

    मापदंडों को ट्यून करें, सूचक, वॉल्यूम आदि जैसे फ़िल्टर जोड़ें

  • सक्रिय दिन के भीतर व्यापार के लिए उच्च पूंजी लागत

    स्थिति आकार समायोजित करें, धारण अवधि का विस्तार करें

  • पैरामीटर अनुकूलन पर निर्भरता

    मशीन लर्निंग आदि का उपयोग करके बदलती बाजार स्थितियों के लिए मापदंडों को अनुकूलित करें।

बढ़ोतरी के अवसर

  • अन्य मूल्य डेटा जैसे कि विशिष्ट मूल्य, मध्य मूल्य आदि का परीक्षण करें।

  • वॉल्यूम, अस्थिरता जैसे फ़िल्टर जोड़ें

  • विभिन्न पैरामीटर संयोजनों का प्रयास करें

  • दिशा निर्धारित करने के लिए रुझान संकेतकों को शामिल करें

  • मशीन लर्निंग का उपयोग करके पैरामीटर का स्वतः अनुकूलन करें

  • बेहतर प्रविष्टि के लिए कई समय सीमाओं का विस्तार करें

निष्कर्ष

रणनीति में एक स्पष्ट और संक्षिप्त तर्क है, जो अच्छे लाभ कारकों के साथ अल्पकालिक रुझानों को पकड़ने के लिए मूल्य ब्रेकआउट पर प्रभावी ढंग से पूंजीकरण करता है। परीक्षण और अनुकूलन के लिए आसान कुछ ट्यून करने योग्य मापदंडों के साथ, यह इंट्राडे ट्रेडिंग के लिए अच्छी तरह से उपयुक्त है। जबकि देरी और झूठे संकेत मौजूद हैं, उन्हें पैरामीटर ट्यूनिंग, फिल्टर आदि जोड़ने के माध्यम से संबोधित किया जा सकता है। रणनीति एक मजबूत ब्रेकआउट-आधारित ट्रेडिंग फ्रेमवर्क प्रदान करती है जिसमें पर्याप्त अनुकूलन स्थान है।


/*backtest
start: 2022-10-27 00:00:00
end: 2023-11-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//   ____________        _________           _____________
//  |____________|      ||________|          ||__________|
//       ||             ||        ||         ||
//       ||             ||________||         ||
//       ||     H E     ||________   U L L   ||       H A R T I S T
//       ||             ||        ||         ||
//       ||             ||________||         ||__________
//       ||             ||________|          ||__________|
  
//@version=5
// strategy("PIVOT STRATEGY [5MIN TF]",overlay=true ,commission_type = strategy.cash, commission_value = 30 , slippage = 2, default_qty_value = 60, currency = currency.NONE, pyramiding = 0)
leftbars = input(defval = 10)
rightbars = input(defval = 15)

// ═══════════════════════════ //
// ——————————> INPUTS <——————— //
// ═══════════════════════════ //

EMA1 = input.int(title='PRICE CROSS EMA', defval = 150, minval = 10 ,maxval = 400)
factor1 = input.float(title='_ATR LONG',defval = 3.2 , minval = 1 , maxval = 5 , step = 0.1, tooltip = "ATR TRAIL LONG")
factor2 = input.float(title='_ATR SHORT',defval = 3.2 , minval = 1 , maxval = 5 , step = 0.1, tooltip = "ATR TRAIL SHORT")
risk = input.float(title='RISK',defval = 200 , minval = 1 , maxval = 5000 , step = 50, tooltip = "RISK PER TRADE")

var initialCapital = strategy.equity
t = time(timeframe.period, '0935-1400:1234567')
time_cond = true

// ══════════════════════════════════ //
// ———————————> EMA DATA <——————————— //
// ══════════════════════════════════ //
ema1 = ta.ema(close, EMA1)

plot(ema1, color=color.new(color.yellow, 0), style=plot.style_linebr, title='ema1')

// ══════════════════════════════════ //
// ————————> TRAIL DATA <———————————— //
// ══════════════════════════════════ //
// *******Calculate LONG TRAIL data*****
ATR_LO = ta.atr(14)*factor1

// *******Calculate SHORT TRAIL data*****
ATR_SH = ta.atr(14)*factor2

longStop = close - ATR_LO
shortStop = close + ATR_SH

// Plot atr data
//plot(longStop, color=color.new(color.green, 0), style=plot.style_linebr, title='Long Trailing Stop')
//plot(shortStop , color=color.new(color.red, 0), style=plot.style_linebr, title='Short Trailing Stop')

// ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ //
// ————————————————————————————————————————————————————————> PIVOT DATA <———————————————————————————————————————————————————————————————————————————————————————————————————— //
// ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ //

ph = ta.pivothigh(close,leftbars, rightbars)
pl = ta.pivotlow(close,leftbars, rightbars)

pvt_condition1 = not na(ph)

upper_price = 0.0
upper_price := pvt_condition1 ? ph : upper_price[1]

pvt_condition2 = not na(pl)

lower_price = 0.0
lower_price := pvt_condition2 ? pl : lower_price[1]

// Signals
long  = ta.crossover(high, upper_price + syminfo.mintick)
short = ta.crossunder(low, lower_price - syminfo.mintick)

plot(upper_price, color= close > ema1  ? color.green : na, style=plot.style_line, title='PH')

plot(lower_price,  color= close <  ema1  ? color.red : na, style=plot.style_line, title='PL')


// ══════════════════════════════════//
// ————————> LONG POSITIONS <————————//
// ══════════════════════════════════//
//******barinstate.isconfirmed used to avoid repaint in real time*******

if ( long and strategy.opentrades==0 and barstate.isconfirmed and time_cond and close >= ema1 )
    strategy.entry(id= "Long" ,direction = strategy.long, comment = "B")
    
//plot(longStop , color=color.new(color.blue, 0), style=plot.style_linebr, title='long Stop')

if strategy.position_size > 0 
    strategy.exit("long tsl", "Long" , stop = longStop ,comment='S')
 

// ═════════════════════════════════════//
// ————————> SHORT POSITIONS <————————— //
// ═════════════════════════════════════//
if ( short and strategy.opentrades==0 and barstate.isconfirmed and time_cond and close <= ema1 )
    strategy.entry(id = "Short" ,direction = strategy.short,  comment = "S") 

if strategy.position_size < 0
    strategy.exit("short tsl", "Short" ,  stop = shortStop ,comment='B')

// ════════════════════════════════════════════════//
// ————————> CLOSE ALL POSITIONS BY 3PM <————————— //
// ════════════════════════════════════════════════//
strategy.close_all(when = hour == 14 and minute == 55)

// ════════════════════════════════════════//
// ————————> MAX INTRADAY LOSS  <————————— //
// ════════════════════════════════════════//
// strategy.risk.max_intraday_loss(type = strategy.cash, value = risk)



अधिक