다중 기호 EA: MetaTrader 5를 위한 Perceptron_Mult 소개

Mike 2018.12.28 22:10 31 0 0
첨부파일

아이디어 제공: Igor

코드 mq5 작성: barabashkakvn

이 EA는 다중 기호 EA로, 동시에 세 가지 기호에서 작동합니다: EURUSD (기호 #1), GBPJPY (기호 #2), AUDNZD (기호 #3)입니다. 간단한 신경망(퍼셉트론)을 사용하여 지표 iAC(가속/감속, 가속기/감속기 오실레이터, AC)에서 작동합니다.

최적화 모드에서는 존재하지 않는 기호를 변수 기호 #에 할당하여 일부 기호를 비활성화할 수 있습니다.


포지션 크기 설정

이 EA는 포지션의 볼륨을 설정하기 위해 일반적이지 않은 패턴을 사용합니다: 최소 로트 수는 기호 #의 변수에 지정됩니다. 예를 들어, 기호 #1의 최소 로트 크기는 0.1이고, 기호 #2의 최소 로트 크기는 0.01입니다. 즉, 차이가 10배입니다. 따라서 기호 #의 변수 최소 로트 수를 두 기호 모두에 대해 10으로 설정하면, 기호 #1에 대해 1.0 로트(0.1 x 10)와 기호 #2에 대해 0.10 로트(0.01 x 10)가 열립니다.


퍼셉트론 블록

각 새 바가 생성될 때마다(모든 사용 기호에 대해 새 바가 생성되는 순간), 각 기호에 대한 지표 값의 배열(배열)이 퍼셉트론 블록에 할당됩니다:

//+------------------------------------------------------------------+
//| 퍼셉트론                                                       |
//+------------------------------------------------------------------+
double Perceptron(double &array[],int y1,int y2,int y3,int y4)
  {
   double w1 = y1 - 100;
   double w2 = y2 - 100;
   double w3 = y3 - 100;
   double w4 = y4 - 100;
   double a1 = array[0];
   double a2 = array[7];
   double a3 = array[14];
   double a4 = array[21];
   return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);
  }

나는 각 기호에 대해 연속적으로 최적화를 수행하는 것을 추천합니다. 먼저 기호 #1을 최적화하고, 기호 #2기호 #3는 비활성화합니다. 모든 기호에 대해 매개변수 x는 0에서 100까지의 범위로 설정하고, sl(손실 제한)과 tp(이익 실현)는 본인의 재량에 따라 설정합니다. 기호를 비활성화하려면 존재하지 않는 기호를 변수 기호 #에 할당하는 것만으로 충분하다는 점을 잊지 마세요.

목록
댓글 0