一个快速和免费的MT4资料库,让神经网络人非常高兴。 - 页 32

 
marker:

我同意这是不充分的,我同意运行中的具体权重应该与优化中的相同,否则第二遍就是 "从头开始"--据我理解。在现实世界中,"完成 "将不会工作,因此,需要流氓对权证与相同的单位重量,你只需要学习如何保存它们,我在分支的地方看到它 - 它是可能的。
是的,只要评论出这块。
 
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:
往往不是......反转前的盘整区和趋势延续前的盘整区是不同的。你如何区分它们呢?

我们取(比如说一小时)一个有明显趋势的区域(价格直线上升或下降)(优化区域的50%),并取一个平坦的区域(不是这样或那样)(也是优化区域的50%),把这个时期作为一个最佳时期,从而得到平坦和趋势的最佳参数。
 
VladislavVG:
你一定要试试。这就是为什么我说它不是那么简单的.....,你不能不去任何地方......。

在我看来,这是最理想的选择。否则我不明白网格是如何做出决定的,我们将在竞价中使用这些参数,但这些参数不是 "固定 "的,即具体的权重将是 "从零开始 "的,只有TP和SL是固定的,网格将 "按照自己的意愿 "进行过滤,即用其他具体的权重.....。
 

结论:(就像在化学课上:)))))) 我们拿着它,优化它,然后用手把它准备成 "直的"(即我们保存了额外学习的可能性),当我们把它学习成 "直的 "时,我们也保存所有的东西和特定的权重,并且只有用这些特定的权重我们才开始竞价。我们也可以这样做:一切如你所说,但要能不钻到 "今天",而是钻到 "一个月前",然后用这些固定的单位权重在这最后一个月运行,如果我们对结果满意,我们将把它用于交易。