My भाषा में कई सामान्य संकेतक लिखने के लिए और क्रॉस-संकेतक मॉडल के लिए उदाहरण विश्लेषण

लेखक:अच्छाई, बनाया गयाः 2019-07-08 10:01:48, अद्यतन किया गयाः 2019-07-16 15:38:53

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

My भाषा केवल घरेलू कमोडिटी वायदा के लिए ही नहीं बल्कि डिजिटल मुद्रा से संबंधित लेनदेन के लिए भी समान रूप से समर्थन करती है।

इस लेख में कुछ सामान्य संकेतकों के लेखन और कुछ पार-निर्देशक मॉडल के उदाहरणों का विश्लेषण किया जाएगा।

कुछ सामान्य रूप से उपयोग किए जाने वाले संकेतकों का वर्गीकरण और लेखन

  • पारंपरिक क्लासिक के-लाइन प्रारूपों में शामिल हैंः तीन पैरों वाला कौआ, क्रॉस स्टार, सिर तोड़ने वाला पैर, एक खंभे का आकाश, सेनानी उंगली का रास्ता, सोने की सुई के नीचे आदि।

  • संकेतक के मामले में, प्रवृत्ति वर्ग के संकेतक में विभाजित हैंः एमए (समान रेखा संयोजन), बीओएलएल, पीयूबीयू (कंप लाइन), एसएआर (रोकने का बिंदु) आदि।

  • आभासी प्रकार के संकेतकः एटीआर (सत्य तरंग दैर्ध्य), केडीजे (जैविक संकेतक), एमएसीडी (मैकड), डब्ल्यूआर (विलियम संकेतक) आदि।

  • मात्रा भंडारण विश्लेषण सूचकांक CJL ((पूर्ति मात्रा) 、DUALVOL ((बहु रिक्त मात्रा अनुपात) 、OBV ((मात्रा ऊर्जा तरलता)

इसके बाद, आइए My Language का उपयोग करके इन क्लासिक रूपों और संकेतकों को एक-एक करके आविष्कारकों के लिए क्वांटिफाइड प्लेटफॉर्म पर लागू करें, जिसका उद्देश्य पाठक को सीधे इन संकेतकों का उपयोग करने के लिए नहीं है (बेशक, कुछ परिस्थितियों में सीधे उपयोग करने में कोई समस्या नहीं हो सकती है), बल्कि पाठक को इन संकेतकों के आधार पर समय की गति का परीक्षण करने और इन क्लासिक्स को सुधारने के लिए सक्षम बनाने के लिए है।

बड़ा सूर्य रेखाः खोलने की कीमत सबसे कम कीमत है, बंद करने की कीमत सबसे अधिक कीमत है, K रेखा 4% से अधिक बढ़ी है

AA:=OPEN=LOW; 
BB:=CLOSE=HIGH; 
CC :=CLOSE/OPEN>1.04; 

यहाँ तर्कसंगत समग्र निर्णय की शर्तें हैंः AA&&BB&&CC

सिर के माध्यम से पैर तोड़नाः दो K लाइनें हैं, जो बाजार को बदलने के लिए संकेत देती हैं, वर्तमान K लाइन का उद्घाटन कम से कम 4% का अंतर है। यदि यह ऊपर के माध्यम से सिर तोड़ने का प्रकार है, तो यह K लाइन सूर्यास्त होनी चाहिए, जबकि वर्तमान K लाइन का उच्चतम मूल्य और निम्नतम मूल्य पहले K लाइन को कवर करना चाहिए।

A1:=REF(CLOSE,1); 
A2:=REF(OPEN,1); 
BB:C/O>1.04;
B1:=OPEN<A1; 
B2:=CLOSE>A2;

यहाँ तर्कसंगत निर्णय की शर्तें हैं: BB&&B1&&B2

प्रवृत्ति वर्ग के संकेतक

  • समोच्च रेखा क्रॉसिंगः 5 दिन की समोच्च रेखा ऊपर की ओर 10 दिन की समोच्च रेखा (गोल्डन फोर्क); 5 दिन की समोच्च रेखा नीचे की ओर 10 दिन की समोच्च रेखा (मृत फोर्क) के माध्यम से
MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10);
金叉 CROSSUP(MA5,MA10);
死叉 CROSSDOWN(MA5,MA10);

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

इसी तरह, तीन समतल रेखाओं के लिए रणनीतिक तर्क के लिए, मान लीजिए कि 5 दिन की समतल रेखा, 10 दिन की समतल रेखा, 30 दिन की समतल रेखा कई सिरों के साथ हैं और 3 दिनों तक चलती हैं, हम लिख सकते हैंः

MA5:=MA(CLOSE,5); 
MA10:=MA(CLOSE,10); 
MA30:=MA(CLOSE,30); 
CC:=MA5>MA30 AND MA10>MA30;
  • BOLL चैनल: BOLL चैनल में नीचे की रेखा (Bottom), ऊपर की रेखा (Top) और मध्य की रेखा (Mid) शामिल हैं। जब चैनल चौड़ा होता है और ऊपर की ओर बढ़ता है, तो कीमत ऊपर की ओर बढ़ जाती है।

My भाषा के कोड का उपयोग करके इसे इस तरह लिखा जा सकता हैः

MID:MA(CLOSE,26);//求N个周期的收盘价均线,称为布林通道中轨
TMP2:=STD(CLOSE,26);//求M个周期内的收盘价的标准差
TOP:MID+2*TMP2;//布林通道上轨
BOTTOM:MID-2*TMP2;//布林通道下轨
AA:=TOP>REF(TOP,1)&&BOTTOM<REF(BOTTOM,1)&&MID>REF(MID,1);
BB:=C>TOP;

इनमें से कई रुझानों का आकलन करने की शर्तें हैंः AA&&BB

  • SAR (स्टॉप-लॉस पॉइंट) सूचकः SAR ऊपर की ओर 0 के पार, बहु-अंत की प्रवृत्ति; SAR नीचे की ओर 0 के पार, खाली अंत की प्रवृत्ति।

सबसे पहले, हम इनवेटर्स क्वांटिफाइड पॉलिसी कोड लेखन इंटरफ़ेस के नीचे दिए गए मैक भाषा लेनदेन क्लासरूम में पैरामीटर को परिभाषित करते हैं।

img img

N 1 100 4 चरण 1 20 2 मूल्य 1 10 2

STEP1:=STEP/100;
MVALUE1:=MVALUE/10;
SARLINE:SAR(N,STEP1,MVALUE1),CIRCLEDOT;
//N个周期的抛物转向,步长为STEP1,极限值为MVALUE1.
CROSS(SARLINE,0),BPK;//抛物转向值上穿0,做多。
CROSS(0,SARLINE),SPK;//抛物转向值下穿0,作空。
AUTOFILTER;

चलती श्रेणी के संकेत

किसी भी ट्रेडिंग अनुभव वाले व्यक्ति को पता होगा कि किसी भी बाजार में 80 प्रतिशत समय में कीमतें अस्थिर होती हैं और बहुत कम समय में 20 प्रतिशत समय में कीमतें ट्रेंडिंग होती हैं।

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

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

यह एक अच्छा विकल्प है कि आप ट्रेंड्स को ट्रेंड्स के प्रकार के संकेतक के साथ और ट्रेंड्स के अंत को स्विंग्स के प्रकार के संकेतक के साथ आंकें।

  • केडीजे के रैंडम इंडिकेटर में K, D, J तीन लाइनें होती हैं, जो 0 से 100 के बीच बदलती हैं, जे लाइन 20 से कम, ओवरसोल्ड जोन में प्रवेश करती है, जे लाइन 80 से अधिक, ओवरबॉय जोन में प्रवेश करती है। यदि के लाइन पर डी लाइन के माध्यम से अधिक किया जा सकता है, तो यदि के लाइन के नीचे डी लाइन के माध्यम से खाली हो सकता है।
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:SMA(RSV,M1,1);//RSV的移动平均值
D:SMA(K,M2,1);//K的移动平均值
J:3*K-2*D;
BACKGROUNDSTYLE(1);
CROSS(K,D),BPK;//KD金叉,做多。
CROSS(J,20),BP;//J值上穿20
CROSS(D,K),SPK;//KD死叉,做空。
CROSS(80,J),SP;// J值下穿80
AUTOFILTER;
  • मैकडी का अर्थ लगभग एक ही होता है, जब मैकडी नकारात्मक से सकारात्मक हो जाता है, तो यह अधिक संकेत देता है। जब मैकडी सकारात्मक से नकारात्मक हो जाता है, तो यह खाली संकेत देता है।
DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);
//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA:EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
CROSS(DIFF,DEA),BPK;//DIFF上穿DEA,做多。
CROSS(DEA,DIFF),SPK;//DIFF下穿DEA,做空。
AUTOFILTER;

पारदर्शी मॉडल के उदाहरण

हम क्यों आंकड़ों को पार कर रहे हैं?

  • पहला कारणः मॉडल में क्रॉस इंडिकेटर, तकनीकी रूप से आंतरिक तत्वों के साथ एक व्यापारिक विचार है, जो कई अलग-अलग वर्गीकृत इंडिकेटर ट्रेडिंग विचारों को एक साथ जोड़ता है।

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

अक्सर सोचें

  • ट्रेंड्स का आकलन करने के साथ-साथ बारीकी से विश्लेषण करना।
  • कई शर्तें एक ही दिशा में न्याय करती हैं।

झटके मॉडल के उदाहरण

  • ज्वार सूचकांक
ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100

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

उथल-पुथल मॉडल ट्रेडिंग विचारः ज्वार सूचकांक का आकलन, केडीजे उतार-चढ़ाव सूचकांक प्रवेश और निकास बिंदुओं का पता लगाता है

इस मॉडल को हम इस तरह लिख सकते हैं:

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);//RSV的移动平均值
D:SMA(K,M2,1);//K的移动平均值
J:3*K-2*D;
CMIVAL:ABS(CLOSE-REF(CLOSE,29))/(HHV(HIGH,30)-LLV(LOW,30))*100,NODRAW;
BACKGROUNDSTYLE(1);
K>D&&EVERY(CMIVAL<20,2),BPK;//盘整行情,KD金叉,做多。
CROSS(J,10)||CROSS(K,D),BP;// J值上穿10超卖或者KD金叉,平仓
D>K&&EVERY(CMIVAL<20,2),SPK;//盘整行情,KD死叉,做空。
CROSS(90,J)||CROSS(D,K),SP;// J值下穿90超买或者KD死叉,平仓
AUTOFILTER;

