4
ध्यान केंद्रित करना
1271
समर्थक

वैकल्पिक ट्रेडिंग विचार--के-लाइन क्षेत्र ट्रेडिंग रणनीति

में बनाया: 2023-11-03 17:12:42, को अपडेट: 2024-11-08 09:08:54
comments   0
hits   1617

वैकल्पिक ट्रेडिंग विचार–के-लाइन क्षेत्र ट्रेडिंग रणनीति

एक बहुत विश्वसनीय ट्रेडिंग विचार - के-लाइन क्षेत्र ट्रेडिंग रणनीति को देखते हुए, इस लेख में हम इस विचार पर चर्चा करेंगे और इस स्क्रिप्ट को लागू करने का प्रयास करेंगे।

के-लाइन क्षेत्र रणनीति का मुख्य विचार

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

के-लाइन क्षेत्र रणनीति का सिद्धांत

कैंडलस्टिक क्षेत्र मूल्य कैंडलस्टिक और चलती औसत के बीच के स्थान को संदर्भित करता है, जिसकी गणना प्रत्येक बार के समापन मूल्य से चलती औसत मूल्य को घटाकर और फिर उन्हें जोड़कर की जाती है। जब कीमत लंबे समय तक और बड़े आयाम में बढ़ती है, तो के-लाइन का क्षेत्र बड़ा हो जाएगा, जबकि अस्थिर बाजार में या अस्थिरता के बाद उलटफेर में, के-लाइन का क्षेत्र छोटा हो जाएगा . “सब कुछ विपरीत चरम पर जाता है” के सिद्धांत के अनुसार, ऊपर की ओर प्रवृत्ति जितनी अधिक होगी और समय जितना अधिक होगा, संबंधित के-लाइन क्षेत्र उतना ही बड़ा होगा, और उलटने की संभावना जितनी अधिक होगी, बस एक वसंत की तरह, यह जितना लंबा होगा जितना अधिक खिंचाव होगा, प्रतिक्षेप बल उतना ही अधिक होगा। इसलिए, के-लाइन क्षेत्र के लिए एक सीमा निर्धारित की जाती है। जब यह सीमा पहुँच जाती है, तो मूल्य प्रवृत्ति पूरी हो सकती है और उलटफेर की संभावना अधिक होती है।

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

के-लाइन क्षेत्र रणनीति के लाभ

के-लाइन क्षेत्र रणनीति का लाभ यह है कि यह मूल्य प्रवृत्तियों के आयाम और परिवर्तनों के साथ-साथ खरीद और बिक्री की भावना के रूपांतरण को जोड़ती है, जिससे अपेक्षाकृत पूर्ण मात्रात्मक व्यापार रणनीति उपलब्ध होती है। इसके लाभों में निम्नलिखित शामिल हैं:

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

के-लाइन क्षेत्र रणनीति के जोखिम

यद्यपि कैंडलस्टिक क्षेत्र रणनीति के कुछ फायदे हैं, लेकिन इसमें कुछ जोखिम भी हैं, जिनमें शामिल हैं:

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

के-लाइन क्षेत्र रणनीति की अनुकूलन दिशा

के-लाइन क्षेत्र रणनीति को अनुकूलित करने के लिए, निम्नलिखित दिशाओं पर विचार किया जा सकता है:

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

जावास्क्रिप्ट का उपयोग करके इस रणनीति को लागू करें

  • कैंडलस्टिक के क्षेत्र की गणना करें

  • लंबी स्थिति खोलने के लिए संकेत:

(1) नीचे की ओर प्रवृत्ति का “के-लाइन क्षेत्र” दहलीज तक पहुँच जाता है, जिसे पहले स्थापित किया जा सकता है

(2) केडीजे सूचक मान 80 से अधिक है

  • शॉर्ट पोजीशन खोलने का संकेत:

(1) ऊपर की ओर प्रवृत्ति का “के-लाइन क्षेत्र” दहलीज तक पहुँच जाता है, जिसे पहले स्थापित किया जा सकता है

(2) केडीजे सूचक मान 20 से कम है

  • लॉन्ग/शॉर्ट एग्जिट: एटीआर ट्रैकिंग स्टॉप लॉस और टेक प्रॉफिट

कोड कार्यान्वयन

// 参数
var maPeriod = 30
var threshold = 50000
var amount = 0.1

// 全局变量
let c = KLineChart({})
let openPrice = 0
let tradeState = "NULL"  // NULL BUY SELL

function calculateKLineArea(r, ma) {
    var lastCrossUpIndex = null
    var lastCrossDownIndex = null
    for (var i = r.length - 1 ; i >= 0 ; i--) {
        if (ma[i] !== null && r[i].Open < ma[i] && r[i].Close > ma[i]) {
            lastCrossUpIndex = i
            break
        } else if (ma[i] !== null && r[i].Open > ma[i] && r[i].Close < ma[i]) {
            lastCrossDownIndex = i
            break
        }

        if (i >= 1 && ma[i] !== null && ma[i - 1] !== null && r[i - 1].Close < ma[i - 1] && r[i].Close > ma[i]) {
            lastCrossUpIndex = i
            break
        } else if (i >= 1 && ma[i] !== null && ma[i - 1] !== null && r[i - 1].Close > ma[i - 1] && r[i].Close < ma[i]) {
            lastCrossDownIndex = i
            break
        }
    }

    var area = 0
    if (lastCrossDownIndex !== null) {
        for (var i = r.length - 1 ; i >= lastCrossDownIndex ; i--) {
            area -= Math.abs(r[i].Close - ma[i])
        }
    } else if (lastCrossUpIndex !== null) {
        for (var i = r.length - 1 ; i >= lastCrossUpIndex ; i--) {
            area += Math.abs(r[i].Close - ma[i])
        }
    }

    return [area, lastCrossUpIndex, lastCrossDownIndex]
}

function onTick() {
    var r = _C(exchange.GetRecords)
    if (r.length < maPeriod) {
        LogStatus(_D(), "K线数量不足")
        return 
    }
    var ma = TA.MA(r, maPeriod)
    var atr = TA.ATR(r)
    var kdj = TA.KDJ(r)
    var lineK = kdj[0]
    var lineD = kdj[1]
    var lineJ = kdj[2]
    var areaInfo = calculateKLineArea(r, ma)
    var area = _N(areaInfo[0], 0)
    var lastCrossUpIndex = areaInfo[1]
    var lastCrossDownIndex = areaInfo[2]
    
    r.forEach(function(bar, index) {
        c.begin(bar)
        c.plotcandle(bar.Open, bar.High, bar.Low, bar.Close, {overlay: true})
        let maLine = c.plot(ma[index], "ma", {overlay: true})
        let close = c.plot(bar.Close, 'close', {overlay: true})
        c.fill(maLine, close, {color: bar.Close > ma[index] ? 'rgba(255, 0, 0, 0.1)' : 'rgba(0, 255, 0, 0.1)'})
        if (lastCrossUpIndex !== null) {
            c.plotchar(bar.Time, {char: '$:' + area, overlay: true})
        } else if (lastCrossDownIndex !== null) {
            c.plotchar(bar.Time, {char: '$:' + area, overlay: true})
        }
        c.plot(lineK[index], "K")
        c.plot(lineD[index], "D")
        c.plot(lineJ[index], "J")

        c.close()
    })
    
    if (tradeState == "NULL" && area < -threshold && lineK[lineK.length - 1] > 70) {
        // long
        let tradeInfo = $.Buy(amount)
        if (tradeInfo) {
            openPrice = tradeInfo.price
            tradeState = "BUY"
        }
    } else if (tradeState == "NULL" && area > threshold && lineK[lineK.length - 1] < 30) {
        // short
        let tradeInfo = $.Sell(amount)
        if (tradeInfo) {
            openPrice = tradeInfo.price
            tradeState = "SELL"
        }
    }
    
    let stopBase = tradeState == "BUY" ? Math.max(openPrice, r[r.length - 2].Close) : Math.min(openPrice, r[r.length - 2].Close)
    if (tradeState == "BUY" && r[r.length - 1].Close < stopBase - atr[atr.length - 2]) {
        // cover long
        let tradeInfo = $.Sell(amount)
        if (tradeInfo) {
            tradeState = "NULL"
            openPrice = 0
        }        
    } else if (tradeState == "SELL" && r[r.length - 1].Close > stopBase + atr[atr.length - 2]) {
        // cover short 
        let tradeInfo = $.Buy(amount)
        if (tradeInfo) {
            tradeState = "NULL"
            openPrice = 0
        }        
    }

    LogStatus(_D(), "area:", area, ", lineK[lineK.length - 2]:", lineK[lineK.length - 2])
}


