交易中的机器学习:理论、模型、实践和算法交易 - 页 2703

 
Aleksey Vyazmikin #:

这就是我说的--理解对方是一种可悲的努力。

竞争是可能的。MT5有MQ的报价,您只需决定做决定的信号--将信息传输到计算模型的信号。我在 Forex 上什么也没学到--预测器都是为 Si 制作的--看看它们的普遍性会很有趣。

半年后将根据交易结果决定胜负。

难道不能在测试中检验吗? 你必须交易半年吗?
 
mytarmailS #:
难道不可以测试一下吗? 非得交易半年不可吗?

嗯,这样才不会被诱惑去适应历史。

 
Aleksey Vyazmikin #:

好吧,这样你就不会想让它符合故事情节了。

我没有动机或诱惑,这是自欺欺人。
 
mytarmailS #:
我自己没有作弊的动机和诱惑。

这不靠谱--你想"竞争",而不仅仅是比较结果--因此我提出了条件。

我对比较结果很感兴趣,所以我可以用历史来检验它。你能想到激活模型的函数吗?

 
Aleksey Vyazmikin #:

不靠谱--你想"竞争",而不仅仅是比较结果--因此我建议使用这些术语。

我感兴趣的是比较结果,这样我就可以在历史数据中进行测试。你能想到一个模型激活函数吗?

模型激活函数?
我不想再竞争了)。
 
mytarmailS #:
模型激活函数?
我不想再参加比赛了 )

提出你自己的变体--冲动无益。

 
Aleksey Vyazmikin #:

提出你自己的版本--冲动无益。

例如...
采用一种模式,教模型预测该模式是否有效...
为此建立一个数据集。数据不会很多,这很好。
我记得你就是这么做的我觉得你做得对

我建议我们从马什卡中提取价格反弹的模式,或者你喜欢的任何东西....

 
mytarmailS #:
举个例子。
采用一种模式,教模型预测该模式是否有效...
为此建立一个数据集。数据不会很多,这很好
我记得你就是这么做的我觉得你做得对

我建议你采用价格反弹形态,或任何你喜欢的形态....。

因此,这就是我所理解的模型激活功能--在出现严格规则的情况下,模型启动并生成预测。

那么也许你应该采用我文章中的策略?

//+-----------------------------------------------------------------+
//| Возвращает сигнал на покупку или продажу - базовая стратегия
//+-----------------------------------------------------------------+
bool Signal()
{
//Сбрасываем Флаг блокировки открытия позиций
   SellPrIMA=false;  //Открывать отложенный ордер на продажу
   BuyPrIMA=false;   //Открывать отложенный ордер на покупку
   SellNow=false;    //Открывать ордер с рынка на продажу
   BuyNow=false;     //Открывать ордер с рынка на покупку
   bool Signal=false;//результат работы функции
   int BarN=0;       //Число баров без касания МА
   if(iOpen(Symbol(),Signal_MA_TF,0)>MA_Signal(0) && iLow(Symbol(),Signal_MA_TF,1)>MA_Signal(1))
   {
      for(int i=2; i<100; i++)
      {
         if(iLow(Symbol(),Signal_MA_TF,i)>MA_Signal(i))break;//На этом цикле уже был отработан сигнал
         if(iClose(Symbol(),Signal_MA_TF,i+1)<MA_Signal(i+1) && iClose(Symbol(),Signal_MA_TF,i)>=MA_Signal(i))
         {
            for(int x=i+1; x<100; x++)
            {
               if(iLow(Symbol(),Signal_MA_TF,x)>MA_Signal(x))break;//На этом цикле уже был отработан сигнал
               if(iHigh(Symbol(),Signal_MA_TF,x)<MA_Signal(x))
               {
                  BarN=x;
                  BuyNow=true;
                  break;
               }
            }
         }
      }
   }
   if(iOpen(Symbol(),Signal_MA_TF,0)<MA_Signal(0) && iHigh(Symbol(),Signal_MA_TF,1)<MA_Signal(1))
   {
      for(int i=2; i<100; i++)
      {
         if(iHigh(Symbol(),Signal_MA_TF,i)<MA_Signal(i))break;//На этом цикле уже был отработан сигнал
         if(iClose(Symbol(),Signal_MA_TF,i+1)>MA_Signal(i+1) && iClose(Symbol(),Signal_MA_TF,i)<=MA_Signal(i))
         {
            for(int x=i+1; x<100; x++)
            {
               if(iHigh(Symbol(),Signal_MA_TF,x)<MA_Signal(x))break;//На этом цикле уже был отработан сигнал
               if(iLow(Symbol(),Signal_MA_TF,x)>MA_Signal(x))
               {
                  BarN=x;
                  SellNow=true;
                  break;
               }
            }
         }
      }
   }
   if(BuyNow==true || SellNow==true)Signal=true;
   return Signal;
}
//+------------------------------------------------------------------+
//|Получим значение буфера индикатора handle_MA_Signal               |
//+------------------------------------------------------------------+
double MA_Signal(int index)
{
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_MA_Signal,0,index,1,MA)<0)
   {
      PrintFormat("Failed to copy data from the handle_MA_Signal indicator, error code %d",GetLastError());
      return(0.0);
   }
//return NormalizeDouble(MA[0],Digits());
   return MA[0];
}


一般来说,你可以使用这个 Expert Advisor - 你可以自己改进它,将其绑定到 R 中,但决策点的结果会有相似之处。

 
Aleksey Vyazmikin #:

因此,这就是我所理解的模型激活功能--在出现严格的规则时,模型启动并生成预测。

那么,也许我们应该采用我文章中的策略?


一般来说,你可以使用这个 Expert Advisor(专家顾问)--嗯,你可以自己完善它,将其与 R 联系起来,但决策点的结果会有相似之处。

你能不能发布一个 CSV 文件,用于训练(含答案)和测试(不含答案)?
 
elibrarius #:
你就不能直接发布一个 CSV 文件来说明训练(含答案)和测试(不含答案)吗?

这样每个人都有不同的预测器,这才是问题所在。

如果是谁更善于利用自己所拥有的东西,那就是另一回事了。