文章 "通过差异化和熵值分析来探索市场"记忆"" - 页 9

 
clemmo:

我遇到了这些错误:

1.
2019.07.25 04:35:35.174 Trades '666': failedmarket sell 0.10 USDCHF sl: 0.98139 tp: 0.99039 [Invalid stops] (无效止损)

2.EA 在形成新的柱状或蜡烛图时自动删除。

3.EA 只能进行卖出交易(除非是在优化阶段设计的?)

4. EA 仅对 NZDUSD 使用不同的交易量?

update0:经过进一步测试,我可以说自动移除问题与超参数截图中的自定义设置有关。
update1:这与将历史深度调整到 1500 有关。我将尝试查看不同的值是否会产生不同的结果。我正在 M1 和 M15 上进行测试,并且有足够的价格历史记录。
update2:如果 History_depth 1027 >= ||<= 956

5,EA 将自行删除。

update3:我认为只卖出的问题与测试中使用的时间框架(M1)太低有关。这会产生超出范围的极大熵值吗?

update4:我认为熵窗口大小问题与图表窗口的初始大小有关。

update5:尝试修改神奇数字后,现在所有图表都会在下一栏移除。我试过重启终端和使用新图表。我不知道还能试什么,日志中没有错误。我无法进一步测试?

你好,我认为熵的归一化存在一些问题,这就是它的值会随时间变化的原因。也许稍后我会解决这个问题,并加入另一个指标,关于另一个问题--我想我还不完全明白。终端日志中可能有一些错误?

 

你好,马克西姆、

我试着编译 fractional_entropy_trader,但出现了以下错误信息:

virtual_optimizer' -函数 已定义且类型不同 Auto_optimizer.mqh 第 47 行 18 列

您能告诉我如何解决这个问题吗?

谢谢

丹尼尔

 

理解起来非常复杂、

处理这个问题需要哪些基础知识?

整件事与积分微积分有关系吗?

 
Alexander:

理解起来非常复杂、

处理这个问题需要哪些基本知识?

整件事与积分微积分有关系吗?

  1. 只有求和与乘法!
  2. 与其研究数学,不如试着理解程序流程。
  3. 熵只是物理学中对无序状态的一种测量--在这里:熵高 = 价格波动大。
 
kttongsg:

你好,马克西姆、

我试着编译 fractional_entropy_trader,但出现了以下错误信息:

virtual_optimizer' -函数 已定义且类型不同 Auto_optimizer.mqh 第 47 行 18 列

您能告诉我如何解决这个问题吗?

谢谢

丹尼尔

你好,我刚刚读了这篇文章,马上就要编译了,但还是想帮你一下:找到两个函数定义,重命名有冲突的那个,这样就可以编译了。

 

下午好、

我想回到主题

Prado 机器学习:商业算法

清单 5.4.找到成功通过 ADF 统计检验的 d 的最小值

def plotMinFFD():
from statsmodels.tsa.stattools import adfuller
path,instName='./','ES1_Index_Method12'
out=pd.DataFrame(columns=['adfStat','pVal','lags','nObs','95%
conf','corr'])
df0=pd.read_csv(path+instName+'.csv',index_col=0,parse_dates=True)
for d in np.linspace(0,1,11):
df1=np.log(df0[['Close']]).resample('1 D').last() # понизить до
# суточных наблюдений
df2=fracDiff_FFD(df1,d,thres=.01)
corr=np.corrcoef(df1.loc[df2.index,'Close'],df2['Close'])[0,1]
df2=adfuller(df2['Close'],maxlag=1,regression='c',autolag=None)
out.loc[d]=list(df2[:4])+[df2[4]['5%']]+[corr] # с критическим
# значением
out.to_csv(path+instName+'_testMinFFD.csv')
out[['adfStat','corr']].plot(secondary_y='adfStat')
mpl.axhline(out['95% conf'].mean(),linewidth=1,color=
'r',linestyle='dotted')
mpl.savefig(path+instName+'_testMinFFD.png')
return

来自书中的 Python 代码--该函数用于确定分数微分的最小程度,熟悉 Python 的朋友可以翻译一下。在我看来

这正是文章中缺少的实际应用方法(或者把懒人送到正确的地址--最好还有函数)。

 
Олег:

下午好、

我想回到主题上来


清单 5.4.找出成功通过 ADF 统计检验的 d 的最小值

书中的 Python 代码--该函数确定分数微分的最小程度,熟悉 Python 的人可以翻译一下。我认为

这正是文章中缺少的实际应用方法(或者把懒人送到正确的地址--最好还有函数)。

Dickey-Fuller 检验可能对某些统计研究有用,但在文章中,d 值是在优化器中搜索的,再加上拟议版本的算法在不断重新训练,因此我认为它在这里用处不大。

https://www.mql5.com/zh/code/13072
Statistical Functions
Statistical Functions
  • www.mql5.com
Набор статистических функций, которые позволяют рассчитывать некоторые значения, описывающие таймсерии, такие как корреляция между двумя таймсериями, линейная регрессия, стандартное отклонение и т.д. Набор также включает в себя более сложные функции, такие как определенный интеграл. Заголовочный файл "Statistics.mqh" содержит следующие функции...
 
Maxim Dmitrievsky:

Dickey - Fuller 检验可能对某些统计研究有用,但在论文中,d 值是在优化器中搜索的,再加上所提议的算法版本在不断重新训练,所以我认为它在这里用处不大。

我想在训练阶段自动确定 d 值,然后自动处理训练样本数据和真实交易数据,用于后续算法(如果我们谈论的是机器学习方法的话--我的意思是......)。
 
Олег:
我想在训练阶段使用自动检测 d,然后自动处理训练样本数据和真实交易数据,用于一系列后续算法(如果我们谈论的是机器学习方法的话--好吧,我们不是,我是说......)。

我在上面提供了一个链接,似乎可以使用

 

在 MQL 中有一个 Dickey-Fuller 检验,但这是对序列的静态性检验。 在 Hubre 上有一个用 Box-Cox 方法进行预处理的例子,网站上的一篇旧文章给出了自动确定 lambda 参数的代码,该参数的值与讨论的 d 相似。

外汇 Box-Cox 方法并不总能使序列达到静态(几乎总是不能达到终点),因此需要额外的处理。我的问题是试图用分数微分法(自动确定 d 的最佳值)取代 BC 法。

我对您和您所写的文章表示充分的敬意,我的问题在文章的框架内确实没有必要,它已经是未来的一个计划....。