संसाधन लोड हो रहा है... लोड करना...

परिमाणात्मक लेनदेन से लेकर परिसंपत्ति प्रबंधन के लिए CTA रणनीतियों का विकास

लेखक: , बनाया गयाः 2019-06-26 10:27:41, अद्यतन किया गयाः 2023-10-30 20:30:50

[TOC]

img

प्रस्तावना

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

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

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

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

1। वायदा CTA रणनीति पैसा बनाने के लिए तर्क

1.1 फ्यूचर्स सीटीए को पहचानें

CTA को विदेशों में कमोडिटी ट्रेडिंग सलाहकार कहा जाता है, और घरेलू स्तर पर इसे आम तौर पर निवेश प्रबंधक कहा जाता है। पारंपरिक CTA बड़े पैमाने पर निवेशकों के धन को केंद्रित करता है, फिर इसे पेशेवर निवेश संस्थानों को सौंपता है, और अंत में ट्रेडिंग सलाहकारों (यानी CTA) के माध्यम से स्टॉक वायदा, कमोडिटी वायदा, राष्ट्रवित्त वायदा निवेश करता है।

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

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

सीटीए फंड प्रबंधन के आकार में बदलाव img यूनिटः एक अरब डॉलर

यदि हम ऊपर दिए गए चित्र को देखें, विशेष रूप से क्वांटिफाइड ट्रेडिंग के उदय के साथ, वैश्विक सीटीए फंड का आकार 2005 में $ 130.6 बिलियन से बढ़कर 2015 में $ 300 बिलियन से अधिक हो गया है। और सीटीए रणनीति वैश्विक हेज फंडों के लिए एक प्रमुख निवेश रणनीति बन गई है।

आकार के साथ-साथ सीटीए फंड के प्रदर्शन में वृद्धि हुई है, जिसे हम नीचे दिए गए बैलेक सीटीए सूचकांक को देखते हैं, जो वैश्विक वस्तु व्यापार सलाहकारों के लिए एक प्रमुख उद्योग बेंचमार्क है। 1979 के अंत से 2016 के अंत तक, बैलेक सीटीए फंड के सूचकांक ने 28.95 गुना तक की संचयी लाभप्रदता हासिल की है, जिसमें 9.59% की वार्षिक लाभप्रदता, 0.37 का शार्प अनुपात और 15.66% की अधिकतम वापसी है।

क्योंकि परिसंपत्ति विनियोजन पोर्टफोलियो में, सीटीए रणनीति आमतौर पर अन्य रणनीतियों के साथ बहुत कम प्रासंगिकता रखती है। जैसा कि नीचे चित्रित है, 2000-2002 के वैश्विक स्टॉक बियर बाजार और 2008 के वैश्विक सब्सिडी संकट के दौरान, बैलेक सीटीए फंड सूचकांक ने न केवल गिरावट नहीं देखी, बल्कि सकारात्मक लाभ भी प्राप्त किया, और जब शेयर बाजार और बांड बाजार में संकट आया, तो सीटीए मजबूत लाभ प्रदान कर सकता है। इसके अलावा, हम देख सकते हैं कि बैलेक सीटीए सूचकांक 1980 के बाद से कई वस्तुओं की लाभप्रदता के स्तर पर रहा है, जो पीपीई 500 से नीचे है, और पीपीई 500 से नीचे भी वापस आ गया है।

img

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

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

img

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

img

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

1.2 वायदा CTA रणनीतियों के प्रकार

ट्रेडिंग रणनीतियों के दृष्टिकोण से, सीटीए रणनीतियाँ भी विविध हो सकती हैंः यह एक प्रवृत्ति रणनीति हो सकती है, या एक सूट रणनीति हो सकती है; यह एक बड़े चक्र के मध्य लंबी रेखा रणनीति हो सकती है, या एक दिन के भीतर एक छोटी रेखा रणनीति हो सकती है; रणनीतिक तर्क तकनीकी विश्लेषण पर आधारित हो सकता है, या मौलिक विश्लेषण पर आधारित हो सकता है; यह व्यक्तिपरक व्यापार हो सकता है, या यह प्रणालीगत व्यापार हो सकता है।

सीटीए रणनीतियों को विभिन्न वर्गीकरण विधियों में विभाजित किया जा सकता है, जो व्यापारिक तरीकों के आधार पर इस प्रकार हैंः व्यक्तिपरक व्यापार और प्रणालीगत व्यापार, विदेशों में सीटीए रणनीतियों का विकास अपेक्षाकृत उन्नत है, और प्रणालीगत व्यापार में सीटीए रणनीतियों का विकास लगभग 100% है। विश्लेषणात्मक तरीकों के आधार पर, इसे मूलभूत विश्लेषण और तकनीकी विश्लेषण में विभाजित किया जा सकता है। आय के स्रोत के आधार पर, इसे प्रवृत्ति व्यापार और झटके व्यापार में विभाजित किया जा सकता है।

कुल मिलाकर, सीटीए रणनीतियों ने पूरे ट्रेडिंग बाजार में लगभग 70% ट्रेंडिंग रणनीतियों का प्रतिनिधित्व किया, औसत मूल्य वापसी रणनीतियों ने लगभग 25% और प्रति-ट्रेंडिंग या ट्रेंड रिवर्स ने लगभग 5% का प्रतिनिधित्व किया। इनमें से सबसे बड़ी हिस्सेदारी ट्रेंडिंग रणनीतियों में है, और इसे होल्डिंग चक्र के आधार पर विभाजित किया जा सकता हैः उच्च आवृत्ति व्यापार, दिन के भीतर व्यापार, मध्यम शॉर्ट लाइन व्यापार, मध्यम लंबी लाइन व्यापार।

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

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

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

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

