MQL5算法交易的神经网络-005验证神经网络

MQL5算法交易的神经网络-005验证神经网络
Photo by Alina Grubnyak / Unsplash

创建神经网络

创建layers指针,是CArrayObj类型。

创建输入层,先创建CLayerDescription指针,然后填充属性,输入层的神经元数量是BarsToLine,其他参数为空或0。

创建输入层,先创建CLayerDescription指针,然后填充属性,输入层的神经元数量是BarsToLine,其他参数为空或0。最后将输入层指针添加到layers中。

创建隐藏层,神经元数量是输入层10倍,然后填充属性,最后将隐藏层指针添加到layers中。

创建输出层,神经元数量是1,然后填充属性,最后将隐藏层指针添加到layers中。

所有网络层创建好之后创建神经网络:net.Create

数据验证

创建CBufferType 对象 pattern,其大小为1 x BarsToLine,然后填充随机数据。

经过前向传播,并获取结果etalon_result。

将etalon_result的第一个元素进行微小变化(+delta),然后进行反向传播。

获取计算结果:梯度,权重和权重梯度。

验证输入数据梯度。

验证权重梯度。

清理内存。

验证:误差值在小于1e-9被认为是可以接受的。

Read more

MQL5算法交易的神经网络-007长短期记忆网络

MQL5算法交易的神经网络-007长短期记忆网络

定义属性 构建LSTM的四个门控单元:m_cForgetGate、m_cInputGate、m_cNewContent、m_cOutputGate,分别负责遗忘门、输入门、新内容和输出门的计算。 m_cMemorys和m_cHiddenStates,存储LSTM单元的记忆状态和隐藏状态。 m_cInputs,输入数据的缓冲区。 m_cForgetGateOuts、m_cInputGateOuts、m_cNewContentOuts、m_cOutputGateOuts,保存各个门控单元的输出结果。 m_cInputGradient,存储输入梯度,用于反向传播。 m_iDepth,网络的深度,表示层数。 初始化 创建CLayerDescription 指针temp 利用temp初始化 ForgetGate 利用temp初始化 InputGate 利用temp初始化 OutputGate 利用temp初始化 NewContent 初始化 InputGradient

By dumengru
20241122 所有盈利都是市场的馈赠

20241122 所有盈利都是市场的馈赠

说来也奇怪,我不断做空BTC和XAU,二者又不断创出新高,然而我的账户资金却不减反增。 经过总结,我认为盈利的原因有以下几个: 1. 能够感受到市场的最小阻力线方向。我能够明显感受到价格的最小阻力线方向是向上的,这样促使我在做空时非常谨慎,也能够很好的踩住回调的节奏。 2. 能够感受到压力和支撑位。趋势的特征之一就是压力和支撑位都比较明显,有了明显的点位,进出场时也能够得心应手。 3. 交易方向明确。这可能是最重要的一点,因为方向明确,所以我有更多的时间和精力去观察市场最小阻力线方向。 4. 仓位控制的较稳。这是慢慢培养的一种交易习惯。 5. 市场给机会。交易员的所有盈利都是市场的馈赠。

By dumengru
20241121 如果犯错不可避免

20241121 如果犯错不可避免

一个有趣的现象,交易员有时会在明知是错的情况下去犯错。 原因很简单,当你数次陷入假突破陷阱之后,你还会相信真的突破来临嘛?如果恰好你通过抄底摸顶获得了大幅盈利,当真的突破来临时,你就会不假思索地再次抄底摸顶,从而使自己身处险境。 有人会说,如果不确定是否真突破,那我不去做不就可以了么?你或许可以抵挡住一次两次诱惑,但是当你多次“准确”预测行情,而又没有参与的时候,你就会后悔,懊恼,甚至是痛恨自己“胆小如鼠”。 这就是交易中的诱惑与陷阱,也就是人们常说的贪婪与恐惧。 成功的主观交易员与其说是战胜了市场,不如说是战胜了自己。人性的弱点无法克服,如果犯错不可避免,那该怎么办呢? BTC交易 今天BTC终于突破了,在持续横盘震荡了数个交易日之后,在价格跌跌宕宕突破93000和94000之后,今天一举突破95000点并直接突破到97000点。 今天的交易就是非常典型的明知故犯错。 之前提到过BTC一直横盘,经常出现价格突破后立刻回调,也就是非常典型的假突破。我注意到BTC价格的低点和高点一次比一次高,因此理性观点是偏向多头的。但是自特朗普当选以来,BTC价格在不到15个交易日内

By dumengru
20241120 价格波动会影响交易者情绪

20241120 价格波动会影响交易者情绪

挣钱并不会让交易者感到更舒心,因为不管是盈利还是亏损,他都会犯错,而只要犯错,就不会感到舒心。——《股票作手回忆录》 我发现自己每隔一段时间就会出现一段低潮期,低潮期的感觉就是:内心十分抗拒交易,又忍不住查看行情,一旦看到行情波动又忍不住交易。 主要原因我认为是自己看不清楚市场方向。XAU从底部已经大幅反弹超过80美金,BTC不断冲击新高,USTEC也从底部有所反弹。没有明确的大方向导致在交易时总是惴惴不安。 与此同时,我的账户资金却大幅增长,为什么呢? 在账户本金只有500美元的情况下,我给自己定的目标是每天盈利20美元。由于我看不清楚大方向,因此当我达到这个目标之后总跟自己强调不要继续交易。尽管我内心十分抗拒,但是行情总是会走出一些极端价格,一些让我无法抗拒入场的价格。 由于黄金短期大幅反弹,所以我比较看空。 BTC低点不断抬升,不断创出新高后回落。我看多但从来不做多,并且总是在前高附近做空。 USTEC的趋势性比较强,V型反转也很多。 所以最近几笔交易比较有意思:当我看到XAU和BTC同时出现在前高附近时,我就会同时做空二者;当我看到XAU在前高附近而USTEC大

By dumengru