
एक बहुत विश्वसनीय ट्रेडिंग विचार - के-लाइन क्षेत्र ट्रेडिंग रणनीति को देखते हुए, इस लेख में हम इस विचार पर चर्चा करेंगे और इस स्क्रिप्ट को लागू करने का प्रयास करेंगे।
के-लाइन क्षेत्र रणनीति, मूल्य के-लाइन और चलती औसत के बीच क्षेत्र संबंध पर आधारित एक व्यापारिक रणनीति है। इसका मुख्य विचार मूल्य प्रवृत्तियों के आयाम और परिवर्तनों के साथ-साथ खरीद और बिक्री की भावनाओं के रूपांतरण का विश्लेषण करके स्टॉक की कीमतों की संभावित प्रवृत्ति की भविष्यवाणी करना है, ताकि पदों को खोलने और बाहर निकलने का समय निर्धारित किया जा सके। यह रणनीति लंबे और छोटे व्यापारिक संकेतों को उत्पन्न करने के लिए कैंडलस्टिक और चलती औसत के बीच के क्षेत्र, साथ ही केडीजे संकेतक के मूल्य पर निर्भर करती है।
कैंडलस्टिक क्षेत्र मूल्य कैंडलस्टिक और चलती औसत के बीच के स्थान को संदर्भित करता है, जिसकी गणना प्रत्येक बार के समापन मूल्य से चलती औसत मूल्य को घटाकर और फिर उन्हें जोड़कर की जाती है। जब कीमत लंबे समय तक और बड़े आयाम में बढ़ती है, तो के-लाइन का क्षेत्र बड़ा हो जाएगा, जबकि अस्थिर बाजार में या अस्थिरता के बाद उलटफेर में, के-लाइन का क्षेत्र छोटा हो जाएगा . “सब कुछ विपरीत चरम पर जाता है” के सिद्धांत के अनुसार, ऊपर की ओर प्रवृत्ति जितनी अधिक होगी और समय जितना अधिक होगा, संबंधित के-लाइन क्षेत्र उतना ही बड़ा होगा, और उलटने की संभावना जितनी अधिक होगी, बस एक वसंत की तरह, यह जितना लंबा होगा जितना अधिक खिंचाव होगा, प्रतिक्षेप बल उतना ही अधिक होगा। इसलिए, के-लाइन क्षेत्र के लिए एक सीमा निर्धारित की जाती है। जब यह सीमा पहुँच जाती है, तो मूल्य प्रवृत्ति पूरी हो सकती है और उलटफेर की संभावना अधिक होती है।
इस बात की पुष्टि करने के लिए कि प्रवृत्ति उलटने वाली है, खरीद और बिक्री भावना के रूपांतरण का आकलन करने के लिए केडीजे संकेतक पेश किया जाता है। इस रणनीति की सीमा और केडीजे संकेतक मूल्य सेटिंग्स को रणनीति की सटीकता बढ़ाने के लिए विशिष्ट परिस्थितियों और जरूरतों के अनुसार समायोजित किया जा सकता है।
के-लाइन क्षेत्र रणनीति का लाभ यह है कि यह मूल्य प्रवृत्तियों के आयाम और परिवर्तनों के साथ-साथ खरीद और बिक्री की भावना के रूपांतरण को जोड़ती है, जिससे अपेक्षाकृत पूर्ण मात्रात्मक व्यापार रणनीति उपलब्ध होती है। इसके लाभों में निम्नलिखित शामिल हैं:
यद्यपि कैंडलस्टिक क्षेत्र रणनीति के कुछ फायदे हैं, लेकिन इसमें कुछ जोखिम भी हैं, जिनमें शामिल हैं:
के-लाइन क्षेत्र रणनीति को अनुकूलित करने के लिए, निम्नलिखित दिशाओं पर विचार किया जा सकता है:
कैंडलस्टिक के क्षेत्र की गणना करें
लंबी स्थिति खोलने के लिए संकेत:
(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)
}
}
रणनीति का तर्क बहुत सरल है:
रणनीति पैरामीटर
सार्वत्रिक चर
गणना फ़ंक्शन
मुख्य लूप फ़ंक्शन
क. नवीनतम K-लाइन डेटा प्राप्त करें और सुनिश्चित करें कि K-लाइनों की संख्या maPeriod से कम न हो, अन्यथा स्थिति रिकॉर्ड करें और वापस लौटें।
ख. मूविंग एवरेज एमए और एटीआर इंडिकेटर एटीआर, साथ ही केडीजे इंडिकेटर की गणना करें।
c. क्षेत्र जानकारी, अंतिम क्रॉस-अप K-लाइन इंडेक्स, और अंतिम क्रॉस-डाउन K-लाइन इंडेक्स areaInfo से प्राप्त करें।
d. कैंडलस्टिक चार्ट ऑब्जेक्ट c का उपयोग करके कैंडलस्टिक और इंडिकेटर रेखाएँ बनाएँ, और उन्हें कीमत और मूविंग एवरेज के बीच के संबंध के अनुसार अलग-अलग रंगों से भरें।
ई. परिस्थितियों के आधार पर खरीद और बिक्री का समय निर्धारित करें:
यदि ट्रेडस्टेट “NULL” है, और क्षेत्र -थ्रेशोल्ड से कम है और KDJ कैंडलस्टिक मूल्य 70 से अधिक है, तो खरीद ऑपरेशन किया जाता है। यदि ट्रेडस्टेट “NULL” है, और क्षेत्र सीमा से अधिक है और KDJ कैंडलस्टिक मूल्य 30 से कम है, तो विक्रय ऑपरेशन निष्पादित करें। एफ. स्टॉप लॉस और लाभ लेने की शर्तें निर्धारित करें और यदि शर्तें पूरी होती हैं तो स्थिति को बंद करें:
यदि यह खरीद की स्थिति में है, तो स्थिति तब बंद हो जाती है जब कीमत पिछले कारोबारी दिन के समापन मूल्य से पिछले दिन के एटीआर को घटाकर कम हो जाती है। यदि यह विक्रय स्थिति में है, तो स्थिति तब बंद हो जाती है जब कीमत पिछले कारोबारी दिन के समापन मूल्य तथा पिछले दिन के एटीआर से अधिक होती है। मुख्य फ़ंक्शन: यह मुख्य निष्पादन प्रविष्टि बिंदु है, यह जाँचता है कि एक्सचेंज नाम में “_“फ्यूचर्स”, यदि शामिल है, तो एक अपवाद फेंकता है, अन्यथा एक अनंत लूप में प्रवेश करता है, प्रत्येक लूप में onTick फ़ंक्शन निष्पादित करता है और 1 सेकंड के लिए सो जाता है।
सामान्यतः, यह रणनीति खरीद और बिक्री के निर्णय लेने के लिए मुख्य रूप से के-लाइन चार्ट और तकनीकी संकेतकों पर निर्भर करती है, जबकि जोखिमों का प्रबंधन करने के लिए स्टॉप-लॉस और टेक-प्रॉफिट रणनीतियों का उपयोग करती है। कृपया ध्यान दें कि यह केवल एक उदाहरण रणनीति है और वास्तविक उपयोग को बाजार की स्थितियों और विशिष्ट आवश्यकताओं के आधार पर समायोजित और अनुकूलित करने की आवश्यकता है।
इस मॉडल को FMZ.COM पर जावास्क्रिप्ट का उपयोग करके, बिना कोड की कई पंक्तियों का उपयोग किए, आसानी से क्रियान्वित किया गया। और K-लाइन क्षेत्र का ग्राफिकल प्रतिनिधित्व KLineChart फ़ंक्शन का उपयोग करके आसानी से प्राप्त किया जाता है। यह रणनीति क्रिप्टोकरेंसी स्पॉट मार्केट के लिए डिज़ाइन की गई है और “डिजिटल करेंसी स्पॉट ट्रेडिंग लाइब्रेरी” टेम्पलेट का उपयोग करती है। टेम्पलेट में समाहित फ़ंक्शन का उपयोग करके ऑर्डर देना भी बहुत सरल, उपयोग में आसान और समझने में आसान है।


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

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