ニューラルネットワーカーに嬉しい、MT4用のクイック&フリーライブラリ - ページ 32

 
marker:

私は、これが不十分であることに同意します。実行における特定の重みが最適化と同じであるべきで、そうでなければ2回目のパスは「ゼロから」であることに同意します - 私の理解する限りにおいてですが。現実の世界では "仕上げ "に動作しませんが、それゆえ、同じユニットの重みと令状に不正する必要があり、あなただけのそれらを保存することを学ぶ必要があり、私はどこかのブランチにいるそれを見た - それは可能です。
はい、このブロックをコメントアウトするだけです。
 
VladislavVG:
常にではありません。履歴分析の可能性が限られているため、例えば、トレンドの終了時に利益を得て、その後、統合ゾーンやトレンドの反転に移行する際に、多くの資金を失う可能性があります。

そうですね。でも、トレンドのときと横ばいのときに利益を出して、その間に何かを得るということはありますね。
 
VladislavVG:
はい、このブロックをコメントアウトするだけです。

どうしたらいいのかわからない:)))
 

そして、別の方法で行うことも可能です、走りで教える、私はそうしました、直線は滑ることなく判明し、このデータを保存し(このウェイトか何かで)、このウェイトでトレードさせ、毎週それを行います...もちろんimhoですが、その方が良いようです、この方法でウェイトの「理想」バージョンを見つける、このように私は理解しました......しかし手動トレーニング後にこのウェイトを保存するには...も可能だと私は思います、読みました。

 
marker:

そうですね、でも、トレンドとフラットの間を取り繕って、その中間のものが出てくるということはありますね。
多くの場合、そうではありません。反転前のコンソリデーションゾーンとトレンド継続前のコンソリデーションゾーンは異なるゾーンです。どのように区別しているのですか?
 
marker:

できない:)))
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start () {

    if (prevtime == Time[0]) {
      return(0);
    }
    prevtime = Time[0];
    
    int i = 0;

    double train_output[1];
    


    /* Is trade allowed? */
    if (!trade_allowed ()) {
             return (-1);
    }


   int total = OrdersTotal();
   for (i = 0; i < total; i++) {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol()) {
         return(0);      
      }
   }
/* Здесь 
   // Adaptive part
   if (IsOptimization() || IsTesting()) {
      total = OrdersHistoryTotal();
      if (total > 0) {
         OrderSelect(total - 1, SELECT_BY_POS, MODE_HISTORY);   
         if (OrderProfit() < 0) {
            if (OrderType() == OP_SELL) {
               train_output[0] = 1; 
            } else {
               train_output[0] = -1; 
            }
            // Learning
            for (i = 0; i < AnnsNumber; i++) {
                       ann_train (AnnsArray[i], InputVector, train_output);
                      }
         
        }
      }
   }
*/// и здесь
   /* Prepare and run neural networks */
   ann_prepare_input ();
   // Get Outputs
   run_anns ();
   // Get Results
   double res = ann_pnn();
   
   // Trade
   
   int ticket = 0;
   
   if (res >   porog ) {
      RefreshRates();
      ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 2, Ask -  StopLoss * nPoint, Ask + TakeProfit * nPoint, WindowExpertName(), 0, 0, Blue);
   } 
   if (res < (-porog)) {
      RefreshRates();
      ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 2, Bid +  StopLoss * nPoint, Bid - TakeProfit * nPoint, WindowExpertName(), 0, 0, Red);
   }
   if (ticket >= 0) {
      ann_prepare_input ();
   }
   return (0);
}
 
marker:

そして、別の方法で行うことも可能です、走りで教える、私はそうしました、直線は滑ることなく判明し、このデータを保存し(このウェイトか何かで)、このウェイトでトレードさせ、毎週それを行います...もちろんimhoですが、その方が良いようです、この方法でウェイトの「理想」バージョンを見つける、このように私は理解しました......しかし手動トレーニング後にこのウェイトを保存するには...も可能だと私は思います、読みました。

やってみないとわからない。だから私は言うのです--そこではすべてがそんなに単純ではない......そして、フォワードのない場所はない......とね。
 
VladislavVG:
多くの場合、そうではありません。反転前のコンソリデーションゾーンとトレンド継続前のコンソリデーションゾーンは異なるゾーンです。どのように区別しているのですか?

例えば1時間足で)明らかなトレンド(価格がまっすぐ上がるか下がるか)のあるゾーン(最適化された期間の50%)を取り、フラットゾーン(ここでもそこでもない)(同じく最適化された期間の50%)を取り、この期間を最適として、フラットとトレンドに対する最適パラメータを得るのである。
 
VladislavVG:
ぜひ試してみてください。だから、そんな簡単な話じゃないと言ってるんだ......フォワードがいないとどこにも行けないんだ......。

私としては、これが理想的な選択肢だと思います。そうでなければ、グリッドがどのように判断するのか理解できません。入札ではこれらのパラメータを使用しますが、パラメータは「固定」されていません。つまり、特定のウェイトは「ゼロから」、TPとSLだけが固定され、グリッドは「望むように」、つまり他の特定のウェイトでフィルターします......。
 

結論:(化学の授業のように:)))))))))))))))))。 そして、「ストレート」まで学習したら、すべてを保存し、特定の重みも保存して、その特定の重みだけで入札を開始するのです。おっしゃる通り全てですが、「今日」ではなく「1ヶ月前」までドリルできるようにし、この最後の1ヶ月にこの固定ユニットウェイトで実行し、結果に納得がいけば取引に出すということも可能です。