रणनीतिक डेवलपर्स की जरूरतें
विभिन्न बाजारों के लिए अलग-अलग मापदंडों का उपयोग करना आवश्यक है। क्या मैं विभिन्न स्टॉप-लॉस मूल्य अंतर सेट कर सकता हूं?
उदाहरण के लिए, एक पारंपरिक मॉडल में, ब्रीजिंग की शर्तें अलग-अलग शुरुआती शर्तों के बीच अंतर नहीं करती हैं।
नीचे दिया गया कोड एक सरल पारंपरिक गैर-विभाजित स्थिति रणनीति हैः
MA5^^MA(C,5);
MA10^^MA(C,10);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K..SMA(RSV,3,1);
D..SMA(K,3,1);
CROSS(MA5,MA10)||CROSS(K,D),BK;
C>HV(H,10)||C<BKPRICE-5*MINPRICE,SP;
AUTOFILTER;
और समूह निर्देशों का उपयोग करना अलग है।
विखंडन निर्देश एक समूह के लिए n समूहों में समतल स्थिति के लिए विभाजित कर सकते हैं, एक समूह के लिए एक स्थिति खोलने की स्थिति केवल एक समूह के लिए एक समतल स्थिति की स्थिति को संतुलित कर सकती है, अन्य समूहों के लिए एक समतल स्थिति की स्थिति को संतुष्ट करने के लिए कोई संकेत नहीं दिया जाता है, न ही यह सौंपा जाता है।
उदाहरण के लिएः
पहले समूह में कई शर्तें
MA5^^MA(C,5);
MA10^^MA(C,10);
CROSS(MA5,MA10),BK;
CROSS(MA10,MA5),SP;
दूसरे समूह में कई शर्तें
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K..SMA(RSV,3,1);
D..SMA(K,3,1);
CROSS(K,D),BK;
C>HV(H,10)||C<BKPRICE-5*MINPRICE,SP;
एक ही मॉडल में अलग-अलग समूहों के लिए शर्तों को कैसे अलग किया जाए? चलो उन्हें लागू करते हैं।
सबसे पहले, मॉडल को फ़िल्टर मॉडल और गैर फ़िल्टर मॉडल में विभाजित किया गया हैः
फ़िल्टरिंग मॉडलः विभिन्न शुरुआती स्थितियों को अलग-अलग समतल स्थितियों के साथ समतल करना चाहते हैं, जो निर्देश समूह का उपयोग करके किया जा सकता है।
गैर-फिल्टर मॉडलः पहली बार प्रवेश करने की रणनीति, बढ़ोतरी की रणनीति से अलग है, जो विभिन्न स्टॉप-लॉस प्वॉइंटिंग रणनीतियों के साथ प्वॉइंट करना चाहती है, जिसे निर्देश समूह का उपयोग करके लागू किया जा सकता है।
फ़िल्टर मॉडल
//A组指令
A组的开多条件,BK('A');
A组的开空条件,SK('A');
A组的平多条件,SP('A');
A组的平空条件,BP('A');
//B组指令
B组的开多条件,BPK('B');
B组的开空条件,SPK('B');
B组的平多条件,SP('B');
B组的平空条件,BP('B');
AUTOFILTER;//过滤函数
ध्यान देंः फ़िल्टर मॉडल के समूहों को ट्रेडिंग निर्देशों के बाद समूहों में शामिल करने और एकल उद्धरणों के साथ संलग्न करने की आवश्यकता होती है; उदाहरण के लिए BK (
गैर फ़िल्टर मॉडल
//A组指令
A组的开多条件1,BK('A',2);
A组的开空条件1,SK('A',2);
A组的加多条件2,BK('A',1);
A组的加空条件2,SK('A',1);
A组的平多条件,SP('A',GROUPBKVOL('A'));
A组的平空条件,BP('A',GROUPSKVOL('A'));
//B组指令
B组的加多条件,BK('B',1);
B组的加空条件,SK('B',1);
B组的平多条件1,SP('B',GROUPBKVOL('B'));
B组的平空条件1,BP('B',GROUPSKVOL('B'));
ध्यान देंः गैर-फिल्टर मॉडल के लिए समूहों को व्यापार निर्देशों के बाद समूहों और हाथों की संख्याओं को जोड़ने की आवश्यकता होती है, और समूहों को एकल उद्धरणों के साथ संक्षिप्त किया जाना चाहिए।
उदाहरण के लिए BK ((
फ़िल्टरिंग मॉडलः पहले समूह फ़िल्टर, फिर संकेत फ़िल्टर
समूह फ़िल्टर का अर्थ हैः यदि पिछला K-लाइन सिग्नल समूह A का खुला सिग्नल है (BK SK BPK SPK) तो वर्तमान K-लाइन केवल समूह A का पक्की सिग्नल है। यदि पिछला K-लाइन सिग्नल समूह A का पक्की सिग्नल है (BP SP) तो वर्तमान K-लाइन किसी भी समूह का खुला सिग्नल हो सकता है। (सन्देश के आने के क्रम में पहला खुला सिग्नल लें)
गैर-समूहित समतल स्थिति केवल अनसमूहित समतल स्थिति के लिए खुली स्थिति है
सिग्नल फ़िल्टरिंग का अर्थ है: खुले सिग्नल का फ़िल्टरिंग
प्राथमिकता क्रम मेंः
बिना फ़िल्टर किए मॉडलः
अब हम कुछ रणनीतियों के उदाहरणों के साथ देखेंगे कि कोड लिखने के दौरान इन निर्देशों को कैसे व्यवस्थित किया जाता है।
फ़िल्टर मॉडल
ट्रेडिंग विचारः 20-चक्र और 60-चक्र समवर्ती सोने के कांटे के रूप में प्रवृत्ति को निर्धारित करने के लिए।
कोडः
MA20^^MA(C,20);
MA60^^MA(C,60);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
HH:=HV(H,10);
LL:=LV(L,10);
MA20>MA60&&H>HH&&C>O,BK('A');
MA20<MA60&&L<LL&&C<O,SK('A');
L<LV(L,5)||CROSSDOWN(MA20,MA60)||C<BKPRICE-5*MINPRICE,SP('A');
H>HV(H,5)||CROSSUP(MA20,MA60)||C>SKPRICE+5*MINPRICE,BP('A');//只平A组开仓
MA20>MA60&&CROSSUP(K,D)&&C>O,BK('B');
MA20<MA60&&CROSSDOWN(K,D)&&C<O,SK('B');
C>BKPRICE+5*MINPRICE||C<BKPRICE-2*MINPRICE||C<REF(L,BARSBK),SP('B');
C<SKPRICE-5*MINPRICE||C>SKPRICE+2*MINPRICE||C>REF(H,BARSSK),BP('B');//只平B组开仓
//不同的开仓条件开仓,用不同的平仓条件,有针对性的平仓。达到不同行情试用不同策略的目的。
AUTOFILTER;
गैर फ़िल्टर मॉडल
ट्रेडिंग विचारः 5 चक्र और 10 चक्र के साथ पहली बार व्यापार खोलने की शर्त के रूप में समवर्ती सुन का कांटा।
कोडः
MA5^^MA(C,5);
MA10^^MA(C,10);
MA20:=MA(C,20);
MA60^^MA(C,60);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
HH:=HV(H,10);
LL:=LV(L,10);
CROSSUP(MA5,MA10)&&BKVOL=0&&C>=O,BK('A',2);
CROSSDOWN(MA5,MA10)&&SKVOL=0&&C<=O,SK('A',2);
CROSSUP(MA5,MA60)&&ISLASTBK&&BKVOL=2,BK('A',1);
CROSSDOWN(MA5,MA60)&&ISLASTSK&&SKVOL=2,SK('A',1);
MA5>MA60&&H>HH&&ISLASTSP&&REF(GROUPBKVOL('A'),BARSSP+1)>0,BK('B',1);
MA5<MA60&&L<LL&&ISLASTBP&&REF(GROUPSKVOL('A'),BARSBP+1)>0,SK('B',1);
L<LV(L,5)||C<REF(L,BARSBK)&&(C<BKPRICE-2*MINPRICE),SP('A',GROUPBKVOL('A'));
H>HV(H,5)||C>REF(H,BARSSK)&&(C>SKPRICE+2*MINPRICE),BP('A',GROUPSKVOL('A'));
C>BKPRICE+10*MINPRICE||CROSSDOWN(MA5,MA60),SP('B',BKVOL);
C<SKPRICE-10*MINPRICE||CROSS(MA5,MA60),BP('B',SKVOL);
उपरोक्त दोनों प्रकार के मॉडलों के विशिष्ट उदाहरणों का विश्लेषण है, जिससे पाठक देख सकते हैं कि My भाषा समूह निर्देशों के लिए कैसे काम करती है, प्रत्येक व्यक्ति अपने स्वयं के रणनीति तर्क के अनुसार विभिन्न समूह आवश्यकताओं को तैयार कर सकता है, ताकि कोड में स्पष्ट रूप से और कम से कम त्रुटियों के साथ व्यक्त किए जाने वाले रणनीति तर्क को संभव बनाने का प्रयास किया जा सके।