होम सिस्टम ट्रेडिंग पोस्ट

सिंपल सिंगल लेयर पर्सेप्ट्रॉन ईए - मेटाट्रेडर 4 के लिए एक्सपर्ट

संलग्नक
18987.zip (1.98 KB, डाउनलोड 0 बार)

1. पर्सेप्ट्रॉन के बारे में

पर्सेप्ट्रॉन के बारे में: डॉ. मार्क हंफ्रीज़ सिंगल-लेयर न्यूरल नेटवर्क्स (पर्सेप्ट्रॉन)

मैंने पर्सेप्ट्रॉन की लॉजिक को "आर्टिफिशियल इंटेलिजेंस" के रूप में संदर्भित किया है।


2. एल्गोरिदम


2.1. इनपुट्स

w1, w2, w3 और w4 वे वेट्स हैं जिन्हें आपकी ऑप्टिमाइजेशन द्वारा सेट किया गया है।

input int    x1 = 0;//वेट1
input int   x2 = 0;//वेट2
input int   x3 = 0;//वेट3
input int   x4 = 0;//वेट4


2.2. पर्सेप्ट्रॉन

एक सिंपल ईए बनाने के लिए, थ्रेशोल्ड शून्य है। और आउटपुट नहीं बदलता "फायर" 1, "फायर नहीं" 0।

The Rule

double w1 = x1 - 100;
 double w2 = x2 - 100;
   double w3 = x3 - 100;
   double w4 = x4 - 100;

  //पर्सेप्ट्रॉन एक बार पहले 2017/03/18

   double a11 = ((iRSI(Symbol(), 0, 12,PRICE_MEDIAN,1))/100-0.5)*2

 double a21 = ((iRSI(Symbol(), 0, 36,PRICE_MEDIAN,1))/100-0.5)*2;    double a31 = ((iRSI(Symbol(), 0, 108,PRICE_MEDIAN,1))/100-0.5)*2;    double a41 = ((iRSI(Symbol(), 0, 324,PRICE_MEDIAN,1))/100-0.5)*2;    double Current_Percptron = (w1 * a11 + w2 * a21 + w3 * a31 + w4 * a41);   //पर्सेप्ट्रॉन दो बार पहले 2017/03/18

   double a12 = ((iRSI(Symbol(), 0, 12,PRICE_MEDIAN,2))/100-0.5)*2;

 double a22 = ((iRSI(Symbol(), 0, 36,PRICE_MEDIAN,2))/100-0.5)*2;    double a32 = ((iRSI(Symbol(), 0, 108,PRICE_MEDIAN,2))/100-0.5)*2;    double a42 = ((iRSI(Symbol(), 0, 324,PRICE_MEDIAN,2))/100-0.5)*2;  double Pre_Percptron = (w1 * a12 + w2 * a22 + w3 * a32 + w4 * a42);

मैं इस ईए में आरएसआई का उपयोग करता हूँ, लेकिन मुझे लगता है कि अन्य ऑस्सीलेटर भी ठीक हैं। जैसे कि आरसीआई, डब्ल्यू%आर आदि।


2.3. ऑर्डर खोलना और बंद करना

जब पिछले पर्सेप्ट्रॉन 0 के नीचे हो और वर्तमान पर्सेप्ट्रॉन 0 के ऊपर हो, तो यदि कोई शॉर्ट पोजीशन हो, तो उसे बंद कर दिया जाता है।

और ईए एक लॉन्ग ऑर्डर भेजता है।

if(Pre_Percptron < 0 && Current_Percptron > 0) //लॉन्ग सिग्नल
   {
      //यदि कोई शॉर्ट पोजीशन है, तो ऑर्डर बंद करें
      if(pos < 0)
      {
         ret = OrderClose(Ticket, OrderLots(), OrderClosePrice(), 0);
         if(ret) pos = 0; //यदि ऑर्डर बंद करने में सफल रहे, तो पोजीशन स्टेटस जीरो
      }
      //यदि कोई पोजीशन नहीं है, तो लॉन्ग ऑर्डर भेजें
      if(pos == 0) Ticket = OrderSend(
                                       _Symbol,              // प्रतीक
                                       OP_BUY,                 // ऑपरेशन
                                       Lots,              // वॉल्यूम
                                       Ask,               // कीमत
                                       0,            // स्लिपेज
                                       0,            // स्टॉप लॉस
                                       0,          // टेक प्रॉफिट
                                       Trade_Comment,        // टिप्पणी
                                       MagicNumber,// जादुई संख्या
                                       0,        // पेंडिंग ऑर्डर समाप्ति
                                       Green  // रंग
                                       );
   }

इसके विपरीत, जब वर्तमान पर्सेप्ट्रॉन 0 के नीचे हो और पिछले पर्सेप्ट्रॉन 0 के ऊपर हो, तो यदि कोई लॉन्ग पोजीशन हो, तो उसे बंद कर दिया जाता है।

और ईए एक शॉर्ट ऑर्डर भेजता है।


3. ऑप्टिमाइजेशन

"Slime_Mold_RSI_template.set" लोड करें, और आप "ओपन प्राइस केवल" को मॉडल के लिए चुनें।

Inputs

Optimization


4. टिप्पणी और मैजिक नंबर

मैंने मैजिक नंबर को ऑप्टिमाइजेशन के लिए उपयोग की गई अवधि सेट की है, यह ईए टिप्पणी में मैजिक नंबर का उपयोग करता है।

string Trade_Comment = IntegerToString(MagicNumber,5,' ') + "दिन-ऑप्टिमाइजेशन";

Comment


5. संबंधित लेख (जापानी में)

https://qiita.com/Kei-Sanada/items/cd6b8d9c02bc9eea1e01

संबंधित पोस्ट

टिप्पणी (0)