function main() {    
    if (exchange.GetName().includes("_Futures")) {
        throw "not support Futures"
    }
    while (true) {
        onTick()
        Sleep(1000)
    }
}

रणनीति का तर्क बहुत सरल है:

  1. सबसे पहले, कुछ वैश्विक चर और पैरामीटर परिभाषित किए जाते हैं, जिनमें शामिल हैं:

रणनीति पैरामीटर

  • maPeriod: चल औसत की अवधि.
  • सीमा: वह सीमा जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि कब खरीदना या बेचना है।
  • राशि: प्रत्येक लेनदेन की राशि.

सार्वत्रिक चर

  • c: K-लाइन चार्ट ऑब्जेक्ट, चार्ट बनाने के लिए उपयोग किया जाता है।
  • openPrice: प्रारंभिक मूल्य रिकॉर्ड करता है.
  • tradeState: लेनदेन की स्थिति रिकॉर्ड करता है, जो “NULL” (खाली स्थिति), “BUY” (खरीद) या “SELL” (बेचना) हो सकती है।

गणना फ़ंक्शन

  • calculateKLineArea फ़ंक्शन: इस फ़ंक्शन का उपयोग कैंडलस्टिक चार्ट पर समय की अवधि में मूल्य और चलती औसत के बीच के क्षेत्र की गणना करने के लिए किया जाता है, और क्षेत्र मान, अंतिम क्रॉस-अपवर्ड क्रॉसिंग का कैंडलस्टिक इंडेक्स और अंतिम क्रॉस-डाउनवर्ड क्रॉसिंग. इन मूल्यों का उपयोग बाद के निर्णयों में यह निर्धारित करने के लिए किया जाता है कि कब खरीदना और कब बेचना है।

मुख्य लूप फ़ंक्शन

  • onTick फ़ंक्शन: यह मुख्य रणनीति निष्पादन फ़ंक्शन है। फ़ंक्शन के भीतर निम्नलिखित ऑपरेशन हैं:

क. नवीनतम K-लाइन डेटा प्राप्त करें और सुनिश्चित करें कि K-लाइनों की संख्या maPeriod से कम न हो, अन्यथा स्थिति रिकॉर्ड करें और वापस लौटें।

ख. मूविंग एवरेज एमए और एटीआर इंडिकेटर एटीआर, साथ ही केडीजे इंडिकेटर की गणना करें।

c. क्षेत्र जानकारी, अंतिम क्रॉस-अप K-लाइन इंडेक्स, और अंतिम क्रॉस-डाउन K-लाइन इंडेक्स areaInfo से प्राप्त करें।

d. कैंडलस्टिक चार्ट ऑब्जेक्ट c का उपयोग करके कैंडलस्टिक और इंडिकेटर रेखाएँ बनाएँ, और उन्हें कीमत और मूविंग एवरेज के बीच के संबंध के अनुसार अलग-अलग रंगों से भरें।

