इस रणनीति को साझा किया गयाःhttps://www.fmz.com/strategy/1088रणनीति मेरी मुख्य रणनीति है जब से मैंने डिजिटल मुद्रा के साथ शुरुआत की। निरंतर सुधार और संशोधन के बाद, यह अधिक जटिल हो गया है, लेकिन मुख्य विचार नहीं बदला है। साझा संस्करण स्पष्ट बग के बिना मूल संस्करण है। यह सबसे सरल और स्पष्ट है। कोई स्थिति प्रबंधन नहीं है। प्रत्येक लेनदेन भरा है, और कोई पुनरारंभ नहीं है, लेकिन यह समस्या को समझाने के लिए पर्याप्त है। रणनीति अगस्त 2014 से इस साल की शुरुआत तक चली, जब एक्सचेंज शुल्क। अवधि के दौरान, ऑपरेशन काफी अच्छा था, और नुकसान का समय बहुत कम था। पूंजी 200 युआन से बढ़कर 80 बिटकॉइन हो गई है। विशिष्ट प्रक्रिया में देखी जा सकती हैआभासी मुद्रा के स्वचालित लेनदेन का तरीकामें लेखों की श्रृंखलासियाओकाओ का सिना ब्लॉग.. नीचे दिया गया चित्र ओकेकोइन प्लेटफॉर्म का रिटर्न वक्र है जिसे मैंने विशेष रूप से गिना है। प्रारंभिक पूंजी 1000 युआन है। आप देख सकते हैं कि प्रारंभिक पूंजी में लगातार वृद्धि हुई है। मध्य रेखा यह है कि मेरी रणनीति बंद हो गई है। बाद में, क्योंकि रणनीति को मुद्रा अर्जित करने की रणनीति में बदल दिया गया है, युआन में रिटर्न तेजी से उतार-चढ़ाव होता है। विशिष्ट प्रक्रिया को रणनीति व्यापार के दो साल के सारांश के लेख में वर्णित किया गया है।
निम्नलिखित चार्ट में मुद्रा में परिवर्तित कुल परिसंपत्तियों की वक्र दिखाई गई है:
इस रणनीति का सिद्धांत बहुत सरल है। इसे एक अर्ध-उच्च आवृत्ति बाजार बनाने की रणनीति के रूप में समझा जा सकता है। आप इसे पढ़ने के बाद लोगों को हिट करना चाह सकते हैं, क्या यह पैसा कमा सकता है?! उस समय, लगभग हर कोई इसे लिख सकता था। मैंने शुरुआत में इसकी इतनी प्रभावी होने की उम्मीद नहीं की थी। यह देखा जा सकता है कि जैसे ही हमारे दिमाग में विचार होते हैं, हमें अभ्यास पर ध्यान देना चाहिए। 2014 में, जब बिटकॉइन रोबोट पहली बार उभरे, तो पैसे बनाने की रणनीतियों को लिखना बहुत आसान था। सभी उच्च आवृत्ति रणनीतियों की तरह, यह रणनीति भी ऑर्डर बुक पर आधारित है। नीचे दिया गया चित्र एक विशिष्ट बिटकॉइन एक्सचेंज के ऑर्डर वितरण को दर्शाता हैः
हम बाईं ओर खरीद ऑर्डर देख सकते हैं, जो विभिन्न कीमतों पर ऑर्डर की संख्या दिखाता है, और दाईं ओर बिक्री ऑर्डर है। यह कल्पना की जा सकती है कि यदि कोई बिटकॉइन खरीदना चाहता है, तो यदि वह ऑर्डर लंबित और इंतजार नहीं करना चाहता है, तो वह केवल ऑर्डर लेना चुन सकता है। यदि उसके पास बड़ी संख्या में ऑर्डर हैं, तो यह ऑर्डर और सूची बेचने के लिए बड़ी संख्या में लेनदेन का कारण बनेगा, जो कीमत को प्रभावित करेगा। हालांकि, यह प्रभाव जारी नहीं रहेगा। कुछ लोग ऑर्डर लेना चाहते हैं और बेचते हैं, और कीमत शायद बहुत कम समय में ठीक हो जाएगी। इसके विपरीत, यह समझने के समान है कि कोई सिक्का बेचना चाहता है। उदाहरण के लिए चित्र में लंबित आदेश को लें। यदि आप 5 सिक्के सीधे खरीदना चाहते हैं, तो कीमत 10377 तक पहुंच जाएगी। इस समय, यदि कोई 5 सिक्के सीधे बेचना चाहता है, तो कीमत 10348 तक पहुंच जाएगी। मूल्य अंतर लाभ मार्जिन है। रणनीति 10376.99 जैसे 10377 से थोड़ा कम कीमत पर एक आदेश लंबित करेगी, और 10348 से थोड़ा अधिक कीमत पर खरीदेगी, जैसे 10348.01। यह इसलिए है क्योंकि यदि स्थिति बस हुई, तो यह स्पष्ट रूप से अंतर कमाएगा। हालांकि यह हर बार इतना सही नहीं होगा, वास्तव में संभावनाओं को देखते हुए पैसा बनाने की संभावना अविश्वसनीय रूप से अधिक है। वर्तमान रणनीति के मापदंडों के साथ विशिष्ट ऑपरेशन की व्याख्या करें। यह पैरामीटर निश्चित रूप से उपलब्ध नहीं है, केवल चित्रण के लिए। यह 8 सिक्कों की संचित राशि के साथ एक कीमत की तलाश करेगा, यहां 10377 है, तो इस समय की बिक्री मूल्य मूल्य माइनस 0.01 है (राउंडअप यादृच्छिक हो सकता है) । इसी तरह, यह 8 सिक्कों की संचित राशि के लिए नीचे देखेगा, यहां 10348 है, तो इस समय की बिक्री मूल्य 10348.01 है, और इस समय खरीद और बिक्री मूल्य के बीच का अंतर 10376.99-10348.01 = 28.98 है, जो कि 1.5 के पूर्व निर्धारित मूल्य अंतर से अधिक है, इसलिए यह इन दो कीमतों के साथ लेनदेन की प्रतीक्षा करने का आदेश देगा, यदि मूल्य अंतर 1.5 से कम है, तो यह एक आदेश देखने के लिए एक मूल्य भी पाएगा, जैसे कि उद्घाटन मूल्य प्लस या माइनस 10, और पिकअप के लिए प्रतीक्षा करें (नीचे की गहराई का पालन करना उचित है) । इसके अतिरिक्त, यह ध्यान दिया जाता है कि यह रणनीति केवल वर्तमान गहरे लंबित आदेशों से संबंधित है और ऐतिहासिक बाजार और अपने स्वयं के ऐतिहासिक लेनदेन की परवाह नहीं करती है। रणनीति में एकल हानि की कोई अवधारणा भी नहीं है। वास्तव में, एक एकल लेनदेन की जीत दर बहुत अधिक है।
पूरा कोड मेरी रणनीति साझा में देखा जा सकता हैwww.fmz.com. यहाँ, केवल कोर तर्क कार्यों समझाया जाता है. बिना किसी बदलाव के, सिमुलेशन बॉट जो botvs के साथ आता है वास्तव में पूरी तरह से काम करता है. यह तीन साल से अधिक समय पहले की एक रणनीति है, और मंच अभी भी इसका समर्थन करता है. यह बहुत ही चल रहा है.
सबसे पहले, बिड-एंड प्राइस फंक्शन GetPrice प्राप्त करने के लिए, आपको ऑर्डर गहराई की जानकारी प्राप्त करने की आवश्यकता है। ध्यान दें कि विभिन्न प्लेटफार्मों की ऑर्डर गहराई की जानकारी की लंबाई अलग है, और भले ही सभी ऑर्डर पार किए जाएं, फिर भी कोई आवश्यक मात्रा नहीं है (यह स्थिति बाद के चरण में कई 0.01 ग्रिड ऑर्डर के कारण होगी) । कॉल GetPrice (
function GetPrice(Type) {
//_C() is the fault-tolerant function of the platform
var depth=_C(exchange.GetDepth);
var amountBids=0;
var amountAsks=0;
//Calculate the buy price and get the cumulative depth to a preset price
if(Type=="Buy"){
for(var i=0;i<20;i++){
amountBids+=depth.Bids[i].Amount;
//The parameter floatamountbuy is the preset accumulated depth
if (amountBids>floatamountbuy){
//Add 0.01 to make the order in the front
return depth.Bids[i].Price+0.01;}
}
}
//Calculate the selling price similarly
if(Type=="Sell"){
for(var j=0; j<20; j++){
amountAsks+=depth.Asks[j].Amount;
if (amountAsks>floatamountsell){
return depth.Asks[j].Price-0.01;}
}
}
//After traversing the full depth but still not meeting the demand, a price is returned to avoid bugs
return depth.Asks[0].Price
}
प्रत्येक लूप का मुख्य कार्य onTick (() है। यहां सेट लूप समय 3.5s है। प्रत्येक लूप मूल आदेश को रद्द करेगा और आदेश को फिर से लटका देगा। जितना सरल होगा, उतना ही कम बग होगा।
function onTick() {
var buyPrice = GetPrice("Buy");
var sellPrice= GetPrice("Sell");
//diffprice is the preset spread, if the bid/ask spread is less than the preset spread, it will pend a relatively deeper price.
if ((sellPrice - buyPrice) <= diffprice){
buyPrice-=10;
sellPrice+=10;}
//Cancel all the original orders. In fact, the new price is often the same as the price of the order. At this time, it is not necessary to cancel.
CancelPendingOrders()
//Get account information to determine how much money and how many currencies are currently in the account.
var account=_C(exchange.GetAccount);
//The amount of Bitcoins that can be bought, _N() is the precision function of the platform.
var amountBuy = _N((account.Balance / buyPrice-0.1),2);
//The amount of Bitcoin that can be sold, note that there is no position limit, buy and sell as much as you can, as I had very little money at the time.
var amountSell = _N((account.Stocks),2);
if (amountSell > 0.02) {
exchange.Sell(sellPrice,amountSell);}
if (amountBuy > 0.02) {
exchange.Buy(buyPrice, amountBuy);}
//Sleep and enter the next loop
Sleep(sleeptime);
}
पूरे कार्यक्रम में केवल 40 से अधिक लाइनें हैं, जो बहुत सरल लगती हैं, लेकिन उस समय मुझे एक सप्ताह से अधिक समय भी लगा, जो कि बोटवीएस प्लेटफॉर्म पर था। सबसे बड़ा लाभ यह है कि यह जल्दी शुरू हुआ। 2014 में, बाजार में चलती ईंटों का प्रभुत्व था, और ग्रिड और इन्वेंट्री की पकड़ की उच्च आवृत्ति रणनीति बहुत अधिक नहीं थी, जिसने रणनीति को पानी में मछली की तरह बना दिया था। बाद में, प्रतिस्पर्धा तेजी से भयंकर हो गई, और मेरे पास अधिक पैसा था और कई चुनौतियों का सामना करना पड़ा। मुझे इससे निपटने के लिए हर दूसरे समय बड़े बदलाव करने पड़े, लेकिन यह आम तौर पर चिकनी थी। इस शर्त के तहत कि ट्रेडिंग प्लेटफॉर्म चार्ज नहीं करता है, यह प्रोग्राम ट्रेडिंग के लिए एक स्वर्ग है। क्योंकि खुदरा निवेशक चार्ज नहीं होने पर संचालित होते हैं, यह उच्च आवृत्ति और मध्यस्थता शुल्क के लिए अवसर प्रदान करता है। यह सब मूल रूप से 0.1-0.2% की दो-तरफ़ा शुल्क के साथ समाप्त होता है। यह न केवल चार्ज की जा रही समस्या है, बल्कि समग्र बाजार गतिविधि की गिरावट भी है। हालांकि, उच्च आवृत्ति वाली मात्रात्मक रणनीतियों के लिए अभी भी बहुत जगह है।