सीटीए रणनीति डेटाआमतौर पर, सीटीए रणनीतियों में मिनट, घंटे और दिन के डेटा का अध्ययन किया जाता है, जिसमें डेटा शामिल हैं, जैसेः उद्घाटन मूल्य, उच्चतम मूल्य, न्यूनतम मूल्य, समापन मूल्य, पूर्ण लेनदेन, आदि; केवल कुछ सीटीए रणनीतियों में टिक डेटा का उपयोग किया जाता है, जैसे कि L2 डेटा में खरीद, बिक्री, खरीद, बिक्री, आदि।

img

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

बाजार में कुछ क्लासिक ट्रेडिंग मॉडल भी हैं, जिन्हें संदर्भित और सुधार किया जा सकता है, जिनमें शामिल हैंः बहु-समान लाइन पोर्टफोलियो, डुअल थ्रस्ट, आर-ब्रेकर, समुद्र तट ट्रेडिंग, ग्रिड ट्रेडिंग आदि।

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

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

1.3 वायदा सीटीए रणनीति के लाभकारी सिद्धांत

भविष्य के सीटीए रणनीतियाँ मुख्य रूप से निम्नलिखित कारणों से पैसा कमाती हैंः

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

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

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

सीटीए और पारंपरिक संपत्ति के बीच संबंध img

जैसा कि ऊपर दिखाया गया है, सैद्धांतिक रूप से विभिन्न शैलियों या कम प्रासंगिक रणनीतियों में से कई एक ही समय में विभिन्न ट्रेडिंग संकेतों को बाजार मूल्य में विभिन्न परिवर्तनों के सामने बनाते हैं। क्योंकि कई लाभ घटता है, जो समग्र लाभ को पूरक बनाता है, लाभ घटता है, जिससे लाभ की अस्थिरता कम हो जाती है।

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

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

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

2। क्लासिक वायदा सीटीए रणनीतियों का उदाहरण

न्यूटन ने एक बार कहा था, "यदि मैं दूसरों से अधिक दूर तक देख सकता हूं, तो यह इसलिए है क्योंकि मैं एक विशालकाय के कंधों पर खड़ा हूं।

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

2.1 फ्यूचर्स के बुनियादी विश्लेषण (स्टॉक, बेस डिफरेंस, कीमत)

मौलिक विश्लेषण में अल्पकालिक मूल्य आंदोलनों के बारे में चिंता करने की आवश्यकता नहीं है, यह विश्वास है कि मूल्य अंततः मूल्य पर परिलक्षित होगा, बल्कि यह विश्लेषण करता है कि मूल्य को प्रभावित करने वाले कारकों के पीछे क्या है, यह निर्धारित करने के लिए कि यह किस्म कितनी मूल्यवान है। आम तौर पर शीर्ष से नीचे विश्लेषण का उपयोग किया जाता हैः मैक्रो कारकों, किस्म कारकों और अन्य कारकों से।

img

जैसा कि हम ऊपर दिए गए चित्र को देखते हैं, वस्तुओं के मूल्य को प्रभावित करने वाले कई कारक हैं, जिनकी कुल संख्या दर्जनों तक है, और कई दर्जन से अधिक हैं, और ये आंकड़े लगातार बदल रहे हैं।

वास्तव में, कमोडिटी वायदा के बुनियादी विश्लेषण में सभी कारकों का विश्लेषण नहीं किया जाता है, हमें केवल बुनियादी विश्लेषण के मूल तत्वों को पकड़ने की आवश्यकता होती है, ताकि जटिल जानकारी से नियम का पता लगाया जा सके।

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

विविधता कारकमौलिक विश्लेषण में, विविधता विश्लेषण मुख्य रूप से बढ़ते पानी, आपूर्ति और मांग संबंधों, वस्तुओं के भंडार, औद्योगिक मुनाफे आदि का विश्लेषण करता है।

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

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

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

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

img

या तो बढ़ोतरी या बढ़ोतरी, फ्यूचर्स की डिलीवरी प्रणाली के प्रतिबंधों के कारण, सैद्धांतिक रूप से डिलीवरी की तारीख पर फ्यूचर्स की कीमतें तत्काल मूल्य के बराबर होनी चाहिए। जैसे-जैसे डिलीवरी की तारीख निकट होती है, तत्काल मूल्य और फ्यूचर्स की कीमतें एक साथ आती हैं, एक फ्यूचर्स को तत्काल में लौटती है, और दूसरी फ्यूचर्स को तत्काल में लौटती है।

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

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

2.2 समुद्र तट व्यापार नियम

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

इसके बाद के चार वर्षों के दौरान, मध्य समुद्र तटों ने 80% की औसत वार्षिक वापसी हासिल की। डेनिस ने यह भी साबित किया कि एक सरल प्रणाली और नियमों के सेट के साथ, बहुत कम या कोई व्यापारिक अनुभव नहीं होने वाले लोगों को एक अच्छा व्यापारी बनाया जा सकता है। लेकिन एक अलग समुद्र तट वेबसाइट पर समुद्र तटों को बेचने के लिए लाभदायक है। इस तरह के व्यवहार को रोकने के लिए, दो मूल समुद्र तटों, कोर्टीस फिश और आर्थर माडोक ने निर्णय लिया कि वे अपने साइट पर समुद्र तटों के व्यापार नियम को मुफ्त में सार्वजनिक करने का फैसला किया।

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

समुद्र तट के मूल सिद्धांत

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

