基于艾略特波浪理论的交易策略 - 页 76

 
一个重要的观点--物体不是被创造出来的,也不是被画出来的?未上色的对象的属性能被读取吗?
 
这里有一个新的惊喜--画箭头不会改变运行的时间,这很有趣。
时间是4分多钟,实际上并没有变化。

2006.07.08 19:35:45 HistoryChannells EURUSD,M30: deinitialized<br / translate="no"> 2006.07.08 19:35:45 HistoryChannells EURUSD,M30: Running deinit()
2006.07.08 19:35:45 PM HistoryChannells EURUSD,M30: 优化的算法时间 261281 ms
2006.07.08 19:31:24 HistoryChannells EURUSD,M30: 已初始化
2006.07.08 19:31:19 HistoryChannells EURUSD,M30:加载成功
2006.07.08 19:31:11 编译 "HistoryChannells
 
一个重要的观点--物体不是被创造出来的,也不是被画出来的?未上色的对象的属性能被读取吗?<br / translate="no">


对象被创建了--我特别检查了一下,你甚至可以看到 "隐形 "箭头的属性。以下是代码。
     centerLR=BestChannels[0][2]*(lastBar-1)+BestChannels[0][3]; ObjectCreate("up "+UpArrowCounter,OBJ_ARROW,0,Time[lastBar-1],centerLR+BestChannels[0][5]) 。
      ObjectSet("up "+UpArrowCounter,OBJPROP_ARROWCODE,158); ObjectSet("up "+UpArrowCounter,OBJPROP_COLOR,Red) 。
      ObjectCreate("down "+DownArrowCounter,OBJ_ARROW,0,Time[lastBar-1],centerLR-BestChannels[0][5]); ObjectSet("down"+DownArrowCounter,OBJPROP_ARROWCODE,158); ObjectSet("down "+DownArrowCounter,OBJPROP_COLOR,Red); UpArrowCounter++; DownArrowCounter++;



但这里是图纸。

 
嗯......原来是我的错,我明天要检查一下。今天就到此为止。
 
是的,我还用这个代码检查了它
 for (i=0; i<50000;i++) { obj_name = i; ObjectCreate(obj_name,OBJ_TREND,0,Time[0],i,Time[1],i); ObjectSet(obj_name, OBJPROP_STYLE, DRAW_NONE) 。
    j = ObjectGet(obj_name, OBJPROP_PRICE1); Print(j); } for (i=0; i<50000;i++) { obj_name = i; ObjectDelete(obj_name); }


 
<br / translate="no">
图片只能是拉丁文,最好是*.png格式(gif不通过本论坛的链接显示)。


都是这样做的,我说在编辑器窗口中,它是正常显示的,只要我按下添加或保存按钮,根据我添加或修改的信息,它就消失了,甚至消失了我输入的信息:(
 
好吧,我走了另一条路(他们开始把我送走30秒,虽然等了10分钟也无济于事:())但无论如何,我只想表明,目前我有一个犹太人,但这可能是没有意义的。
 
这里有一个新的惊喜--画箭头并不改变运行时间,这很有趣。

我有这样的效果,取决于我如何运行这里讨论的算法,执行时间是0或16毫秒。我想,在某些情况下,该算法是连续执行的,而在其他情况下,它被中断并执行完整的终端周期(因为数字稳定地重复)。以此类推--抽签不能发生在计算结束后吗?
 
Vladislav 02.06.06 11:26 <br / translate="no"> 至于实际执行,或者说基本方法,一切都很简单:二次函数有系数,你需要以最佳方式挑选--回归给它的构造一个线性的、更准确的估计。而且,相应地,你将能够估计在泰勒扩展(构建二次函数形式)中,你可以使用这个系数到什么极限(振幅扩散)。此外,至于其他系数,请自己思考。而要找到势能的最小值,你不需要知道价格轨迹,但更需要知道的是--势能梯度;)。也就是说,其零势的动态状态--你必须为零势计算一些东西。而这一切都足以估计--直接分化是没有必要的。
如果比喻的话,"在你的手指上",应用几何学的意象。
想象一下,有一个球在一个表面上滚动(类似于一些粗糙的地形)(这就是价格)。你不需要知道球的错综复杂的结构,就可以确定弹道的吸引区域。了解这种 "粗糙地形 "的属性要有用得多。

Vladislav 14.06.06 21:06
非常正确--我写到,事实上,势能函数的最小值作为通道选择的标准之一。而且它是价格场的潜在性的属性,而我不是在寻找轨迹本身,因为(再次)所有符合置信区间的轨迹都必须被认为是给定概率的等值。也就是说,投影的构建首先被简化为采样,然后是线性代数。