img

रुझान मॉडल के उदाहरण

ट्रेंड मॉडल ट्रेडिंग विचारः ईएमए ऊपर की ओर या नीचे की ओर रुझान का निर्धारण करता है; एडीएक्स सूचकांक ट्रेंड में बदलाव की डिग्री, ट्रेंड मजबूत प्रवेश और ट्रेंड कमजोर धारणाओं को दर्शाता है।

ईएमए ट्रेडिंग सिस्टम के रुझानों का आकलन करता हैः

UPPERMA:EMA(HIGH,30);//计算30根K线最高价的EMA
LOWERMA:EMA(LOW,30);//计算30根K线最低价的EMA
CROSSUP(C,UPPERMA),BPK;//收盘价上穿EMA,做多
CROSSDOWN(C,LOWERMA),SPK;//收盘价下穿EMA,做空
AUTOFILTER;

img

ईएमए केवल बहु-प्रवृत्ति और शून्य-प्रवृत्ति का आकलन कर सकता है, लेकिन प्रवृत्ति की ताकत और कमजोरी का आकलन नहीं कर सकता है, इसलिए ईएमए बाजार के समेकन में विफल रहता है, इसलिए हमें एक ऐसे संकेतक की तलाश करने की आवश्यकता होती है जो प्रवृत्ति की ताकत और कमजोरी को दर्शा सकेः एडीएक्स सूचकांक

