यह रणनीति स्पॉट ट्रेडिंग प्लेटफॉर्म BitMEX के लिए डिज़ाइन की गई है। तेजी से RSI संकेतक का विश्लेषण करके और कई तकनीकी संकेतों को स्क्रीन संकेतों के साथ जोड़कर, यह कुशल ट्रेंड ट्रैकिंग ट्रेडिंग का एहसास करता है। रणनीति प्रभावी रूप से ट्रेडिंग जोखिमों को नियंत्रित करने के लिए जोखिम प्रबंधन और स्टॉप लॉस तंत्र भी निर्धारित करती है।
7 दिनों के मापदंडों और ओवरबॉट लाइन 25, ओवरसोल्ड लाइन 75 के साथ तेजी से आरएसआई की गणना करें। जब आरएसआई ओवरबोल्ड लाइन से पार होता है, तो यह ओवरबोल्ड सिग्नल है। जब आरएसआई ओवरसोल्ड लाइन से नीचे जाता है, तो यह ओवरसोल्ड सिग्नल है।
मोमबत्ती के शरीर पर फिल्टर सेट करें. कल की औसत शरीर लंबाई के 20% से कम नहीं के शरीर की लंबाई के साथ मंदी मोमबत्ती के रूप में खोलने की आवश्यकता है.
मोमबत्ती के रंग पर फ़िल्टर सेट करें. शॉर्ट जाने पर आखिरी 4 मोमबत्तियों को मंदी के रूप में, और लंबे समय तक जाने पर आखिरी 4 मोमबत्तियों को तेजी के रूप में आवश्यक है.
स्टॉप लॉस लॉजिक सेट करें जब कीमत प्रतिकूल दिशा में चले तो स्थिति बंद करें।
एंटी-विपसा तंत्र सेट करें. केवल जब मूल्य प्रारंभिक कदम के बाद हानि स्तर को रोकने के लिए ठीक हो जाता है संकेत ले.
प्रत्येक व्यापार के लिए पूंजी का निश्चित प्रतिशत का उपयोग करें, और प्रत्येक हानि के बाद स्थिति का आकार दोगुना करें।
तेजी से आरएसआई मापदंडों को उचित रूप से सेट किया जा सकता है तेजी से रुझानों को पकड़ सकते हैं। कैंडलस्टिक शरीर और रंग फिल्टर के साथ संयोजन प्रभावी ढंग से झूठे ब्रेकआउट से बच सकते हैं।
मल्टी-लेयर फिल्टर ट्रेडों की संख्या को कम करके जीत की दर को बढ़ाता है।
अंतर्निहित स्टॉप लॉस तंत्र प्रति ट्रेड हानि की सीमाएँ।
गतिशील स्थिति आकार मध्यम आक्रामक पूंजी प्रबंधन को प्राप्त करता है।
अनुकूलन योग्य ट्रेडिंग समय सीमा प्रमुख घटनाओं से शोर से बचती है।
उच्च गति कुछ व्यापारिक अवसरों को याद कर सकती है। अधिक लचीलापन के लिए मापदंडों को आराम दे सकती है।
रुझान के अंत का निर्धारण करना कठिन है। संभावित उलटफेर का पता लगाने के लिए अन्य संकेतकों के साथ संयोजन पर विचार करें।
स्थिति आकार विधि बहुत आक्रामक है, लॉक स्थिति रास्ता पेश कर सकते हैं।
बेहतर पैरामीटर संयोजन खोजने के लिए विभिन्न बाजारों के लिए मापदंडों का अनुकूलन कर सकते हैं।
कुल मिलाकर यह रणनीति काफी मजबूत है। तेजी से आरएसआई के साथ प्रवृत्ति की दिशा का न्याय करके और कई संकेतकों के साथ संकेतों को फ़िल्टर करके, यह प्रवृत्तियों के दौरान अच्छा रिटर्न प्राप्त कर सकता है। इसके अलावा रणनीति में अनुकूलन के लिए जगह है। पैरामीटर संयोजन को समायोजित करके यह विभिन्न बाजार वातावरण के अनुकूल हो सकता है, इस प्रकार अच्छी व्यावहारिकता है।
/*backtest start: 2023-11-05 00:00:00 end: 2023-11-12 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Robot BitMEX Fast RSI v1.0", shorttitle = "Robot BitMEX Fast RSI v1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") usemar = input(true, defval = true, title = "Use Martingale") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") rsiperiod = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI Period") rsilimit = input(25, defval = 25, minval = 1, maxval = 30, title = "RSI limit") rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars") useocf = input(true, defval = true, title = "Use Open Color Filter") useccf = input(true, defval = true, title = "Use Close Color Filter") openbars = input(4, defval = 4, minval = 1, maxval = 20, title = "Open Color Bars") closebars = input(1, defval = 1, minval = 1, maxval = 20, title = "Close Color Bars") useobf = input(true, defval = true, title = "Use Open Body Filter") usecbf = input(true, defval = true, title = "Use Close Body Filter") openbody = input(20, defval = 20, minval = 0, maxval = 1000, title = "Open Body Minimum, %") closebody = input(50, defval = 50, minval = 0, maxval = 1000, title = "Close Body Minimum, %") usecnf = input(true, defval = true, title = "Use Close Norma Filter") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day") //RSI uprsi = rma(max(change(close), 0), rsiperiod) dnrsi = rma(-min(change(close), 0), rsiperiod) rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi)) uplimit = 100 - rsilimit dnlimit = rsilimit rsidn = rsi < dnlimit ? 1 : 0 rsiup = rsi > uplimit ? 1 : 0 rsidnok = sma(rsidn, rsibars) == 1 rsiupok = sma(rsiup, rsibars) == 1 //Body Filter body = abs(close - open) abody = sma(body, 10) openbodyok = body >= abody / 100 * openbody or useobf == false closebodyok = body >= abody / 100 * closebody or usecbf == false //Color Filter bar = close > open ? 1 : close < open ? -1 : 0 gbar = bar == 1 ? 1 : 0 rbar = bar == -1 ? 1 : 0 opengbarok = sma(gbar, openbars) == 1 or useocf == false openrbarok = sma(rbar, openbars) == 1 or useocf == false closebarok = (strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1) or useccf == false //Norma Filter norma = (rsi > dnlimit and rsi < uplimit) or usecnf == false //Signals up = openrbarok and rsidnok and openbodyok and (strategy.position_size == 0 or close < strategy.position_avg_price) dn = opengbarok and rsiupok and openbodyok and (strategy.position_size == 0 or close > strategy.position_avg_price) exit = ((strategy.position_size > 0 and closebarok and norma) or (strategy.position_size < 0 and closebarok and norma)) and closebodyok //Indicator plot(rsi, color = blue, linewidth = 3, title = "Double RSI") plot(uplimit, color = black, title = "Upper Line") plot(dnlimit, color = black, title = "Lower Line") colbg = rsi > uplimit ? red : rsi < dnlimit ? lime : na bgcolor(colbg, transp = 20) //Trading profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1] mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1 lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1] if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()