पहले कुछ लेखों में, मैंने क्रिप्टोक्यूरेंसी सर्कल के साथ-साथ प्रोग्रामेटिक और मात्रात्मक ट्रेडिंग के कई बुनियादी अवधारणाओं को सीखा। अंत में, हम मुख्य विषय पर कटौती कर सकते हैं और रणनीति के बारे में बात कर सकते हैं। लेख में, हम एक सरल रणनीति को लागू करना सीखेंगे। [ग्रिड रणनीति] के लिए, व्यापार करने वाले छात्रों को इसके बारे में सुना होना चाहिए, लेकिन इससे कोई फर्क नहीं पड़ता कि आपने नहीं किया है।प्लेटफार्मअपने स्वयं के प्रोग्रामेटिक और मात्रात्मक ट्रेडिंग कार्यों को शुरू किया है और सबसे आम और सबसे आसानी से इस्तेमाल की जाने वाली रणनीति हैग्रिड रणनीति. हालांकि, ग्रिड रणनीति कार्य और प्रत्येक मंच द्वारा प्रदान किए गए विवरण अलग हैं. चूंकि हम क्रिप्टोक्यूरेंसी सर्कल में मात्रात्मकता दर्ज करने की योजना बना रहे हैं, तो हम खुद ही ग्रिड रणनीति क्यों नहीं लागू करते हैं?
फिर, कुछ छात्र कह सकते हैं:
मैं कोड नहीं लिख सकता!
यह सच है. यह वास्तव में छात्रों के लिए काफी मुश्किल है जो कंप्यूटर सॉफ्टवेयर में प्रमुख नहीं हैं और प्रोग्रामिंग कार्य में लगे हुए नहीं हैं, अपने आप को एक पूरी ट्रेडिंग रणनीति विकसित करने के लिए। क्योंकि आपको प्लेटफॉर्म इंटरफ़ेस को डॉक करने से पूर्व-कार्य की एक श्रृंखला करनी होगी (शायद आपका ट्रेडिंग लॉजिक प्रोग्राम केवल 100 पंक्तियां है, लेकिन अन्य कोडिंग कार्य करना काफी अधिक है, और यह ट्रेडिंग लॉजिक लिखने से अधिक कठिन है।)
इस समय, यदि आपके पास एक बहुत ही आसान उपकरण है, तो यह काफी सरल होगा, कम से कम कठिनाई 70% कम हो जाती है। आप कल्पना कर सकते हैं, यदि आप केवल ट्रेडिंग तर्क लिखते हैं, तो अन्य कार्य, जिसमें डॉकिंग प्लेटफॉर्म इंटरफ़ेस, हस्ताक्षर सत्यापन, कॉन्फ़िगरेशन फ़ाइलें, ऑपरेटिंग वातावरण निर्माण, यूआई इंटरफ़ेस लेखन, इंटरैक्टिव लेखन और अन्य कार्य शामिल हैं, सभी तैयार हैं, यह कितना सुविधाजनक और तेज़ है।
तुम विश्वास नहीं करते? चलो यह कोशिश करते हैं!
हम जिस उपकरण का उपयोग करते हैं वह हैः एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म (FMZ.COM) ग्रिड रणनीति डिजाइन का मूल वास्तव में ग्रिड खरीदने और बेचने का तर्क है, इसलिए यह कुछ ऐसा है जिसे एक रणनीति डिजाइन करने से पहले स्पष्ट किया जाना चाहिए। हमारा लक्ष्य रणनीति डिजाइन को सरल और समझने में आसान बनाना है, इसलिए जितने कम पैरामीटर और सरल तर्क है, उतना ही बेहतर है।
रणनीति के निर्माण की मूल प्रक्रियाएं इस प्रकार हैं:
1.रणनीति आवश्यकताओं का सारांश
सरल शब्दों में कहें, वे आपकी रणनीति क्या करेगी, कैसे करें, और इसके क्या कार्य हैं। रणनीति कोड लिखने से पहले उस जानकारी को एक दस्तावेज़ (नोटबुक की तरह) में लिखा जा सकता है। एफएमजेड पर रणनीतियों को विकसित करना बहुत सरल है। प्लेटफ़ॉर्म आपको इन आवश्यकताओं के समाधान प्रदान करता है, और आपको इन आवश्यकताओं को किसी नोटबुक में लिखने की आवश्यकता नहीं है (जो प्रबंधित करने के लिए बहुत सुविधाजनक नहीं है) । आप रणनीति आवश्यकताओं को सीधे रणनीति नोट में लिख सकते हैं।
याद रखें कि जब आप लिखना समाप्त करते हैं तो रणनीति को सहेजें, और फिर हम रणनीति आवश्यकताओं को लिखना जारी रखते हैं (वे आवश्यकताएं अपरिवर्तित नहीं हैं; आप एक ही समय में रिकॉर्ड और विकसित कर सकते हैं) ।
XXX_USDT
, जैसेBTC_USDT
.2.ग्रिड डेटा संरचना का निर्माण करें:
अस्पष्ट विचारों के लिए, हम शुरुआत में विश्लेषण करने के लिए प्लॉट कर सकते हैं।
ग्रिड को आधार बिंदु से ऊपर और नीचे दोनों दिशाओं में बनाया जा सकता है, शुरुआत में प्रारंभिक मूल्य। तथाकथित ग्रिड बोली लाइनों और पूछ लाइनों की परतों से बना है। ग्राफ को देखते हुए, हम देख सकते हैं कि प्रत्येक लाइन में दो संभावनाएं हैंः
ग्रिड डेटा संरचना के निर्माण के लिए एक फ़ंक्शन कोडिंगः
function createNet(begin, diff) { // begin and diff are parameters; begin is the initial price, and diff is the grid interval (the interval of the equal difference grid is a price)
var oneSideNums = 10 // The grid generates 10 lines on both upward and downward sides. The above image only shows the situation of generating 2 lines on both sides (A and B on on side; C and D on the other side), and you can imagine the situation of generating 10 lines.
var up = [] // used to store the data structure of the upward "grid lines"
var down = [] // used to store the data structure of the downward "grid lines"
for (var i = 0 ; i < oneSideNums ; i++) { // determine the number of times according to the number of oneSideNums; construct the "grid line" data structure by loop
var upObj = { // construct the data structure of a upward "grid line"
buy : false, // buy mark; the initial mark is false, which means no buying
sell : false, // sell mark ...
price : begin + diff / 2 + i * diff, // the price position represented by the "grid line", which can be observed and processed according to the loop; the price position is getting higher successively
}
up.push(upObj) // put the constructed "grid line" data structure into the up array
var j = (oneSideNums - 1) - i // when in the loop, j changes from 9 to 0
var downObj = {
buy : false,
sell : false,
price : begin - diff / 2 - j * diff,
}
if (downObj.price <= 0) { // the price cannot be less than or equal to 0
continue
}
down.push(downObj) // put the constructed "grid line" data structure into the down array
}
return down.concat(up) // add "up" after "down", forming a grid array structure with grid line prices from low to high
}
आप परिणाम देखने के लिए फ़ंक्शन को व्यक्तिगत रूप से निष्पादित कर सकते हैं। FMZ पर
निर्मित डेटा का अवलोकन किया जा सकता है।
[
{"buy":false,"sell":false,"price":5},
{"buy":false,"sell":false,"price":15},
{"buy":false,"sell":false,"price":25},
{"buy":false,"sell":false,"price":35},
{"buy":false,"sell":false,"price":45},
{"buy":false,"sell":false,"price":55},
{"buy":false,"sell":false,"price":65},
{"buy":false,"sell":false,"price":75},
{"buy":false,"sell":false,"price":85},
{"buy":false,"sell":false,"price":95},
{"buy":false,"sell":false,"price":105}, // 100 is the initial price, the first line goes up is from 105, and the interval is 10
{"buy":false,"sell":false,"price":115}, // ...
{"buy":false,"sell":false,"price":125},
{"buy":false,"sell":false,"price":135},
{"buy":false,"sell":false,"price":145},
{"buy":false,"sell":false,"price":155},
{"buy":false,"sell":false,"price":165},
{"buy":false,"sell":false,"price":175},
{"buy":false,"sell":false,"price":185},
{"buy":false,"sell":false,"price":195}
]
ग्रिड की डेटा संरचना का विश्लेषण करने के बाद, हमें ग्रिड रणनीति के विशिष्ट ट्रेडिंग तर्क पर विचार करने की आवश्यकता है। वास्तव में, खरीदने और बेचने का तर्क भी बहुत सरल है। हमने इसे पहले ही ऊपर की छवि में खींचा है। खरीदने का मतलब एक निश्चित रेखा को नीचे से पार करना है, और बेचने का मतलब एक निश्चित रेखा को ऊपर से पार करना है। तो अपक्रॉसिंग और डाउनक्रॉसिंग को कैसे व्यक्त किया जाए? यह भी बहुत सरल है, हमें केवल दो क्षणों की मूल्य स्थिति की तुलना करने की आवश्यकता है।
मैं आपको पिछली तस्वीर के द्वारा दिखाने जा रहा हूँ.
1 एक समय है, t2 t1 के बाद एक समय है; न्याय करने के लिए कि क्या रेखा सी ऊपर पार या नहीं है, हम केवल न्याय करने की जरूरत हैP1 < C
औरP2 > C
.
उसी तरह, न्याय करने के लिए कि क्या रेखा बी नीचे पार कर रहा है, हम केवल न्याय करने की जरूरत हैP1 > B
औरP3 < B
.
उस समय, हम केवल ग्रिड सरणी में प्रत्येक रेखा को पार करने की जरूरत है (पार आमतौर पर कहा जाता हैएक-एक करके जाँच करना), और यह तय करें कि ऊपर या नीचे क्रॉस। क्या यह बहुत सरल है?
मैंने कीमत के ऊपर और नीचे की ओर बढ़ने की क्रिया देखी है. क्या मैं आदेश दे सकता हूँ जब ये क्रियाएं ट्रिगर होती हैं?
स्पष्ट रूप से यह संभव नहीं है। यदि कीमत एक ही लाइन पर बार-बार ऊपर और नीचे जाती है, तो क्या यह एक ही कीमत पर दोहराए गए ट्रेडों के लिए हैंडलिंग शुल्क बर्बाद नहीं करेगा? इसलिए, अपक्रॉस और डाउनक्रॉस को ट्रिगर करने के बाद अभी भी निर्णय की एक श्रृंखला है, जिसके लिए हमें अभी बनाए गए ग्रिड लाइन डेटा संरचना में खरीद / बिक्री चिह्न का उपयोग करना आवश्यक है (उदाहरण के लिएः {
पढ़ने के लिए धन्यवाद, और आइए अगले लेख में व्याख्या और अध्ययन जारी रखें।