"New Neural "は、MetaTrader 5プラットフォーム用のオープンソース・ニューラルネットワークエンジンプロジェクトです。 - ページ 32

 
ウラン です。
ちょっと勘違いしてますね。
誤解しているのはあなたの方です :)
 
TheXpert です。
誤解しているのはあなたの方です :)
さあ、説明してください。
 
<?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);
};
 
yu-sha さん。

XMLへの保存は良い。MQL5用のXMLパーサーはありますか?

Dllkiは無理です。

 
TheXpert です。

XMLへの保存は良い。MQL5用のXMLパーサーはありますか?

dllではそれができない。

一度やったことがあるのですが、何か残っているんです

2日かかります。

標準のDLLからmsxmlパーサーを使用することができますが、非常に多くのリソースを必要とします。

追伸

すべてのエンティティは、XMLから/XMLへ自身を初期化/保存できる必要があります。

 
yu-sha さん。

XSLTでグリッドを解析してCanvasコードに変換し、ウェブに表示することができます。例えば、MQL5のフォーラムエンジンにプラグインします。コメントにファイルをアップロードするだけで、グリッドトポロジー全体が手元に届きます。

もしMQL5がreg式をサポートしていたら、パーサーは30分もあれば書けるでしょう。

 
元気
XSLTでグリッドを解析してCanvasコードに変換し、Webに表示することができます。例えばMQL5のフォーラムエンジンの場合。コメントにファイルをアップロードすれば、グリッドのトポロジー全体が手元に届きます。

すぐにこういう組織になったわけではないのですが......面倒くさかったです

だから、おすすめなんです。

xmlがあれば、あらゆる種類のビジュアルエディターが使えるし、独自のビジュアライザー/コンフィギュレーターを書くこともできる。

削除済み  
元気
XMLはいいことだ、支持する、......。

+10000.

開発者は、追加のDLLやWin APIを使わずに、できるだけ簡単に、便利に作業ができるようにしてほしい(というか、言語の奥底に全部隠して、一番きれいなMQLを提供してほしい)です。

 
yu-sha さん。

各エンティティは、XMLから/XMLへ自身を初期化/保存できる必要がある

おそらく、ファクトリー