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

 
mytarmailS:

啊,那就忘了我写的东西吧,在我的语言中,i+1就是未来。


那么就用这张照片吧。


X[,10]是1 ,X[,1]是10。

 
int ForecastSum = 0;

int ForecastStart = 1;

if(X[ForecastStart] <= -0.025 && X[ForecastStart] > -0.08201612905){ForecastSum++;}
if(X[ForecastStart + 1] > -0.057983871 && X[ForecastStart + 1] <= -0.01129032255 && X[ForecastStart] > 0.0219354839){ForecastSum--;}
if(X[ForecastStart + 1] <= -0.057983871){ForecastSum++;}
if(X[ForecastStart + 1] > 0.0702419355){ForecastSum--;}
if(X[ForecastStart + 2] > 0.01362903225 && X[ForecastStart + 2] <= 0.0564516129 && X[ForecastStart + 1] > 0.00153225805){ForecastSum--;}
if(X[ForecastStart + 2] <= 0.0564516129 && X[ForecastStart + 2] > -0.01153225805 && X[ForecastStart + 1] <= 0.0040322581 && X[ForecastStart] <= -0.00596774195){ForecastSum--;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 2] <= -0.00403225805 && X[ForecastStart] > 0.00032258065){ForecastSum++;}
if(X[ForecastStart + 2] <= -0.03370967745 && X[ForecastStart] > 0.02814516125){ForecastSum--;}
if(X[ForecastStart + 3] > -0.025 && X[ForecastStart + 3] <= -0.00403225805 && X[ForecastStart + 2] > -0.03370967745){ForecastSum++;}
if(X[ForecastStart + 2] > -0.0266935484 && X[ForecastStart + 2] <= -0.025){ForecastSum--;}
if(X[ForecastStart + 1] > 0.0091129032 && X[ForecastStart + 1] <= 0.0277419355 && X[ForecastStart] <= -0.00096774195){ForecastSum++;}
if(X[ForecastStart + 1] <= 0.0564516129 && X[ForecastStart + 1] > 0.03935483875){ForecastSum++;}
if(X[ForecastStart + 2] > 0.02346774195 && X[ForecastStart + 1] > -0.057983871 && X[ForecastStart + 1] <= -0.0212903226){ForecastSum--;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 2] <= 0.0233870968 && X[ForecastStart + 1] <= 0.0233870968 && X[ForecastStart] > 0.0091129032 && X[ForecastStart] <= 0.02766129035){ForecastSum++;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 1] <= -0.00120967745 && X[ForecastStart] > -0.00596774195 && X[ForecastStart] <= 0.0229032258){ForecastSum++;}
if(X[ForecastStart] > 0.0012903226){ForecastSum--;}
if(X[ForecastStart + 9] == X[ForecastStart + 9]){ForecastSum++;}

我这样做了,通过数据阵列运行,得到的结果是50/50。

马克西姆的照片更酷。

 
Evgeniy Chumakov:

我这样做了,通过数据阵列运行,得到的结果是50/50。

马克西姆的照片更酷。

你的代码中有一个错误,这就是为什么它是狗屁。

它应该是+-98%。

就像马克西姆的一样)


============================

我在前5千条数据上进行训练,最后一千条用于测试。

这种模式应该是这样的 +-

 ###  тест на нов. данных
Reference
Prediction  -1   1
        -1 619   4
        1    1 565
                                          
               Accuracy : 0.9958          
                 95% CI : (0.9902, 0.9986)
    No Information Rate : 0.5214          
    P-Value [Acc > NIR] : <2 e-16          
                                      


但这种结果从未发生过,要么是你把数据搞乱了,要么是数据被扭曲了,以至于预测没有价值......。

顺便问一下,你对这些数据做了什么?

 
condition                                                                                                       
 
[1,] "X[,10]<=-0.025 & X[,10]>-0.08201612905"                                                                        
                                                                          
      pred
 [1,] "1" 


上面像你的,下面像我的。


int ForecastSum = 0;

int ForecastStart = 1;

if(X[ForecastStart] <= -0.025 && X[ForecastStart] > -0.08201612905){ForecastSum++;}

ForecastSum是我加1或减1的东西。

ForecastStart是我从什么条开始的(shift),预测条在0处计数。


我有时会得到一个预测值为0。

 
Evgeniy Chumakov:


上面像你的,下面像我的。


ForecastSum是我加1或减1的东西。

ForecastStart是我从哪个条形开始(shift),预测条形在0计数。


我有时会得到一个预测值为0。

我不明白。

我有X[,1] ......X[,10]

你有一个从1到10的数值范围

而你有一个从1到9的预测起点,即数值范围为9。

为什么?)

 
mytarmailS:

我不明白。

我有X[,1] ......X[,10]

你有一个1到10的数值范围

而你有一个1到9的范围,即9。

为什么?)

ForecastStart + 9

1(起始栏)+9=10。


array[cell number] - 这是在mt4中的工作方式。

 
在我发布的文件中,第一行是最后一次收到的数值,它位于数组的0单元,然后是1、2、3、4、5、6、7、8单元,以此类推。
 
Evgeniy Chumakov:

1(起始栏)+9=10。


array[cell number] - 在mt4中就是这种情况。


但范围本身是九个

ForecastStart <- 1:9

ForecastStart
 1 2 3 4 5 6 7 8 9

length(ForecastStart)
9
 
Evgeniy Chumakov:
在我发布的文件中,开始的第一行是最后的时间值。它位于数组的0单元,然后是1、2、3、4、5、6、7、8单元等等。

Yeprst))))),谁会这么做?))))

我就把它改了吧))

 

массив[0],[1],[2],[3],...[n]

你需要预测单元格0。

ForecastStart不是一个范围,而是一个偏移。也就是说,我从单元格1开始。 其中x[ForecastStart + 9] = 10是一个数组单元。

因此,范围是从单元格1到10。