ई. परिस्थितियों के आधार पर खरीद और बिक्री का समय निर्धारित करें:

यदि ट्रेडस्टेट “NULL” है, और क्षेत्र -थ्रेशोल्ड से कम है और KDJ कैंडलस्टिक मूल्य 70 से अधिक है, तो खरीद ऑपरेशन किया जाता है। यदि ट्रेडस्टेट “NULL” है, और क्षेत्र सीमा से अधिक है और KDJ कैंडलस्टिक मूल्य 30 से कम है, तो विक्रय ऑपरेशन निष्पादित करें। एफ. स्टॉप लॉस और लाभ लेने की शर्तें निर्धारित करें और यदि शर्तें पूरी होती हैं तो स्थिति को बंद करें:

यदि यह खरीद की स्थिति में है, तो स्थिति तब बंद हो जाती है जब कीमत पिछले कारोबारी दिन के समापन मूल्य से पिछले दिन के एटीआर को घटाकर कम हो जाती है। यदि यह विक्रय स्थिति में है, तो स्थिति तब बंद हो जाती है जब कीमत पिछले कारोबारी दिन के समापन मूल्य तथा पिछले दिन के एटीआर से अधिक होती है। मुख्य फ़ंक्शन: यह मुख्य निष्पादन प्रविष्टि बिंदु है, यह जाँचता है कि एक्सचेंज नाम में “_“फ्यूचर्स”, यदि शामिल है, तो एक अपवाद फेंकता है, अन्यथा एक अनंत लूप में प्रवेश करता है, प्रत्येक लूप में onTick फ़ंक्शन निष्पादित करता है और 1 सेकंड के लिए सो जाता है।

सामान्यतः, यह रणनीति खरीद और बिक्री के निर्णय लेने के लिए मुख्य रूप से के-लाइन चार्ट और तकनीकी संकेतकों पर निर्भर करती है, जबकि जोखिमों का प्रबंधन करने के लिए स्टॉप-लॉस और टेक-प्रॉफिट रणनीतियों का उपयोग करती है। कृपया ध्यान दें कि यह केवल एक उदाहरण रणनीति है और वास्तविक उपयोग को बाजार की स्थितियों और विशिष्ट आवश्यकताओं के आधार पर समायोजित और अनुकूलित करने की आवश्यकता है।

इस मॉडल को FMZ.COM पर जावास्क्रिप्ट का उपयोग करके, बिना कोड की कई पंक्तियों का उपयोग किए, आसानी से क्रियान्वित किया गया। और K-लाइन क्षेत्र का ग्राफिकल प्रतिनिधित्व KLineChart फ़ंक्शन का उपयोग करके आसानी से प्राप्त किया जाता है। यह रणनीति क्रिप्टोकरेंसी स्पॉट मार्केट के लिए डिज़ाइन की गई है और “डिजिटल करेंसी स्पॉट ट्रेडिंग लाइब्रेरी” टेम्पलेट का उपयोग करती है। टेम्पलेट में समाहित फ़ंक्शन का उपयोग करके ऑर्डर देना भी बहुत सरल, उपयोग में आसान और समझने में आसान है।

रणनीति बैकटेस्टिंग

वैकल्पिक ट्रेडिंग विचार–के-लाइन क्षेत्र ट्रेडिंग रणनीति

वैकल्पिक ट्रेडिंग विचार–के-लाइन क्षेत्र ट्रेडिंग रणनीति

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

वैकल्पिक ट्रेडिंग विचार–के-लाइन क्षेत्र ट्रेडिंग रणनीति

इस रणनीति के माध्यम से, अधिक वैकल्पिक ट्रेडिंग विचार सीखने के अलावा, हमने यह भी सीखा कि चार्ट कैसे बनाएं; के-लाइन और मूविंग एवरेज से घिरे क्षेत्र को कैसे प्रदर्शित करें; केडीजे संकेतक कैसे बनाएं, आदि।

संक्षेप

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