यह कोड इस प्रकार हैः

TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD:=HIGH-REF(HIGH,1);//最高价与前一周期最高价做差
LD:=REF(LOW,1)-LOW;//前一周期最低价与最低价做差
DMP:=SUM(IFELSE(HD>0 && HD>LD,HD,0),14);
//如果HD>0并且HD>LD,取HD否则取0,对取值做N周期累加求和。
DMM:=SUM(IFELSE(LD>0 && LD>HD,LD,0),14);
//如果LD>0并且LD>HD,取LD否则取0,对取值做N周期累加求和。
PDI:=DMP*100/TR;
MDI:=DMM*100/TR;
ADX:=MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);

ADX ऊपर की ओर एक मजबूत और ADX नीचे की ओर एक कमजोर प्रवृत्ति को दर्शाता है।

img

और फिर हम इन दोनों को जोड़ते हैं और ADX और EMA पर आधारित ट्रेडिंग सिस्टम बनाते हैं।

यह कोड इस प्रकार हैः

TR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD:=HIGH-REF(HIGH,1);
LD:=REF(LOW,1)-LOW;
DMP:=SUM(IFELSE(HD>0 && HD>LD,HD,0),14);
DMM:=SUM(IFELSE(LD>0 && LD>HD,LD,0),14);
PDI:=DMP*100/TR;
MDI:=DMM*100/TR;
ADX:=MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);
UPPERMA:=EMA(HIGH,30);
LOWERMA:=EMA(LOW,30);
CROSSUP(C,UPPERMA)&&EVERY(ADX>REF(ADX,1),2),BPK;
//当ADX连续两周期向上且当前价大于30根K线最高价的EMA满足买入条件
CROSSDOWN(C,LOWERMA)&&EVERY(ADX>REF(ADX,1),2),SPK;
//当ADX连续两周期向上且当前价下于30根K线最低价的EMA满足卖出条件
AUTOFILTER;

