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

 

对于那些仍然参加numer.ai比赛的人来说--

那里曾经推出了他们自己的加密货币(NMR),一开始他们把它送给活跃的比赛参与者,然后他们开始把它们和美元一起送给获胜者,看看你是否也收到了它们。现在,NMR可以从比赛账户中提取,并通过兑换商可以兑换成普通货币。

这里是对美元的汇率,例如https://www.cryptonator.com/rates/NMR-USD , 相当多。
https://bittrex.com/Market/Index?MarketName=BTC-NMR

 
我在什么地方问过,但我忘了,我们怎样才能把不同价格的货币对带到一个单一的刻度上,使我们能够从其他的BP中增加、减少等?)
 
mytarmailS:
我在什么地方问过,但我忘了,我怎样才能将不同价格的货币对规范化为一个单一的尺度,使我能够在其他VR中进行加减等操作? 因为我有101个聪明的想法,但第101次我发现它不起作用)

变量归一化或归一化

 
mytarmailS:
我想我已经在某个地方问过了,但我忘了,我怎样才能把不同价格的货币对带到同一个刻度上,这样我就可以把一个BP与另一个BP相加、相减等等,因为我有101个聪明的想法,但第101次我必须明白,这些想法都是不可行的)
多重回归
 

兄弟们!!!大家好....我已经决定迁移到MQL5,所以请在某些方面的代码上帮助我...从支持团队得到答复的时间太长了...。可能无法回答...

我做了一个新的指标,但它没有输出一个变量值......我怎么解释呢?

附加的文件:
ChekParam.mq5  11 kb
 

帮助我记住如何做这个 ...

一张纸上 大约有6个工具

head(li[[1]])
    ticker per     date   time  open  high   low close   vol
1 SPFB.RTS   5 20160104 100500 75390 76320 75250 76000 14319
2 SPFB.RTS   5 20160104 101000 76000 76030 75790 75900  4818
3 SPFB.RTS   5 20160104 101500 75920 76050 75850 75970  2947
4 SPFB.RTS   5 20160104 102000 75970 76120 75900 76080  2415
5 SPFB.RTS   5 20160104 102500 76080 76140 75870 75920  2347
6 SPFB.RTS   5 20160104 103000 75910 76010 75580 75640  3787
> head(li[[2]])
   ticker per     date   time  open  high   low close   vol
1 SPFB.BR   5 20160104 100500 36.67 38.20 36.67 37.63 40185
2 SPFB.BR   5 20160104 101000 37.63 37.64 37.58 37.61  5914
3 SPFB.BR   5 20160104 101500 37.62 37.63 37.56 37.61  5103
4 SPFB.BR   5 20160104 102000 37.62 37.77 37.62 37.73 13513
5 SPFB.BR   5 20160104 102500 37.74 37.78 37.59 37.60  5061
6 SPFB.BR   5 20160104 103000 37.60 37.66 37.48 37.53  6239
> head(li[[3]])
     ticker per     date   time  open  high   low close  vol
1 SPFB.GAZR   5 20160104 100500 13912 13943 13850 13936 4712
2 SPFB.GAZR   5 20160104 101000 13936 13943 13917 13937 1180
3 SPFB.GAZR   5 20160104 101500 13934 13937 13921 13926 1298
4 SPFB.GAZR   5 20160104 102000 13931 13938 13925 13934  294
5 SPFB.GAZR   5 20160104 102500 13935 13941 13927 13927  540
6 SPFB.GAZR   5 20160104 103000 13931 13934 13889 13896  704

所有的工具在不同的指数上都有日期和时间,每个工具都有一个 "洞"。 我怎样才能从所有的工具中删除日期,只留下所有工具中都有的日期和时间,简单地说就是同步所有这些数据框架

 
Mihail Marchukajtes:

兄弟们!!!大家好....我已经决定迁移到MQL5,所以请在某些方面的代码上帮助我...从支持部门获得答复的时间太长了......。可能无法回答...

我做了这段代码,但它没有输出变量的值......谁能告诉我该怎么做?


1.你不知道你想输出哪个值。

2.自定义指标 没有被正确调用 - 请阅读MT5中iCustom的功能。

 
mytarmailS:

帮助我记住如何做这个 ...

一张纸上 大约有6个工具

我怎样才能从所有的工具中删除日期和时间,只留下那些在所有工具中都存在的日期和时间?

我是这样做的--我创建了一个新的列,将日期和时间合并在一起,然后在不同的表中搜索这些数值的匹配。
liSynchronized <- li
#создание  новой колонки по которой будут сравниваться значения разных таблиц
for(i in 1:length(liSynchronized)){
  liSynchronized[[i]]$datetime <- paste0(liSynchronized[[i]]$date, liSynchronized[[i]]$time)
}

while(TRUE){
  somethingChanged <- FALSE
  for(i in 1:length(liSynchronized)){
    syncIndexes <- rep(TRUE, nrow(liSynchronized[[i]]))
    for(j in (1:length(liSynchronized))[-i]){
      syncIndexes <- syncIndexes & (liSynchronized[[i]]$datetime %in% liSynchronized[[j]]$datetime)
    }
    if(!all(syncIndexes)){
      somethingChanged <- TRUE
    }
    liSynchronized[[i]] <- liSynchronized[[i]][syncIndexes, ]
  }
  if(!somethingChanged){
    break
  }
}

另外,被丢弃的条形图会带来hlc值的误差,即条形图以一个价格收盘,然后由于被删除的条形图,表中的下一个条形图将以不同的价格开盘,被删除的条形图的最高价和最低价将被丢失。之前删除的条形图的高点、低点和收盘价应与未被删除的前一个条形图进行比较,如果需要的话,应进行更新。
我只是在用公开的价格工作,所以我没有对它们进行那么多的打扰。

 
阿列克谢-维亚兹米 金。

1.不清楚你想输出的变量是什么值。

2.自定义指标 在代码中没有被正确调用 - 阅读MT5中iCustom的特殊性。


咳咳...咳咳...如果我已经读过帮助,而且有点困惑,你认为这些信息对我有什么帮助?????

 
Mihail Marchukajtes:

咳咳...咳咳...如果我已经读过帮助,并且有点困惑,你认为这些信息对我有什么帮助?????


好吧,如果你没有回答,你怎么能帮助 - 你需要调用什么样的变量?

而对于iCustom,你需要创建一个hendel--即把它绑定到一个变量。

我在我的专家顾问中大约是这样做的(在指标中的原理是一样的......)。

//Хендали - мать их
int handle_iMomentum;

int OnInit()
  {
//Хендаль объявляем iMomentum
   handle_iMomentum=iMomentum(Symbol(),0,100,0);
   if(handle_iMomentum==INVALID_HANDLE)
     {
      PrintFormat("Failed to create handle of the iMomentum indicator for the symbol %s/%s, error code %d",
                  Symbol(),EnumToString(Period()),GetLastError());
      return(INIT_FAILED);
     }

   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
double Momentum=Momentumf(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Momentumf(const int index)
  {
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_iMomentum,0,index,1,MA)<0)
     {
      PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
      return(0.0);
     }
   return(MA[0]);
  }