तो अब हम देखते हैं कि समुद्र तट व्यापार कानून क्या कहता है? 1, बाजार - क्या खरीदना है और क्या बेचना है, मूल रूप से कौन से बाजारों में व्यापार किया जाता है, समुद्री डाकू वायदा व्यापारी हैं, वे केवल उच्च तरलता वाले बाजारों का चयन करते हैं, क्योंकि निष्क्रिय बाजारों का चयन करने से प्रवेश और निकास के लिए अतिरिक्त स्लाइड मूल्य बढ़ेगा और कई रुझानों के अवसरों को याद किया जाएगा। 2. स्थिति का आकार - कितना खरीदें या बेचें - पूरी रणनीति का एक बहुत ही महत्वपूर्ण हिस्सा है, जिसे अक्सर ज्यादातर लोग अनदेखा या गलत तरीके से समझते हैं। समुद्र तट व्यापार नियम एटीआर का उपयोग करता है, जो कि एक औसत वास्तविक अस्थिरता चौड़ाई संकेतक है, जो स्थिति खोलने, बढ़ाने, रोकने के संकेतों की गणना करता है। यह एक बहुत ही चतुर डिजाइन है, जिसका उद्देश्य स्थिति के आकार को बाजार की पूर्ण अस्थिरता चौड़ाई से समायोजित करना है, जब बाजार में अस्थिरता अधिक होती है, तो होल्डिंग को कम करना, और जब बाजार में अस्थिरता कम होती है, तो होल्डिंग को बढ़ाना। यह पहले एक इकाई को परिभाषित करता है, जिसका सूत्र हैः ((कुल संपत्ति * 1%) / एटीआर) । प्रारंभिक स्थिति 1 इकाई है, भले ही उस दिन कई वस्तुओं की गिरावट एटीआर के स्तर तक पहुंच जाए, लेकिन उस दिन के नुकसान को कुल उत्पादन के 1% के स्तर पर नियंत्रित किया जा सकता है। यदि कीमतें 5 इकाइयों तक बढ़ जाती हैं, तो एक इकाई को फिर 0.4 तक बढ़ाया जा सकता है। 3, बाजार में प्रवेश --- समुद्री डाकू के बाजार में प्रवेश डोन्गचियान चैनल का लाभ उठाते हुए, जब कीमत पहले 20 या 55 जड़ K रेखा के उच्चतम मूल्य को तोड़ती है, तो अधिक प्रवेश करती है, जब कीमत पहले 20 या 55 जड़ K रेखा के निम्नतम मूल्य को तोड़ती है, तो खाली प्रवेश करती है। संकेत दिखाई देने पर, व्यापार में प्रवेश करते हैं, चाहे बंद हो या नीचे की जड़ K रेखा। 4. स्टॉप-लॉस - लंबे समय में, स्टॉप-लॉस ट्रेड सफल नहीं होते हैं, लेकिन अधिकांश व्यापारी घाटे की स्थिति में हैं, जो बाजार को पलटने की उम्मीद करते हैं। समुद्री डाकू सख्ती से निर्धारित करते हैं कि घाटे की स्थिति से बाहर निकलने के लिए कब, यदि कई ऑर्डर हैं और कीमत 2 इकाइयों की गिरावट आई है, तो कई सिरों ने ब्रेकडाउन को नुकसान पहुंचाया है। यदि खाली ऑर्डर हैं, और कीमत 2 इकाइयों की वृद्धि हुई है, तो खाली सिरों ने ब्रेकडाउन को नुकसान पहुंचाया है। 5. रोकना - समुद्री तट पर रोकना का मतलब है कि बहुत सारे फ्लोट खोना, यह भी एक ऐसा हिस्सा है जिसे कई व्यापारियों के लिए स्वीकार करना मुश्किल है। यदि वर्तमान में कई ऑर्डर हैं और कीमतें 10 वें दिन के डोंगचियांग चैनल के नीचे गिरती हैं, तो सभी ओवरऑर्डर को समतल करें; यदि वर्तमान में खाली ऑर्डर हैं और कीमतें 10 वें दिन के डोंगचियांग चैनल के ऊपर चढ़ती हैं, तो सभी खाली ऑर्डर को समतल करें।

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

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

3। वास्तविक युद्ध में फ्यूचर्स विकसित करने के लिए सीटीए रणनीति

3.1 मय भाषा पर आधारित सीटीए ट्रेंडिंग रणनीतियों का विकास

पिछली सदी के अंत में, वित्तीय निवेश के क्षेत्र में अमेरिका में एक अद्भुत व्यापारिक विधि लोकप्रिय हो गई, जो हजारों लोगों के अभ्यास के बाद प्रभावी और महान व्यावहारिक मूल्य के साथ पाया गया था, और कई निवेश विशेषज्ञों और पेशेवर व्यापारियों द्वारा मान्यता प्राप्त थी, जो अब तक लगभग सभी वित्तीय निवेश क्षेत्रों में पूरी तरह से लागू हो सकती है, चाहे वे विदेशी मुद्रा, सोना, स्टॉक, वायदा, कच्चा तेल, सूचकांक और बांड हों।

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

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

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

पूरे अराजकता संचालन को पांच आयामों (तकनीकी संकेतकों) से बनाया गया हैः

  • मगरमच्छ की लकीर (अंग्रेज़ी में Alligator)

  • फ्रैक्टल

  • गति (The Momentum)

  • त्वरण

  • संतुलन रेखा (The Balance Line)

    img

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

// 参数
N1:=11;
N2:=21;

// 定义价格中线
N3:=N1+N2;
N4:=N2+N3;
HL:=(H+L)/2;

// 鳄鱼线
Y^^SMA(REF(HL,N3),N4,1);
R:=SMA(REF(HL,N2),N3,1);
G:=SMA(REF(HL,N1),N2,1);

सबसे पहले हम दो बाहरी पैरामीटर N1 और N2 को परिभाषित करते हैं, फिर बाहरी पैरामीटर के आधार पर उच्चतम मूल्य और निम्नतम मूल्य के औसत एचएल की गणना करते हैं, और फिर अलग-अलग पैरामीटर के साथ एचएल के औसत की गणना करते हैं।

अराजक ऑपरेशन में बहुत ही स्पष्ट रूप से परिभाषित एक विखंडन की अवधारणा है, हम एक उदाहरण दे सकते हैंः हाथ की हथेली खोलने, उंगलियों को ऊपर की ओर, मध्य अंगूठे ऊपर विखंडन है, बाएं पर छोटे और नाम नहीं है, दाएं पर दाँत और दाँत क्रमशः प्रतिनिधित्व करता है, जो कि नवाचार नहीं किया गया है उच्च के लाइनों; एक बुनियादी विखंडन इन 5 के लाइनों से बना है; तो आप नीचे कोड का उपयोग कर परिभाषित कर सकते हैं विखंडनः

