"New Neural"은 MetaTrader 5 플랫폼용 신경망 엔진의 오픈 소스 프로젝트입니다. - 페이지 32

 
우크라이나 :
당신은 조금 오해
당신은 그것을 얻지 못했습니다 :)
 
더엑스퍼트 :
당신은 그것을 얻지 못했습니다 :)
어서 부숴버리세요. PS를 고려하여
 
<?xml version="1.0"?>
<NET>

  <!-- Слой входных нейронов --> 

  <LAYER CLASS="INDICATOR" NAME="IND">
    <NEURON NAME="NEURON:01.IND"> 
      <INDICATOR>IN\MAD</INDICATOR> 
      <SYMBOL>EURUSD</SYMBOL> 
      <TIMEFRAME>M15</TIMEFRAME> 
      <BUFFER>0</BUFFER> 
      <OFFSET>1</OFFSET> 
      <PARAM NAME="BAR_COMPLETE" TYPE="INT">2</PARAM> 
      <PARAM NAME="FAST_PERIOD" TYPE="INT">12</PARAM> 
      <PARAM NAME="SLOW_PERIOD" TYPE="INT">26</PARAM> 
      <PARAM NAME="APPLIED_PRICE" TYPE="APPLIED_PRICE">PRICE_CLOSE</PARAM> 
    </NEURON> 
    <NEURON NAME="NEURON:02.IND"> 
      <INDICATOR>IN\RSI</INDICATOR> 
      <SYMBOL>EURUSD</SYMBOL> 
      <TIMEFRAME>M15</TIMEFRAME> 
      <BUFFER>0</BUFFER> 
      <OFFSET>1</OFFSET> 
      <PARAM NAME="PERIOD" TYPE="INT">3</PARAM> 
      <PARAM NAME="APPLIED_PRICE" TYPE="APPLIED_PRICE">PRICE_CLOSE</PARAM> 
    </NEURON> 
    <NEURON NAME="NEURON:03.IND"> 
      <INDICATOR>IN\MAD</INDICATOR> 
      <SYMBOL>EURUSD</SYMBOL> 
      <TIMEFRAME>M15</TIMEFRAME> 
      <BUFFER>0</BUFFER> 
      <OFFSET>1</OFFSET> 
      <PARAM NAME="BAR_COMPLETE" TYPE="INT">2</PARAM> 
      <PARAM NAME="FAST_PERIOD" TYPE="INT">54</PARAM> 
      <PARAM NAME="SLOW_PERIOD" TYPE="INT">100</PARAM> 
      <PARAM NAME="APPLIED_PRICE" TYPE="APPLIED_PRICE">PRICE_CLOSE</PARAM> 
    </NEURON> 
  </LAYER>

  <!-- Слой #1 нейронов на гип.тангенсе --> 

  <LAYER CLASS="TANH" NAME="HID:0"> 
    <NEURON NAME="NEURON:01.HID:0" BIAS="-0.552589"> 
      <LINK WEIGHT="0.816961" TO="NEURON:01.IND"/> 
      <LINK WEIGHT="0.653045" TO="NEURON:02.IND"/> 
      <LINK WEIGHT="0.619305" TO="NEURON:03.IND"/> 
    </NEURON> 
    <NEURON NAME="NEURON:02.HID:0" BIAS="-0.443185"> 
      <LINK WEIGHT="0.478712" TO="NEURON:01.IND"/> 
      <LINK WEIGHT="0.147732" TO="NEURON:02.IND"/> 
      <LINK WEIGHT="-0.207846" TO="NEURON:03.IND"/> 
    </NEURON> 
  </LAYER> 

  <!-- Слой #2 нейронов на гип.тангенсе --> 

  <LAYER CLASS="TANH" NAME="HID:1"> 
    <NEURON NAME="NEURON:01.HID:1" BIAS="0.390295"> 
      <LINK WEIGHT="-0.683868" TO="NEURON:01.HID:0"/> 
      <LINK WEIGHT="-0.91081" TO="NEURON:02.HID:0"/> 
    </NEURON> 
    <NEURON NAME="NEURON:02.HID:1" BIAS="0.0347438"> 
      <LINK WEIGHT="-0.00688827" TO="NEURON:01.HID:0"/> 
      <LINK WEIGHT="-0.262435" TO="NEURON:02.HID:0"/> 
    </NEURON>
  </LAYER> 

  <!-- Выходной слой нейронов на гип.тангенсе --> 
  <LAYER CLASS="TANH" NAME="OUT"> 
    <NEURON NAME="EURUSD:LOT.OUT" BIAS="0.586392"> 
      <LINK WEIGHT="-0.812841" TO="NEURON:01.HID:1"/> 
      <LINK WEIGHT="0.0548534" TO="NEURON:02.HID:1"/> 
    </NEURON> 
  </LAYER> 

