यह एसएसएल चैनल संकेतक पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है। इसमें स्थिर पूंजी वृद्धि के लिए मुनाफे को लॉक करने के लिए स्टॉप लॉस और लाभ प्रबंधन शामिल है।
कोड का मुख्य तर्क एसएसएल के ऊपरी और निचले बैंड के स्वर्ण क्रॉस का उपयोग करने के लिए प्रवृत्ति की दिशा निर्धारित करना है। विशेष रूप से, जब एसएसएल ऊपरी बैंड नीचे से एसएसएल निचले बैंड के ऊपर से गुजरता है, और जब एसएसएल निचला बैंड ऊपर से एसएसएल ऊपरी बैंड के नीचे से गुजरता है, तो लंबा हो जाता है।
एक स्थिति में प्रवेश करने के बाद, रणनीति स्टॉप लॉस और ले लाभ की कीमतों को सेट करने के लिए एक गुणांक से गुणा एटीआर का उपयोग करेगी। उदाहरण के लिए, स्टॉप लॉस की कीमत मूल्य माइनस एटीआर * 1.5 है और ले लाभ की कीमत मूल्य प्लस एटीआर * 1 है। यह प्रभावी रूप से एकल हानि को नियंत्रित कर सकता है और लाभ में लॉक कर सकता है।
जब एसएसएल चैनल पार हो जाता है, तो स्थिति को बंद कर दें। यह समय पर स्टॉप हानि के लिए प्रवृत्ति में मोड़ बिंदुओं को ट्रैक कर सकता है।
संबंधित समाधानः
इस रणनीति का समग्र तर्क स्पष्ट है, प्रवृत्ति निर्धारित करने के लिए एसएसएल चैनल का उपयोग करना, और उचित स्टॉप लॉस और ले लाभ सेट करना। लेकिन गलत संकेतों को फ़िल्टर करने और सर्वोत्तम पैरामीटर संयोजन खोजने के लिए अन्य संकेतकों को शामिल करके, आगे परीक्षण और अनुकूलन की आवश्यकता है। साथ ही, विभिन्न बाजारों के अनुसार मापदंडों को समायोजित किया जाना चाहिए ताकि रणनीति अधिक लचीली हो सके। कुल मिलाकर, यह रणनीति स्थिर आय प्राप्त करने के लिए एक विश्वसनीय ढांचा प्रदान करती है।
/*backtest start: 2022-11-26 00:00:00 end: 2023-05-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Designed per No Nonsense Forex VP rules //For testing your individual indicators before the full system //Originated from causecelebre //Tried to put in as much VP rules as possible /////////////////////////////////////////////////// //Rules Implemented: /////////////////////////////////////////////////// // - SL 1.5 x ATR // - TP 1 x ATR // // - Entry conditions //// - Entry from 1 x confirmation // - Exit conditions //// - Exit on confirmation flip /////////////////////////////////////////////////// //Trades entries /////////////////////////////////////////////////// // - First entry L1 or S1 with standard SL and TP /////////////////////////////////////////////////// //Included Indicators and settings /////////////////////////////////////////////////// // - Confirmtion = SSL 10 /////////////////////////////////////////////////// //Credits // Strategy causecelebre https://www.tradingview.com/u/causecelebre/ // SSL Channel ErwinBeckers https://www.tradingview.com/u/ErwinBeckers/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Change log //First release. Testing of indicators ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// strategy(title="NNFX Strategy Indicator | jh", overlay = true ) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // **** Set the main stuff **** /////////////////////////////////////////////////// //Price price = close ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ATR stuff /////////////////////////////////////////////////// slMultiplier = input(1.5, "SL") tpMultiplier = input(1, "TP") atrlength = input(title="ATR Length", defval=14, minval=1) atrsmoothing = input(title="Smoothing", defval="SMA", options=["RMA", "SMA", "EMA", "WMA"]) ma_function(source, atrlength) => if atrsmoothing == "RMA" rma(source, atrlength) else if atrsmoothing == "SMA" sma(source, atrlength) else if atrsmoothing == "EMA" ema(source, atrlength) else wma(source, atrlength) //plot(ma_function(tr(true), atrlength), title = "ATR", color=#991515, transp=0) atr = ma_function(tr(true), atrlength) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // **** Confirmation **** /////////////////////////////////////////////////// ssllen=input(title="SSL Length Period", defval=10) smaHigh=sma(high, ssllen) smaLow=sma(low, ssllen) Hlv = na Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? smaHigh: smaLow sslUp = Hlv < 0 ? smaLow : smaHigh plot(sslDown, "SSL Down", linewidth=1, color=red) plot(sslUp, "SSL Up", linewidth=1, color=lime) /////////////////////////////////////////////////// //Confirm Signals /////////////////////////////////////////////////// c_Up = sslUp c_Down = sslDown //Signals based on crossover c_Long = crossover(c_Up, c_Down) c_Short = crossover(c_Down, c_Up) //Signals based on signal position trendLong = c_Up > c_Down ? 1 : 0 trendShort = c_Down > c_Up ? 1 : 0 confirmLong = c_Long confirmShort = c_Short plotshape(trendLong, color = green, style=shape.triangleup, location=location.bottom) plotshape(trendShort, color = red, style=shape.triangledown, location=location.bottom) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Entries and Exits ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (year>2009) //Long entries with standard 1.5 ATR for SL, 1 ATR for TP long_sl = price - (atr * slMultiplier) long_tp = price + (atr * tpMultiplier) strategy.order("L1", strategy.long, when = confirmLong) strategy.close("L1", when = confirmShort) strategy.exit("L Limit Exit", "L1", stop = long_sl, limit = long_tp) //Short entries with standard 1.5 ATR for SL, 1 ATR for TP short_sl = price + (atr * slMultiplier) short_tp = price - (atr * tpMultiplier) strategy.order("S1", strategy.short, when = confirmShort) strategy.close("S1", when = confirmLong) strategy.exit("S Limit Exit", "S1", stop = short_sl, limit = short_tp) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //End //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////