// 分形
TOP_N:=BARSLAST(REF(H,2)=HHV(H,5))+2;
BOTTOM_N:=BARSLAST(REF(L,2)=LLV(L,5))+2;

TOP:=REF(H,TOP_N);
BOTTOM:=REF(L,BOTTOM_N);

MAX_YRG^^MAX(MAX(Y,R),G); 
MIN_YRG^^MIN(MIN(Y,R),G); 

TOP_FRACTAL^^VALUEWHEN(H>=MAX_YRG,TOP);
BOTTOM_FRACTAL^^VALUEWHEN(L<=MIN_YRG,BOTTOM);

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

// 如果当前无多单,并且收盘价升破上分形,并且上分形在鳄鱼线上方时,多头开仓
BKVOL=0 AND C>=TOP_FRACTAL AND TOP_FRACTAL>MAX_YRG,BPK(1);
// 如果当前无空单,并且收盘价跌破下分形,并且下分形在鳄鱼线下方时,空头开仓
SKVOL=0 AND C<=BOTTOM_FRACTAL AND BOTTOM_FRACTAL<MIN_YRG,SPK(1);

// 如果收盘价跌破鳄鱼的下巴时,多头平仓
C<Y,SP(BKVOL);
// 如果收盘价升破鳄鱼的下巴时,空头平仓
C>Y,BP(SKVOL);

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

  • मल्टी-हेड ओपनिंगः यदि वर्तमान में बहुत सारे ऑर्डर नहीं हैं, और समापन मूल्य में वृद्धि हुई है, तो ऊपर की ओर बढ़ोतरी करें, और ऊपर की ओर बढ़ोतरी करें।
  • खाली स्थान खोलेंः यदि वर्तमान में कोई खाली आदेश नहीं है, और समापन मूल्य नीचे की ओर गिर गया है, और नीचे की ओर गिर गया है, और शार्क लाइन के नीचे है।
  • बहुमुखी पट्टेः अगर समापन मूल्य में गिरावट आती है तो शार्क के जबड़े टूट जाते हैं।
  • खाली पट्टेः अगर बंद होने पर कीमत बढ़ जाती है तो शार्क के जबड़े टूट जाते हैं।

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

img img img

पूंजी वक्र और पुनर्मूल्यांकन प्रदर्शन के आंकड़ों से यह रणनीति अच्छी तरह से प्रदर्शन कर रही है, और समग्र पूंजी वक्र स्थिर रूप से ऊपर की ओर है। हालांकि, 2016 के अंत के बाद से पेंच स्टील की किस्मों के लिए, बाजार की विशेषताएं बदल गई हैं, जो पहले के उच्च अस्थिरता के एकतरफा आंदोलन से व्यापक अस्थिरता में बदल गई हैं। पूंजी वक्र से, 2017 से अब तक लाभ स्पष्ट रूप से कमजोर है।

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

3.2 जावास्क्रिप्ट आधारित सीटीए सूट रणनीतियों का विकास

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

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

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

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

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