</NET>

 

 

//-----------------------------------------------------------------------------
//                                  CNeuron                                   !
//-----------------------------------------------------------------------------

class CNeuron {

public:
  
  // Constructor procedures 
  
  void          CNeuron ();
  virtual void ~CNeuron ();
  
  virtual bool Init (CXmlElement *aXmlElement, CNet *aNet);
  virtual void Upload ();
  
  // Main procedures 

  virtual bool Run ();
  virtual float GetValue ();
  
};


 

CNeuron* CreateNeuron(string aClass) {

  CNeuron *n=NULL;
  
  if (aClass=="")           n = new CNeuron;           else
  if (aClass=="BIAS")       n = new CNeuronBias;       else
  if (aClass=="INDICATOR")  n = new CNeuronIndicator;  else 
  if (aClass=="EXTERN")     n = new CNeuronService;    else 
  if (aClass=="MSE")        n = new CNeuronMSE;        else
  if (aClass=="PROFIT")     n = new CNeuronProfit;     else
  if (aClass=="LINEAR")     n = new CNeuronLinear;     else
  if (aClass=="SIGMOID")    n = new CNeuronSigmoid;    else
  if (aClass=="TANH")       n = new CNeuronTanh;       else
  if (aClass=="SIN")        n = new CNeuronSin;        else
  if (aClass=="COS")        n = new CNeuronCos;        else
  if (aClass=="DISTANCE")   n = new CNeuronDistance;   else
  if (aClass=="WINNER")     n = new CNeuronWinner; 

  return(n);
};
 
유샤 :

XML로 저장하는 것이 좋습니다. MQL5용 XML 파서가 있습니까?

당신은 할 수 없습니다.

 
더엑스퍼트 :

XML로 저장하는 것이 좋습니다. MQL5용 XML 파서가 있습니까?

당신은 할 수 없습니다.

나는 한 번했다 - 무언가가 남아있다

2 일 동안 "사업"이 있습니다.

특히 게으른 경우 표준 dll에서 msxml 파서를 사용할 수 있지만 이는 리소스를 매우 많이 사용합니다.

추신

각 엔터티는 XML에서 초기화/저장할 수 있어야 합니다.

 
유샤 :

XML은 하나의 일입니다. 저는 그것을 지원합니다. 그리드는 XSLT를 통해 캔버스 코드로 구문 분석되고 웹에 표시될 수 있습니다. 예를 들어, MQL5 포럼 엔진에 넣습니다. 댓글에 파일을 업로드했는데 전체 네트워크 토폴로지가 전체 보기로 표시됩니다.

reg에 대한 지원이 있었다면. MQL5의 표현식을 사용하면 파서는 30분 만에 작성됩니다.

 
활력 :
XML은 하나의 일입니다. 저는 그것을 지원합니다. 그리드는 XSLT를 통해 캔버스 코드로 구문 분석되고 웹에 표시될 수 있습니다. 예를 들어, MQL5 포럼 엔진에 넣습니다. 댓글에 파일을 업로드했는데 전체 네트워크 토폴로지가 전체 보기로 표시됩니다.

그런 단체에 바로 오지 않았다 - 고생했다

그것이 내가 추천하는 이유입니다

xml이 있으면 모든 종류의 시각적 편집기를 사용할 수 있고 자신만의 시각화 도우미/구성자를 작성할 수 있습니다.

 
활력 :
XML은 하나의 일, 나는 그것을 지원합니다 ......

+10000

그래도 개발자는 추가 DLL 및 Win API를 사용하지 않고 가장 편리한 기능을 만들면서 가능한 한 쉽게 작업할 수 있도록 만들었습니다. MQL).

 
유샤 :

각 엔터티는 XML에서 초기화/저장할 수 있어야 합니다.

더 나은 아직, 아마도 공장을 통해