为了继续这个话题,我已经在第33页写下了我的想法,我还有一个想法,就是在一系列满足上述条件的连续通道中找到一个具有最小势能的通道。通过构建线性回归通道,我们得到了什么?我们有一个受其边界限制的区域,在这个区域内,价格可以随意移动。唯一得到满足的条件是价格保持在该通道内。此外,弗拉迪斯拉夫说,对于一个给定的概率,所有落在置信区间内的轨迹必须被认为是相等的。那么我们假设价格在其运动过程中可能会出现二次函数的运动--即我们不违反上述声明。特别是由于这一说法是从价格领域是潜在的假设出发的。也就是说,对于任何一个时间点(和任何一个样本),我们可以建立一个近似的抛物线,并说,基于这个样本,价格有这样一个轨迹,在这个样本中它围绕这个轨迹运动。形象地说,它就是这样一个抛物线型的斜槽和一个表面有多种不均匀性的球。现在我们可以把什么作为零点电位的动态状态?由于球确实从通道的起点滚到了终点,沿着我们的条件斜抛物线槽运动,这个槽的势能最小值当然是在这个槽的轨迹上的当前时间,因此,在当前时间,倾向于将球转移到抛物线槽轨迹上的力(势能梯度)将作用于球(价格)。现在,如何找到这个梯度的大小和方向?这很简单--通过ISC的方法找到抛物线,然后找到当前价格和这个抛物线之间的差异(潜力的最小值)。当然,这种差异既可以是积极的,也可以是消极的。此外,由于所选择的线性回归渠道必须是预测的 "真实 "渠道,样本应该同时具备已知的收敛条件(RMS<SCO2/3)和确认这种收敛的任何其他条件。弗拉迪斯拉夫提到的最小势能函数使我想到,为此,对于我们建立这些抛物线近似槽的通道来说,势能梯度的总和应该尽可能小,球在上面滚动,这是对我们粗糙地形的最好描述。当然,我立即尝试在实践中检查这个假设,我在这个链接上分享了结果https://c.mql5.com/mql4/forum/2006/07/min_poten_energy.zip

我们在这些图表上看到了什么?我们可以看到用最小有效值的方法在一个系列中绘制的线性回归的通道,我目前在我的专家顾问中使用这个方法。在另一张图上,我们画出了球势相对于为当前样本构建的抛物线的梯度之和的代数图(即我进行梯度求和,考虑到它们的符号(+/-))。为了便于理解,我可以说,这里使用的方法与确定Hurst系数的方法完全相同,不同的是,没有采用近似的线性回归通道,而是采用抛物线(二次函数),而且抛物线本身也是为所有当前样本构建的,包括计算出的潜在梯度被搜索到的条形。为了以防万一,让我提醒你,为了找到Hurst系数,我们取了一个不包括当前柱子的样本。
蓝色垂直线表示从这根柱子开始的通道潜在梯度的代数和的局部最小值。如果你仔细观察欧元兑美元和美元兑瑞郎的图表,你可以看到局部低点与价格的局部最高/最低点完全一致(+/-1条)。我把1bar的误差归因于样品制备的特殊性。我选择(O+H+L+C)/4条的数值作为样本。也许,在这种情况下,我们应该有选择地选择 "高 "或 "低",这肯定会消除确定具有最小势能的通道的错误。然后,该系列的通道将与Vladislav先前为USDCHF展示的图片中的通道完全重合。好吧,我将尝试在我的EA中实现这一假设。我认为这真的很接近弗拉迪斯拉夫使用的通道选择方法,并由他分享。

PS:图中显示的是梯度模块 的代数和(为清晰起见)。为了计算当前条形上的梯度势,为从通道开始到当前条形的样本建立一条抛物线,包括计算条形本身。也就是说,如果你选择100条,你需要计算97条抛物线,因为使用ANC方法建立抛物线,你必须至少有4个样本(我今天通过实验发现的;o))。因此,我简单地把前3条的电势梯度看作是等于零。Rosh,我想在这里你会自由地优化计算算法,因为抛物线计算比线性回归通道计算要多花几倍的时间;o)))。
 
А вот и новый сюрприз - рисование стрелочек не меняет времени прогона, это интересно.

我有这样的效果,取决于我如何运行这里讨论的算法,执行时间是0或16毫秒。我假设在某些情况下,算法是连续执行的,而在某些情况下,算法被中断,并执行完整的终端周期(因为数字是稳定地重复的)。以此类推--抽签不能发生在计算结束后吗?



在这个链接中 -"MQL4、MQL2、EasyLanguage、Wealth-Lab 3.0和VC++:速度比较"- Renat写道


Renat 14.01.05 14:18

很简单,我不止一次面临GetTickCount()的不适当行为;虽然,如果多次测量的结果是稳定的+/-一些小的delta,它证实了测试的真实性。


是的,GetTickCount()的精度从10毫秒跳到16毫秒,我们不能用它测量小周期,但在我们的案例中,它的使用是合理的。特别是当它是如此容易从几乎任何代码中获得时。