डिजिटल मुद्राओं के लिए एक दीर्घकालिक सूट रणनीति बनानाकठिनाईः औसत स्तररणनीतिक माहौल

  • ट्रेडमार्कः एथेरियम क्लासिक (ETC)
  • मूल्य अंतर डेटाः ईटीसी सप्ताह में - ईटीसी तिमाही ((समन्वय जांच को छोड़ दें)
  • लेनदेन चक्रः 5 मिनट
  • 头寸匹配:1:1
  • लेन-देन का प्रकारः एक ही किस्म के पार अवधि

रणनीतिक तर्क

  • ओवरडिसपेंडिंग की शर्तेंः यदि वर्तमान खाते में कोई स्टॉक नहीं है, और कीमत बीओएल से कम है, तो ओवरडिसपेंडिंग की शर्तें लागू की जाती हैं, अर्थातः ईटीसी को सप्ताह में खरीदें, ईटीसी को तिमाही में बेचें।
  • खाली मूल्य अंतर खोलने की शर्तेंः यदि वर्तमान खाते में कोई स्टॉक नहीं है, और कीमत बीओएल से अधिक है, तो खाली मूल्य अंतर खोलें; यानी, ईटीसी को सप्ताह में बेचें, ईटीसी को तिमाही में खरीदें।
  • ओवरडिफरेंस ब्रोचिंग शर्तेंः यदि वर्तमान खाते में ईटीसी का एक सप्ताह का ओवरऑर्डर है, और ईटीसी का एक तिमाही रिक्त ऑर्डर है, और कीमतों का अंतर बीओएल से अधिक है, तो ओवरडिफरेंस ब्रोच होगा। अर्थात, ईटीसी को सप्ताह में बेचें, और ईटीसी को तिमाही में खरीदें।
  • बकाया मूल्य के लिए बकाया स्थितिः यदि वर्तमान खाते में उस सप्ताह के लिए ईटीसी का एक बकाया आदेश है, और तिमाही के लिए कई ईटीसी के आदेश हैं, और कीमत बकाया से कम है, तो बकाया मूल्य बकाया है। अर्थातः उस सप्ताह के लिए बकाया ईटीसी खरीदें, तिमाही के लिए बकाया ईटीसी बेचें।

उपरोक्त एक सरल डिजिटल मुद्रा की लंबी अवधि के सूट रणनीति के तर्क का वर्णन है, तो कार्यक्रम में अपने विचारों को कैसे लागू किया जाए? हमने आविष्कारकों को व्यापार प्लेटफार्मों को मात्राबद्ध करने से पहले एक ढांचा बनाने का प्रयास किया है।

function Data() {}  // 基础数据函数
Data.prototype.mp = function () {}  // 持仓函数
Data.prototype.boll = function () {}  // 指标函数
Data.prototype.trade = function () {}  // 下单函数
Data.prototype.cancelOrders = function () {}  // 撤单函数
Data.prototype.isEven = function () {}  // 处理单只合约函数
Data.prototype.drawingChart = function () {}  // 画图函数

function onTick() {
    var data = new Data(tradeTypeA, tradeTypeB);  // 创建一个基础数据对象
    var accountStocks = data.accountData.Stocks;  // 账户余额
    var boll = data.boll(dataLength, timeCycle);  // 计算boll技术指标
    data.trade();  // 计算交易条件下单
    data.cancelOrders();  // 撤单
    data.drawingChart(boll);  // 画图
    data.isEven();  // 处理持有单个合约
}

//入口函数
function main() {
    while (true) {  // 进入轮询模式
        onTick();  // 执行onTick函数
        Sleep(500);  // 休眠0.5秒
    }
}

कल्पना कीजिए कि हम प्रबंधकीय लेनदेन में लेनदेन प्रक्रियाओं को कैसे देखते हैं? सिस्टम लेनदेन में कोई अंतर नहीं है, केवल डेटा प्राप्त करना, डेटा की गणना करना, ऑर्डर करने के बाद लेनदेन करना, ऑर्डर करने के बाद प्रसंस्करण करना। तो यह प्रोग्राम में भी है, पहले प्रोग्राम 20 वीं पंक्ति मुख्य फ़ंक्शन को निष्पादित करता है, जो एक अनुबंधित नियम है, जब प्रोग्राम ट्रेडिंग रणनीति प्रसंस्करण को पूरा करता है, तो यह अनंत चक्र मोड में चला जाता है, यानी, राउंडिंग मोड, जिसमें राउंडिंग मोड में, दोहराए जाने वाले ऑनटिक फ़ंक्शन को निष्पादित किया जाता है।

तो onTick function में, यह वही है जो हम व्यक्तिपरक लेनदेन में करते हैंः पहले मूल मूल्य डेटा प्राप्त करते हैं, फिर खाता शेष प्राप्त करते हैं, फिर एक सूचक की गणना करते हैं, फिर लेनदेन की शर्तों का गणना करना शुरू करते हैं और आदेश देते हैं, और अंत में आदेश के बाद का प्रसंस्करण, जिसमें शामिल हैंः आदेश निकालना, चित्र बनाना, एकल अनुबंधों को संसाधित करना।

रणनीतिक विचारों और लेनदेन प्रक्रियाओं के बीच एक रणनीतिक ढांचा बनाना बहुत आसान है। पूरी रणनीति को तीन चरणों में सरल बनाया जा सकता हैः

  • सौदे से पहले प्री-प्रोसेसिंग।
  • डेटा प्राप्त करें और गणना करें।
  • इस तरह की घटनाओं के बारे में जानकारी प्राप्त करने के लिए, कृपया नीचे लिखेंः

ट्रेडिंग रणनीति फ्रेमवर्क के निर्माण के बाद, वास्तविक ट्रेडिंग प्रक्रियाओं और लेनदेन के विवरण के आधार पर रणनीति फ्रेमवर्क में आवश्यक विवरण कोड भरने की आवश्यकता होती है।

एक, सौदे से पहले का प्रसंस्करण

1. आवश्यक वैश्विक चर घोषित करें

  • चार्ट ऑब्जेक्ट को एक कॉन्फ़िगरेशन चार्ट में घोषित करेंvar chart = {}
  • चार्ट फ़ंक्शन को कॉल करें, चार्ट को आरंभ करेंvar ObjChart = Chart ( chart )
  • एक रिक्त सरणी का घोषणा करें, जो मूल्य भिन्नता अनुक्रम को संग्रहीत करने के लिए उपयोग किया जाता हैvar bars = []
  • एक ऐतिहासिक डेटा रिकॉर्ड करने के लिए एक समय-सीमा चर घोषित करेंvar oldTime = 0

2. कॉन्फ़िगरेशन नीति के बाहरी पैरामीटर

var tradeTypeA = "this_week"; // 套利A合约
var tradeTypeB = "quarter"; // 套利B合约
var dataLength = 10; //指标周期长度
var timeCycle = 1; // K线周期
var name = "ETC"; // 币种
var unit = 1; // 下单量

3. डेटा प्रोसेसिंग फ़ंक्शन को परिभाषित करें

  • मूल डेटा फ़ंक्शन: Data () एक संरचनात्मक फ़ंक्शन Data बनाएं और इसके आंतरिक गुणों को परिभाषित करें. इसमें शामिल हैंः खाता डेटा, होल्डिंग डेटा, के-लाइन डेटा समय सीमा, लाभ ए/बी अनुबंधों के लिए खरीद/बिक्री मूल्य, सकारात्मक/विपरित मूल्य अंतर।
function Data(tradeTypeA, tradeTypeB) { // 传入套利A合约和套利B合约
    this.accountData = _C(exchange.GetAccount); // 获取账户信息
    this.positionData = _C(exchange.GetPosition); // 获取持仓信息
    var recordsData = _C(exchange.GetRecords); //获取K线数据
    exchange.SetContractType(tradeTypeA); // 订阅套利A合约
    var depthDataA = _C(exchange.GetDepth); // 套利A合约深度数据
    exchange.SetContractType(tradeTypeB); // 订阅套利B合约
    var depthDataB = _C(exchange.GetDepth); // 套利B合约深度数据
    this.time = recordsData[recordsData.length - 1].Time; // 获取最新数据时间
    this.askA = depthDataA.Asks[0].Price; // 套利A合约卖一价
    this.bidA = depthDataA.Bids[0].Price; // 套利A合约买一价
    this.askB = depthDataB.Asks[0].Price; // 套利B合约卖一价
    this.bidB = depthDataB.Bids[0].Price; // 套利B合约买一价
    // 正套价差(合约A卖一价 - 合约B买一价)
    this.basb = depthDataA.Asks[0].Price - depthDataB.Bids[0].Price;
    // 反套价差(合约A买一价 - 合约B卖一价)
    this.sabb = depthDataA.Bids[0].Price - depthDataB.Asks[0].Price;
}
  • भंडारण फ़ंक्शन प्राप्त करेंः mp () पूरे होल्डिंग्स सरणी में चला जाता है, निर्दिष्ट अनुबंध, निर्दिष्ट दिशा में होल्डिंग्स की संख्या लौटाता है, यदि कोई नहीं है तो false लौटाता है
Data.prototype.mp = function (tradeType, type) {
    var positionData = this.positionData; // 获取持仓信息
    for (var i = 0; i < positionData.length; i++) {
        if (positionData[i].ContractType == tradeType) {
            if (positionData[i].Type == type) {
                if (positionData[i].Amount > 0) {
                    return positionData[i].Amount;
                }
            }
        }
    }
    return false;
}
  • K पंक्ति और संकेतक फ़ंक्शन:boll () सकारात्मक/विरोधी मूल्य अंतर डेटा के आधार पर, नए K-लाइन अनुक्रमों का निर्माण किया जाता है; और बल संकेतक द्वारा गणना की गई ऊपरी, मध्य और निचली रेखा डेटा लौटाया जाता है।
Data.prototype.boll = function (num, timeCycle) {
    var self = {}; // 临时对象
    // 正套价差和反套价差中间值
    self.Close = (this.basb + this.sabb) / 2;
    if (this.timeA == this.timeB) {
        self.Time = this.time;
    } // 对比两个深度数据时间戳
    if (this.time - oldTime > timeCycle * 60000) {
        bars.push(self);
        oldTime = this.time;
    } // 根据指定时间周期,在K线数组里面传入价差数据对象
    if (bars.length > num * 2) {
        bars.shift(); // 控制K线数组长度
    } else {
        return;
    }
    var boll = TA.BOLL(bars, num, 2); // 调用talib库中的boll指标
    return {
        up: boll[0][boll[0].length - 1], // boll指标上轨
        middle: boll[1][boll[1].length - 1], // boll指标中轨
        down: boll[2][boll[2].length - 1] // boll指标下轨
    } // 返回一个处理好的boll指标数据
}
  • निम्नलिखित फ़ंक्शनःtrade () ऑर्डर का नाम और ऑर्डर का प्रकार दर्ज करें, फिर ऑर्डर को प्रति-मूल्य पर ऑर्डर करें और ऑर्डर के बाद परिणाम लौटाएं। चूंकि एक ही समय में दो अलग-अलग दिशाओं में ऑर्डर की आवश्यकता होती है, इसलिए ऑर्डर के नाम के आधार पर एक खरीद / बिक्री मूल्य में रूपांतरण किया जाता है।
Data.prototype.trade = function (tradeType, type) {
    exchange.SetContractType(tradeType); // 下单前先重新订阅合约
    var askPrice, bidPrice;
    if (tradeType == tradeTypeA) { // 如果是A合约下单
        askPrice = this.askA; // 设置askPrice
        bidPrice = this.bidA; // 设置bidPrice
    } else if (tradeType == tradeTypeB) { // 如果是B合约下单
        askPrice = this.askB; // 设置askPrice
        bidPrice = this.bidB; // 设置bidPrice
    }
    switch (type) { // 匹配下单模式
        case "buy":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Buy(askPrice, unit);
        case "sell":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Sell(bidPrice, unit);
        case "closebuy":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Sell(bidPrice, unit);
        case "closesell":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Buy(askPrice, unit);
        default:
            return false;
    }
}
  • ऑर्डर रद्द करें फ़ंक्शनःcancelOrders () सभी बकाया आदेशों का सरणी प्राप्त करें और एक-एक करके रद्द करें. और यदि कोई बकाया आदेश है तो गलत लौटाता है, यदि कोई बकाया आदेश नहीं है तो सच लौटाता है.
Data.prototype.cancelOrders = function () {
    Sleep(500); // 撤单前先延时,因为有些交易所你懂的
    var orders = _C(exchange.GetOrders); // 获取未成交订单数组
    if (orders.length > 0) { // 如果有未成交的订单
        for (var i = 0; i < orders.length; i++) { //遍历未成交订单数组
            exchange.CancelOrder(orders[i].Id); //逐个取消未成交的订单
            Sleep(500); //延时0.5秒
        }
        return false; // 如果取消了未成交的单子就返回false
    }
    return true; //如果没有未成交的订单就返回true
}
  • एकल अनुबंध के साथ संसाधित करेंः isEven ()) लाभप्रदता लेनदेन में एक पैर की स्थिति होती है, जहां सभी पदों को सीधे सरल तरीके से समतल किया जाता है।