कई समान संकेतक एक ही दिशा में न्याय करते हैं सटीक विश्लेषण के साथ जीतने की संभावना बढ़ाएं

कई रुझान संकेतकों की खोज करेंः ब्लिंग चैनल (BOLL), डोंगचियन चैनल, और एक समान गतिशील ब्रेकआउट सिस्टम, जो कि अनुकूलित ब्लिंग चैनल और अनुकूलित डोंगचियन चैनल पर आधारित है।

डॉनचियन चैनलः अमेरिकी वायदा बाजार के दिग्गज भौतिक विज्ञानी चाड डेनिस द्वारा आविष्कार किया गया था, जो कि समुद्री तट के नियम का पूर्ववर्ती है। यह एक निश्चित चक्र (आमतौर पर 20 के मामले में परिवर्तनीय के रूप में सेट) के भीतर उच्चतम मूल्य और निम्नतम मूल्य के ऊपर और नीचे की ओर बढ़ने से बना है, जब मूल्य ऊपर और नीचे की ओर बढ़ता है, तो यह एक संभावित खरीद संकेत है; इसके विपरीत, यह एक संभावित बिक्री संकेत है जब यह नीचे की ओर बढ़ता है।

यह एक बहुत ही अच्छा विचार है।

  • कल कीमतें ब्रींग चैनल से अधिक थीं, और उस दिन चक्र की कीमतें डोंगचियन चैनल से अधिक थीं, और कई आदेश दिए गए थे।

  • कल की कीमतें ब्रींग चैनल की तुलना में कम थीं, और उस दिन के चक्र की कीमतें डॉनचियन चैनल की तुलना में कम थीं, खाली ऑर्डर खोलें

  • बहु-ऑर्डर रखने पर, मूल्य स्व-अनुकूलित आउटपुट औसत रेखा से कम है, बहु-ऑर्डर सस्ता है

  • खाली ऑर्डर रखने पर, कीमत स्व-अनुकूलित आउटपुट औसत रेखा से अधिक होती है

