[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 10

 
volshebnik:
尽管我已经尝试了《代码基地》,但没有任何东西是有利可图的(我还没有完全读懂它)。否则,我现在已经把赌注押在它身上了。在优化中--好,在测试中--坏。在我看来,只要对所有的MA进行优化搜索,就能得到我的策略的最佳变体,同时还有MA(5)、MA(12)、MA(18)、MA(23)和MA(28)。但这些可能不是最好的MAs。而且,与其处理它们中的每一个(还有它们的交叉点),不如在优化中运行一个遗传算法来选择最佳的MAs,这不是更容易吗?所以这就是我上一篇文章中出现的问题。

我认为这个解决方案的逻辑在那里很蹩脚。正确地表述问题(你可以不用你的代码),从问题中抽象出一点,把问题的条件写清楚......
 
Roman.:

在我看来,这个解决方案的逻辑在那里很蹩脚。正确地表述问题(你可以不用你的代码),从问题中抽象出一点,把问题的条件写清楚......
问题是:我们在等待MA的突破,然后是第一个分形。突破第一个分形是一个交易的信号。但对于不同的MA周期,分形可能在不同的地方(按时间),因为根据周期和平滑的类型,一些МАs "断裂 "较早,另一些较晚,相应地,交易的信号也不同。因此,我想尝试所有的МА,找出能提供最佳(更有利可图)信号的一个(如果它完全正确,我还不能断言)。我想搜索并运行50个周期的每个MA,并有4个选项--Eksponential,平滑的,等等。- 非常-非常长。如果我们将МА周期、TP和SL转移到优化中的外部变量,我们将立即看到什么是更好的。但由于某些原因,我无法优化超过МА周期=7。所以我想寻求一些帮助。
 
volshebnik:
任务:我们等待MA的突破,然后是第一个分形。第一个分形的穿透力是交易的一个信号。但是不同时期的MAs分形可能在不同的地方(按时间),因为根据不同的时期和平滑的类型,一些MAs "打破 "较早,其他的--较晚,相应地,对交易的信号--不同。因此,我想尝试所有的МА,找出能提供最佳(更有利可图)信号的一个(如果它完全正确,我还不能断言)。我想搜索并运行50个周期的每个MA,并有4个选项--Eksponential,平滑的,等等。- 非常-非常长。如果我们将МА周期、TP和SL转移到优化中的外部变量,我们将立即看到什么是更好的。但由于某些原因,我无法优化超过МА周期=7。所以我想寻求一些帮助。


解决方案。

我将为买(卖--以此类推)付出。

1.MA断裂 - 在第3、2和1条上获得MA值--比较。如果第3条的MA值>2,第2条<1,那就是一个突破。

2.然后--分形--穿透--做交易的信号

   
   double fractal_l;
   double fractal_h;
     
   fractal_h = iFractals(Symbol(),PERIOD, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD, MODE_LOWER, 3); 

   if (Ask > upfractal) {открытие ордеров при пробитии последнего (свежайшего) фрактала }


就MA的枚举而言--放在外部(可优化的)变量中。

Period_MA(可以从2到240设置,增量为2),MODE--(МА计算方法--变化范围0到3步1),PRICE_TYPE--(价格常数--变化范围0到6步1),我听说在日内工作时MA应该用平均值计算(收盘价不重要),在日蜡烛上工作时MA应该按日收盘价计算。

周期--你在每次后续的优化中手动改变它--1、5、15、30、60、240......。

按iMA上的F1--再次仔细阅读那里的一切。

嗯,当然还有TP和止损,像往常一样优化。

 double MA_1 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 1);
 double MA_2 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 2);
 double MA_3 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 3);
P.S.别忘了写一篇关于测试结果的信息......:-)))
 
罗曼,非常感谢你!我将把它与我的EA进行比较。我一定会报告测试结果的。你的工作将不会被浪费。你之前的马丁格尔报价在我的研究队列中,如果我接近圣杯))我也会让你知道。
 
volshebnik:
罗曼,非常感谢你!我将把它与我的EA进行比较。我一定会报告测试结果的。你的工作将不会被浪费。你之前的马丁格尔报价在我的研究队列中,如果我接近圣杯))我也会让你知道。

理智,我们在等待...
 
我想知道如果 "价格 "参数的设置与原来不同,OrderModify()函数将如何工作?例如,有OrderPrice=1.3200,在OrderModify函数中让我们把它设置为1.3300。谁知道呢?(我自己在实践中和在测试器中都没有检查过,抱歉)
 
ikatsko:
我想知道如果 "价格 "参数的设置与原来不同,OrderModify()函数将如何工作?例如,有OrderPrice=1.3200,在OrderModify函数中让我们把它设置为1.3300。谁知道呢?(我没有在实践中和策略测试器中亲自检查过,抱歉)

如果订单类型允许,可以改变挂单的 开盘价
 
abolk:

如果订单类型允许,它将改变挂单的开盘价。

你说 "如果订单类型 允许 "是什么意思?未结订单可以是买入或卖出类型。

假设订单改变了价格,但它会把差价花在哪里?在加号或减号的平衡上?是这样吗?也会有价差?这是否意味着我们已经关闭了旧的订单(价差),并打开了一个新的订单?

 
ikatsko:

你说 "如果订单类型允许 "是什么意思?未结订单可以是买入或卖出类型。

假设订单改变了价格,但它会把差价花在哪里?在加号或减号的平衡上?是这样吗?也会有价差?那么,旧订单(价差)被关闭,新订单被打开?

该函数将只能改变挂单 的价格。如果你试图改变市场订单的开盘价,这个函数将返回一个错误,类似 "无效的函数参数"。你可以在这个功能的帮助中找到更多的细节--我懒得给你链接,因为我太困了。:)
 
artmedia70:
这个功能只能改变挂单的开仓价格。如果你试图改变市场订单的开盘价,这个函数将返回一个错误,类似 "无效的函数参数"。请看这个功能帮助中的更多细节 - 我太懒了,不能给你链接,因为我太困了......:)

是的,感谢您的关注!我懒得看,写了一个问题。对不起。但我确实看了一下,想明白了(没有做实验)。price-挂单 的新价格或市价订单的开盘价。晚安!