Data.prototype.isEven = function () {
    var positionData = this.positionData; // 获取持仓信息
    var type = null; // 转换持仓方向
    // 如果持仓数组长度余2不等于0或者持仓数组长度不等于2
    if (positionData.length % 2 != 0 || positionData.length != 2) {
        for (var i = 0; i < positionData.length; i++) { // 遍历持仓数组
            if (positionData[i].Type == 0) { // 如果是多单
                type = 10; // 设置下单参数
            } else if (positionData[i].Type == 1) { // 如果是空单
                type = -10; // 设置下单参数
            }
            // 平掉所有仓位
            this.trade(positionData[i].ContractType, type, positionData[i].Amount);
        }
    }
}
  • ड्राइंग चार्ट फ़ंक्शन:drawingChart () ObjChart.add () विधि का उपयोग करके, चार्ट में आवश्यक बाजार डेटा और संकेतक डेटा को चित्रित करेंः ऊपर, बीच, नीचे, सकारात्मक / विपरीत मूल्य अंतर।
Data.prototype.drawingChart = function (boll) {
    var nowTime = new Date().getTime();
    ObjChart.add([0, [nowTime, boll.up]]);
    ObjChart.add([1, [nowTime, boll.middle]]);
    ObjChart.add([2, [nowTime, boll.down]]);
    ObjChart.add([3, [nowTime, this.basb]]);
    ObjChart.add([4, [nowTime, this.sabb]]);
    ObjChart.update(chart);
}

