思想交流 - 页 11

 
Vinin:
特立独行
FION:

维克多,你处理过科霍宁地图吗?我还没有遇到过任何可以理解的多层NS的 "鱼"。我希望能感受到一些具体的东西,即使它不能很好地用于评估。还是那句话--网格训练,计算机能容纳多少个参数?虽然进入这些 "评分标准"......,但有陷入其中的危险。基本上,我们可以通过使用同一组指标限制参数来优化网格。


在这里的某个地方(在论坛),我发布了一个顾问不科霍宁,但网的分层

我认为它可以作为一条鱼。


你能不能说得更具体一点?它肯定已经被淘汰了。


'神经网络训练'--这里有各种一般性的想法

"在MTS中使用人工智能"--在我的帖子中附有一位专家

我看过你的代码,学到了一些东西,特别是关于指标数据的规范化,但总的来说,我没能掌握结构,我卡在了数组里。

阵列中的数组真的很复杂 :( MQL中没有对象或至少没有结构,在这个意义上严重阻碍了这个过程。 要么数组包装得很好,没有半升就不能理解,要么包装很清楚,但代码很吓人 :(

如果你不了解数组,请问我会尽量记住并解释。

 
maveric:
维宁
特立独行
FION:

维克多,你处理过科霍宁地图吗?我还没有遇到过任何可以理解的多层NS的 "鱼"。我希望能感受到一些具体的东西,即使它不能很好地用于评估。还是那句话--网格训练,计算机能容纳多少个参数?虽然进入这些 "评分标准"......,但有陷入其中的危险。基本上,我们可以通过使用同一组指标限制参数来优化网格。


我在这里的某个地方(在论坛上)发布了一个提示 不是科霍宁,而是多层网

我认为它可以作为一条鱼。


你能说得更具体些吗?它肯定已经被淘汰了。


'神经网络训练'--这里有各种一般性的想法

"在MTS中使用人工智能"--在我的帖子中附有一位专家

我看过你的代码,学到了一些东西,特别是关于指标数据的规范化,但总的来说,我没能掌握结构,我卡在了数组里。

阵列中的数组真的很复杂 :( MQL中没有对象或至少没有结构,在这个意义上严重阻碍了这个过程。 要么数组包装得很好,没有半升就不能理解,要么包装很清楚,但代码很吓人 :(

如果你不了解数组,请问我,我会尽量记住并解释。

我看到了那个代码,翻了翻,就记住了。它是以C语言的代码为基础的。翻译和改编。增加了贸易功能。

我暂时对反向分配网络不感兴趣。 我没有足够的技术能力去做一个正常的电网。一个小的没有任何影响。

我想并且已经开始重新设计专家顾问(我需要很多时间来优化它);我将使它成为自我培训。Kohonen层只用于数据压缩。我必须决定压缩比。到目前为止,我已经拿了太多的东西,这也是由于技术能力的原因。

 

2维宁

Yurixx:
维宁

我推荐阅读F. Wasserman《神经计算机科学:理论与实践 》。它写得非常好。如果你需要,我可以通过电子邮件寄给你。我不仅可以阅读这本书,还可以阅读其他书籍。


如果不嫌麻烦,我也是。我的地址在我的个人资料中。

我最近得出的结论是,如果没有NS,我的系统就无法被教导正确的交易。正如我所看到的,我是一个糟糕的老师。:-)我有一个想法,它需要适当的数据聚类,我的系统也是如此。嗯,据我所知,它们可以使用Kohonen网络进行集群。但是我第一次尝试通过这一切,还没有取得任何结果。我对它的了解太少了。我需要阅读一些好的东西,既要有明确的观点,又要有实际使用的好例子。

我读过NS上的整条布线,但这不是我的水平。需要立即填补空白。


我再次重复我的请求。当然,除非你的提议是针对少数人的。

 
Yurixx:

2维宁

尤里克斯
维宁

我推荐阅读F. Wasserman《神经计算机科学:理论与实践 》。它写得非常好。如果你需要,我可以通过电子邮件寄给你。我不仅可以阅读这本书,还可以阅读其他书籍。


如果不嫌麻烦,我也是。我的地址在我的个人资料中。

我最近得出的结论是,如果没有NS,我的系统就无法被教导正确的交易。正如我所看到的,我是一个糟糕的老师。:-)我有一个想法,它需要适当的数据聚类,我的系统也是如此。嗯,据我所知,它们可以使用Kohonen网络进行集群。但是我第一次尝试通过这一切,还没有取得任何结果。我对它的了解太少了。我需要阅读一些好的东西,既要有明确的观点,又要有实际使用的好例子。

我读过NS上的整条布线,但这不是我的水平。需要立即填补空白。


我再次重复我的请求。当然,除非你的提议是针对少数人的。


已发送。
 
Vinin:
尤里克斯


我再次重复我的请求。当然,除非你的提议是针对少数人的。


已发送。

很奇怪,我还没有收到。
 
Yurixx:
维宁
尤里克斯


我再次重复我的请求。当然,除非你的提议是针对少数人的。


已发送。

很奇怪,我还没有收到。

再发一次?
 
Vinin:
尤里克斯
维宁
尤里克斯


我再次重复我的请求。当然,除非你的提议是针对少数人的。


已发送。

很奇怪,我还没有收到。

我应该再发一次吗?
谢谢你,我现在明白了。
 

大家好。我建议使用所谓的"趋势检测器"。我没有想到我的这个发现会有这么好的结果。不小心弄瞎了它--把它放进去。我几乎在每一个专家顾问中都插入了这部分内容,即使是一个亏损的专家顾问也能产生一些利润!它减少了逆向交易的数量(主要是亏损的交易),并大大增加了专家顾问的盈利参数,通常至少有两个!这就是所谓的 "逆向交易"。这意味着,在优化期之外,我们更有可能获利!"。

这个想法是这样的:我们把BearsPower和BullsPower指标(牛市力量和熊市力量)拿出来,互相比较。但只要比较一下--这是个痛苦的事情。用程序来做是很麻烦的。这就是为什么我把MA放在他们身上,并在零条上比较MA值的原因!只要把这些值加起来就可以了=三角洲。进一步说,一切都很简单。如果DELTA ...>0 - 趋势是向上的。否则,它就会往下走。

我们只需要在条件中加入买入如果((Delta>=0) && ......

而在卖出条件中--如果((Delta<=0) && ......

在任何专家顾问的外部参数中,插入 :

//-----------------------------------------------------------
extern int     PeriodPower    =13;
extern int     Period_Bulls   =11;
extern int     Period_Bears   =10;
//-----------------------------------------------------------
你不需要插入它。但是,你必须拿起这些参数,直接在代码中插入数值而不是变量名。下面是这一区块本身。
//================ Определитель тренда ============================ 
 double Bears_array[50]; int cx=0; while (cx<51)
 {Bears_array[cx]= iBearsPower(NULL, 0, PeriodPower,PRICE_CLOSE,cx); cx++; }
 ArraySetAsSeries(Bears_array,true);
 double MA_Bears =iMAOnArray(Bears_array,0,Period_Bears,1,MODE_SMMA,0); 
 
 double Bulls_array[50]; int lx=0; while (lx<51)
 {Bulls_array[lx]= iBullsPower(NULL, 0, PeriodPower,PRICE_CLOSE,lx); lx++; } 
 ArraySetAsSeries(Bulls_array,true);
 double MA_Bulls =iMAOnArray(Bulls_array,0,Period_Bulls,1,MODE_SMMA,0); 
 
 double Delta = MA_Bears + MA_Bulls;
 /*Comment ("Delta ", Delta ,"\n") */
//===================================================================

下面是一个例子,说明一个EA如何与趋势检测器一起工作。我们可以看到,在上升趋势的情况下,买入仓位被打开,反之亦然。

也许有人会有改进和完善设计的建议。我想知道这个趋势检测器的前景如何。

 
leonid533.
请让我知道 - 这些参数(13,11,10)是为GBPJPY和TF - M30找到的吗?
 
leonid553:

大家好。我建议使用所谓的"趋势检测器"。我没有想到我的这个发现会有这么好的结果。不小心弄瞎了它--把它放进去。我几乎在每一个专家顾问中都插入了这部分内容,即使是一个亏损的专家顾问也能产生一些利润!它减少了逆向交易的数量(主要是亏损的交易),并大大增加了专家顾问的盈利能力参数,通常至少有两个!这就是所谓的 "逆向交易"。这意味着,在优化期之外,我们更有可能获利!"。

这个想法是这样的:我们把BearsPower和BullsPower指标(牛市力量和熊市力量)拿出来,互相比较。但只要比较一下就可以了--这是件很麻烦的事。用程序来做是很麻烦的。这就是为什么我把MA放在他们身上,并在零条上比较MA值的原因!只要把这些值加起来就可以了=三角洲。进一步说,一切都很简单。如果DELTA ...>0 - 趋势是向上的。否则,它就会往下走。

我们只需要在条件中加入买入如果((Delta>=0) && ......

而在卖出条件中--如果((Delta<=0) && ......

在任何专家顾问的外部参数中,插入 :

//-----------------------------------------------------------
extern int     PeriodPower    =13;
extern int     Period_Bulls   =11;
extern int     Period_Bears   =10;
//-----------------------------------------------------------
你不需要插入它。但是,你必须拿起这些参数,直接在代码中插入数值而不是变量名。下面是这一区块本身。
//================ Определитель тренда ============================ 
 double Bears_array[50]; int cx=0; while (cx<51)
 {Bears_array[cx]= iBearsPower(NULL, 0, PeriodPower,PRICE_CLOSE,cx); cx++; }
 ArraySetAsSeries(Bears_array,true);
 double MA_Bears =iMAOnArray(Bears_array,0,Period_Bears,1,MODE_SMMA,0); 
 
 double Bulls_array[50]; int lx=0; while (lx<51)
 {Bulls_array[lx]= iBullsPower(NULL, 0, PeriodPower,PRICE_CLOSE,lx); lx++; } 
 ArraySetAsSeries(Bulls_array,true);
 double MA_Bulls =iMAOnArray(Bulls_array,0,Period_Bulls,1,MODE_SMMA,0); 
 
 double Delta = MA_Bears + MA_Bulls;
 /*Comment ("Delta ", Delta ,"\n") */
//===================================================================

下面是一个例子,说明一个EA如何与趋势检测器一起工作。我们可以看到,在上升趋势的情况下,我们去买,反之亦然。

也许有人会有改进和完善设计的建议。我想知道这个趋势检测器的前景如何。

一个显示High[]相对于EMA的位置,第二个显示Low相对于EMA的位置,所以我认为我们应该引入阈值(重要性水平)。与德尔塔相比,不是与零,而是与这些阈值相比。

2.你的代码中有一个小错误。变量cx和lx不能等于50,条件必须是cx<50和lx<50。有一个阵列 超限。