यह रणनीति मॉर्निंग स्टार कैंडलस्टिक पैटर्न का उपयोग करके तेजी के ब्रेकआउट का व्यापार करती है। ट्रेडिंग सिग्नल तब उत्पन्न होते हैं जब मॉर्निंग स्टार पैटर्न ईएमए60 से ऊपर टूट जाता है।
तर्क यह हैः
60-दिवसीय घातीय चलती औसत ईएमए60 का ग्राफ बनाएं
मॉर्निंग स्टार पैटर्न की पहचान करें, जिसमें एक मंदी मोमबत्ती, डोजी / स्पिनिंग टॉप और पहली दो मोमबत्तियों के उच्च को तोड़ने वाली तेजी वाली मोमबत्ती शामिल है
मॉर्निंग स्टार पैटर्न के बाद ईएमए60 से ऊपर के लंबे संकेत ब्रेकआउट हैं
बाहर निकलने के लिए या तो लाभ लक्ष्य या ट्रेलिंग स्टॉप का उपयोग करें
स्टॉप लॉस पिछले 100 मोमबत्तियों के निम्नतम स्तर पर सेट करें
पैरामीटर जैसे कि मॉर्निंग स्टार सहिष्णुता विन्यस्त
यह रणनीति प्रवृत्ति की दिशा में मॉर्निंग स्टार्स की प्रवृत्ति उलट प्रकृति का लाभ उठाती है। अस्थिर बाजारों में अच्छा प्रदर्शन करती है।
मॉर्निंग स्टार प्रभावी रूप से अल्पकालिक उलटफेर का संकेत देता है
ब्रेकआउट प्रवेश और ट्रेलिंग स्टॉप रुझानों के माध्यम से चलता है
बैकवॉक विंडो अत्यधिक स्टॉप लॉस को रोकती है
पुनरावर्ती परीक्षण और अनुकूलन की आवश्यकता होती है
बहुत करीब रुकना अत्यधिक रुकने का कारण बन सकता है
लंबे समय तक केवल छोटे अवसरों को याद करता है
यह रणनीति प्रवृत्ति के अनुरूप मॉर्निंग स्टार पैटर्न की पहचान करती है और ट्रेड ब्रेकआउट करती है। पैरामीटर ट्यूनिंग इसे विभिन्न बाजार स्थितियों के अनुकूल बनाती है। लेकिन केवल लॉन्ग और स्टॉप लॉस के लिए सावधानीपूर्वक मूल्यांकन की आवश्यकता होती है।
/*backtest start: 2023-01-01 00:00:00 end: 2023-03-23 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) // © TheSocialCryptoClub // Author: @devil_machine //@version=5 strategy("PURE MORNING 2.0", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, slippage=1,backtest_fill_limits_assumption=1,use_bar_magnifier= true, commission_type=strategy.commission.percent, commission_value=0.075 ) //------------------------------ // Indicators //------------------------------ rma=ta.rma(close, 60) mfi=ta.mfi(close, 10) rsi=ta.rsi(close, 14) atr7= ta.atr(7) ema60=ta.ema(close,60) plot(ema60,"EMA 60", color.new(color.aqua,0)) //------------------------------ // Doji settings //------------------------------ //-----------------------------------------------MORNING DOJI STAR CODE range1= high - low tolerance = input.float(defval=0.09, title="MDS Tolerance",group= "DOJI SETTINGS", minval=0.01, maxval=1, step=0.01)/100 candle1 = math.abs (close[2] - open[2]) /range1[2] > .6 and close[2] < open[2] candle2 = ((open[1] > close[1] and open[1] < close[1]*(1+tolerance)) or (open[1] < close[1] and open[1] > close[1]*(1-tolerance)) and close [1]<close[2]+range1[2]) candle3 = close > open and close > (close[2]+range1[2]) MDS = candle1 and candle2 and candle3 plotshape (MDS and close > ema60, text="MD", textcolor=color.yellow, offset=-1, location=location.abovebar, color=color.green, style=shape.triangleup) plotshape (MDS and close < ema60, text="MD", textcolor=color.olive, offset=-1, location=location.belowbar, color=color.red, style=shape.triangledown) //------------------------------------------------DOJI CODE tolerance1= input.float(defval=0.05, title="DOJI Tolerance",group= "DOJI SETTINGS", minval=0.01, maxval=1, step=0.01)/100 Is_OC_Equal= (open > close and open < close*(1+tolerance1)) or (open < close and open > close*(1-tolerance1)) plotshape(Is_OC_Equal and close < ema60, text="D", textcolor=color.red, location=location.belowbar, color=color.red) plotshape(Is_OC_Equal and close > ema60, text="D", textcolor = color.green, location=location.abovebar, color=color.green) //------------------------------ // Filter //------------------------------ xl_tp_percent = input.float(9,step=0.5, title="Take Profit", group="EXIT LONG") sl_type_ll = input.bool(true, "SL type Lowest Low", group="EXIT LONG") sl_len = input.int(100, "Stop Length", group="EXIT LONG") max_loss_filter = input.bool(false,"Max Loss Filter", group ="Filter") filter_percent = input.int(10, "Max Loss %", group="Filter") sl_type_percent = input.bool(false, "SL type Percent", group="EXIT LONG") xl_sl_percent = input.float(2,step=.5, title="Stop Loss", group="EXIT LONG") filter_stop= max_loss_filter == true ? close - ta.lowest (low, sl_len) < (close*filter_percent)/100 : true if sl_type_percent == true sl_type_ll := false //------------------------------ // Entry Long //------------------------------ el_cond = Is_OC_Equal and close > ta.ema(close, 60) and filter_stop el_cond_02 = MDS and close > ta.ema(close, 60) and filter_stop mess = "!buy " + syminfo.ticker // Executor command to buy automatically if el_cond strategy.entry ("EL", strategy.long, alert_message = mess,comment = "EL cond 1") plotshape(el_cond and strategy.position_size == 0, "el_long", shape.circle, color=color.green) if el_cond_02 strategy.entry ("EL", strategy.long, alert_message = mess,comment = "EL cond 2" ) plotshape(el_cond_02 and strategy.position_size == 0, "el_long_02", shape.circle, color=color.green) //------------------------------ //Exit Long TP - SL //------------------------------ xl_sl_price = strategy.position_avg_price * (1-xl_sl_percent/100) xl_tp_price = strategy.position_avg_price * (1+xl_tp_percent/100) if sl_type_ll == true xl_sl_price := ta.lowest (low, sl_len) //------------------------------ //Trailing stop //------------------------------ xl_ts_percent = input.float(1, step=0.5, title= "Trailing theshold", group="TRAILING STOP") xl_to_percent = input.float(0.5, step=0.5, title= "Trailing offset", group="TRAILING STOP") xl_ts_tick = xl_ts_percent * close/syminfo.mintick/100 xl_to_tick = xl_to_percent * close/syminfo.mintick/100 mess_sell = "!sell " + syminfo.ticker // Executor command to sell automatically strategy.exit("XL+SL/TP", "EL", stop=xl_sl_price, limit=xl_tp_price, trail_points=xl_ts_tick, trail_offset=xl_to_tick,comment_loss= "STOP", comment_profit = "PROFIT",comment_trailing = "TS", alert_message = mess_sell) //------------------------------ // Conditional close on MFI //------------------------------ xl_cond= ta.crossover(mfi, 90) if xl_cond strategy.close("XL", alert_message = mess_sell) plotshape(xl_cond, "xl_cond", shape.circle, color=color.red)