4. इनपुट फ़ंक्शन main () के अंदर, लेन-देन के पूर्व-प्रसंस्करण कोड को निष्पादित करें, जो प्रोग्राम के आरंभ होने के बाद केवल एक बार चलाया जाता है, जिसमें शामिल हैंः

  • फ़िल्टर कंट्रोल में महत्वपूर्ण जानकारी नहीं हैSetErrorFilter ( )
  • डिजिटल मुद्राओं के लिए विनिमय सेट करेंexchange.IO ( )
  • प्रोग्राम शुरू होने से पहले खाली किए गए चार्टObjChart.reset ( )
  • प्रोग्राम शुरू होने से पहले रिक्त स्थिति टैब जानकारीLogProfitReset ( )

उपरोक्त लेनदेन के पूर्व-प्रसंस्करण को परिभाषित करने के बाद, अगले चरण पर जाने के लिए, ट्रांजिट मोड में जाएं, onTick () फ़ंक्शन को दोहराएं; और Sleep () ट्रांजिट के दौरान नींद का समय सेट करें, क्योंकि कुछ डिजिटल मुद्रा एक्सचेंजों के एपीआई में एक निश्चित समय के भीतर प्रवेश की संख्या पर अंतर्निहित सीमा है।

function main() {
    // 过滤控制台中不是很重要的信息
    SetErrorFilter("429|GetRecords:|GetOrders:|GetDepth:|GetAccount|:Buy|Sell|timeout|Futures_OP");
    exchange.IO("currency", name + '_USDT'); //设置要交易的数字货币币种
    ObjChart.reset(); //程序启动前清空之前绘制的图表
    LogProfitReset(); //程序启动前清空之前的状态栏信息
    while (true) { // 进入轮询模式
        onTick(); // 执行onTick函数
        Sleep(500); // 休眠0.5秒
    }
}

2. डेटा प्राप्त करना और गणना करना

  1. ट्रेडिंग लॉजिक के लिए आधारभूत डेटा ऑब्जेक्ट, खाता शेष, बोल्ट सूचकांक डेटा प्राप्त करें।
function onTick() {
    var data = new Data(tradeTypeA, tradeTypeB); // 创建一个基础数据对象
    var accountStocks = data.accountData.Stocks; // 账户余额
    var boll = data.boll(dataLength, timeCycle); // 获取boll指标数据
    if (!boll) return; // 如果没有boll数据就返回
}

तीसरा, आदेश और बाद के प्रसंस्करण के लिए

  1. उपरोक्त रणनीतिक तर्क के अनुसार, खरीद-फरोख्त का संचालन किया जाता है। सबसे पहले यह निर्धारित किया जाता है कि क्या मूल्य और सूचक की शर्तें मान्य हैं, फिर यह निर्धारित किया जाता है कि क्या होल्डिंग की शर्तें मान्य हैं, और अंत में trade () उप-सूची फ़ंक्शन निष्पादित किया जाता है।
// 价差说明
// basb = (合约A卖一价 - 合约B买一价)
// sabb = (合约A买一价 - 合约B卖一价)
if (data.sabb > boll.middle && data.sabb < boll.up) { // 如果sabb高于中轨
    if (data.mp(tradeTypeA, 0)) { // 下单前检测合约A是否有多单
        data.trade(tradeTypeA, "closebuy"); // 合约A平多
    }
    if (data.mp(tradeTypeB, 1)) { // 下单前检测合约B是否有空单
        data.trade(tradeTypeB, "closesell"); // 合约B平空
    }
} else if (data.basb < boll.middle && data.basb > boll.down) { // 如果basb低于中轨
    if (data.mp(tradeTypeA, 1)) { // 下单前检测合约A是否有空单
        data.trade(tradeTypeA, "closesell"); // 合约A平空
    }
    if (data.mp(tradeTypeB, 0)) { // 下单前检测合约B是否有多单
        data.trade(tradeTypeB, "closebuy"); // 合约B平多
    }
}
if (accountStocks * Math.max(data.askA, data.askB) > 1) { // 如果账户有余额
    if (data.basb < boll.down) { // 如果basb价差低于下轨
        if (!data.mp(tradeTypeA, 0)) { // 下单前检测合约A是否有多单
            data.trade(tradeTypeA, "buy"); // 合约A开多
        }
        if (!data.mp(tradeTypeB, 1)) { // 下单前检测合约B是否有空单
            data.trade(tradeTypeB, "sell"); // 合约B开空
        }
    } else if (data.sabb > boll.up) { // 如果sabb价差高于上轨
        if (!data.mp(tradeTypeA, 1)) { // 下单前检测合约A是否有空单
            data.trade(tradeTypeA, "sell"); // 合约A开空
        }
        if (!data.mp(tradeTypeB, 0)) { // 下单前检测合约B是否有多单
            data.trade(tradeTypeB, "buy"); // 合约B开多
        }
    }
}
  1. एक बार ऑर्डर पूरा हो जाने के बाद, अनियमितताओं जैसे अपूर्ण ऑर्डर, एक एकल अनुबंध रखने और चार्ट बनाने के लिए काम करना आवश्यक है।
data.cancelOrders(); // 撤单
data.drawingChart(boll); // 画图
data.isEven(); // 处理持有单个合约

ऊपर, हमने 200 से अधिक पंक्तियों के साथ एक सरल डिजिटल मुद्रा दीर्घकालिक सूट रणनीति का निर्माण किया है। पूरा कोड इस प्रकार हैः