हम इसे इस तरह लिख सकते हैंः

//当日市场波动
TODAYVOLATILITY:=STD(CLOSE,30);
//昨日市场波动
YESTERDAYVOLATILITY:=REF(TODAYVOLATILITY,1);
//市场波动的变动率
DELTAVOLATILITY:(TODAYVOLATILITY-YESTERDAYVOLATILITY)/TODAYVOLATILITY;
//计算自适应参数
LOOKBACKDAYS1:=LOOP2(BARPOS=30,20,REF(LOOKBACKDAYS1,1)*(1+DELTAVOLATILITY));
LOOKBACKDAYS2:=ROUND(LOOKBACKDAYS1,0);
LOOKBACKDAYS3:=MIN(LOOKBACKDAYS2,60);//60自适应参数的上限
LOOKBACKDAYS:=MAX(LOOKBACKDAYS3,20);//20自适应参数的下限
//自适应布林通道中轨
MIDLINE:=MA(CLOSE,LOOKBACKDAYS);
BAND:=STD(CLOSE,LOOKBACKDAYS); 
//自适应布林通道上轨
UPBAND:=MIDLINE+2*BAND;
//自适应布林通道下轨
DNBAND:=MIDLINE-2*BAND; 
//自适应唐奇安通道上轨
BUYPOINT:=HHV(HIGH,LOOKBACKDAYS);
//自适应唐奇安通道下轨
SELLPOINT:=LLV(LOW,LOOKBACKDAYS);
//自适应出场均线
LIQPOINT:=MIDLINE;
//昨日价格大于布林通道上轨,并且当日价格大于唐奇安通道上轨,开多单
REF(C,1)>REF(UPBAND,1)&&HIGH>=REF(BUYPOINT,1),BK;
//持有多单时,昨日价格小于布林通道下轨,并且当日价格小于唐奇安通道下轨,平多单
REF(C,1)<REF(DNBAND,1)&&LOW<=REF(SELLPOINT,1),SP;
//持有多单时,价格小于自适应出场均线,平多单
BARSBK>=1&&LOW<=REF(LIQPOINT,1),SP;
//持有空单时,昨日价格大于布林通道上轨,并且当日价格大于唐奇安通道上轨,平空单
REF(C,1)>REF(UPBAND,1)&&H>=REF(BUYPOINT,1),BP;
//昨日价格小于布林通道下轨,并且当日价格小于唐奇安通道下轨,开空单
REF(CLOSE,1)<REF(DNBAND,1)&&LOW<=REF(SELLPOINT,1),SK;
//持有空单时,价格大于自适应出场均线,平空单
BARSSK>=1&&HIGH>=REF(LIQPOINT,1),BP;
AUTOFILTER;

लेखन के दौरान ध्यान देने योग्य है कि My भाषा में, CROSSUP तालिका, CROSSDOWN तालिका और तालिका > तालिका, तालिका < तालिका के बीच अंतर; और तालिका ((AND && तालिका, तालिका या OR तालिका) के लचीले उपयोग, बहु-सर्त कनेक्शन ऑपरेटर प्राथमिकता के मुद्दे पर ध्यान देते हैं; और तालिकाः तालिका और तालिकाः = तालिका के बीच अंतर; और अंत में एक ही चर और पैरामीटर के संशोधन।

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


अधिक

ग्लिप9मार्क

wwq4817ठीक है।