// 全局变量
// 声明一个配置图表的 chart 对象
var chart = {
    __isStock: true,
    tooltip: {
        xDateFormat: '%Y-%m-%d %H:%M:%S, %A'
    },
    title: {
        text: '交易盈亏曲线图(详细)'
    },
    rangeSelector: {
        buttons: [{
            type: 'hour',
            count: 1,
            text: '1h'
        }, {
            type: 'hour',
            count: 2,
            text: '3h'
        }, {
            type: 'hour',
            count: 8,
            text: '8h'
        }, {
            type: 'all',
            text: 'All'
        }],
        selected: 0,
        inputEnabled: false
    },
    xAxis: {
        type: 'datetime'
    },
    yAxis: {
        title: {
            text: '价差'
        },
        opposite: false,
    },
    series: [{
        name: "上轨",
        id: "线1,up",
        data: []
    }, {
        name: "中轨",
        id: "线2,middle",
        data: []
    }, {
        name: "下轨",
        id: "线3,down",
        data: []
    }, {
        name: "basb",
        id: "线4,basb",
        data: []
    }, {
        name: "sabb",
        id: "线5,sabb",
        data: []
    }]
};
var ObjChart = Chart(chart); // 画图对象
var bars = []; // 存储价差序列
var oldTime = 0; // 记录历史数据时间戳

// 参数
var tradeTypeA = "this_week"; // 套利A合约
var tradeTypeB = "quarter"; // 套利B合约
var dataLength = 10; //指标周期长度
var timeCycle = 1; // K线周期
var name = "ETC"; // 币种
var unit = 1; // 下单量

// 基础数据
function Data(tradeTypeA, tradeTypeB) { // 传入套利A合约和套利B合约
    this.accountData = _C(exchange.GetAccount); // 获取账户信息
    this.positionData = _C(exchange.GetPosition); // 获取持仓信息
    var recordsData = _C(exchange.GetRecords); //获取K线数据
    exchange.SetContractType(tradeTypeA); // 订阅套利A合约
    var depthDataA = _C(exchange.GetDepth); // 套利A合约深度数据
    exchange.SetContractType(tradeTypeB); // 订阅套利B合约
    var depthDataB = _C(exchange.GetDepth); // 套利B合约深度数据
    this.time = recordsData[recordsData.length - 1].Time; // 获取最新数据时间
    this.askA = depthDataA.Asks[0].Price; // 套利A合约卖一价
    this.bidA = depthDataA.Bids[0].Price; // 套利A合约买一价
    this.askB = depthDataB.Asks[0].Price; // 套利B合约卖一价
    this.bidB = depthDataB.Bids[0].Price; // 套利B合约买一价
    // 正套价差(合约A卖一价 - 合约B买一价)
    this.basb = depthDataA.Asks[0].Price - depthDataB.Bids[0].Price;
    // 反套价差(合约A买一价 - 合约B卖一价)
    this.sabb = depthDataA.Bids[0].Price - depthDataB.Asks[0].Price;
}

// 获取持仓
Data.prototype.mp = function (tradeType, type) {
    var positionData = this.positionData; // 获取持仓信息
    for (var i = 0; i < positionData.length; i++) {
        if (positionData[i].ContractType == tradeType) {
            if (positionData[i].Type == type) {
                if (positionData[i].Amount > 0) {
                    return positionData[i].Amount;
                }
            }
        }
    }
    return false;
}

// 合成新K线数据和boll指标数据
Data.prototype.boll = function (num, timeCycle) {
    var self = {}; // 临时对象
    // 正套价差和反套价差中间值
    self.Close = (this.basb + this.sabb) / 2;
    if (this.timeA == this.timeB) {
        self.Time = this.time;
    } // 对比两个深度数据时间戳
    if (this.time - oldTime > timeCycle * 60000) {
        bars.push(self);
        oldTime = this.time;
    } // 根据指定时间周期,在K线数组里面传入价差数据对象
    if (bars.length > num * 2) {
        bars.shift(); // 控制K线数组长度
    } else {
        return;
    }
    var boll = TA.BOLL(bars, num, 2); // 调用talib库中的boll指标
    return {
        up: boll[0][boll[0].length - 1], // boll指标上轨
        middle: boll[1][boll[1].length - 1], // boll指标中轨
        down: boll[2][boll[2].length - 1] // boll指标下轨
    } // 返回一个处理好的boll指标数据
}

// 下单
Data.prototype.trade = function (tradeType, type) {
    exchange.SetContractType(tradeType); // 下单前先重新订阅合约
    var askPrice, bidPrice;
    if (tradeType == tradeTypeA) { // 如果是A合约下单
        askPrice = this.askA; // 设置askPrice
        bidPrice = this.bidA; // 设置bidPrice
    } else if (tradeType == tradeTypeB) { // 如果是B合约下单
        askPrice = this.askB; // 设置askPrice
        bidPrice = this.bidB; // 设置bidPrice
    }
    switch (type) { // 匹配下单模式
        case "buy":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Buy(askPrice, unit);
        case "sell":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Sell(bidPrice, unit);
        case "closebuy":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Sell(bidPrice, unit);
        case "closesell":
            exchange.SetDirection(type); // 设置下单模式
            return exchange.Buy(askPrice, unit);
        default:
            return false;
    }
}

// 取消订单
Data.prototype.cancelOrders = function () {
    Sleep(500); // 撤单前先延时,因为有些交易所你懂的
    var orders = _C(exchange.GetOrders); // 获取未成交订单数组
    if (orders.length > 0) { // 如果有未成交的订单
        for (var i = 0; i < orders.length; i++) { //遍历未成交订单数组
            exchange.CancelOrder(orders[i].Id); //逐个取消未成交的订单
            Sleep(500); //延时0.5秒
        }
        return false; // 如果取消了未成交的单子就返回false
    }
    return true; //如果没有未成交的订单就返回true
}

// 处理持有单个合约
Data.prototype.isEven = function () {
    var positionData = this.positionData; // 获取持仓信息
    var type = null; // 转换持仓方向
    // 如果持仓数组长度余2不等于0或者持仓数组长度不等于2
    if (positionData.length % 2 != 0 || positionData.length != 2) {
        for (var i = 0; i < positionData.length; i++) { // 遍历持仓数

संबंधित

अधिक

डायनवान99सीखना

डैडीसीखना

जुन्फेंग91सीखना