从随机的价格范围中获利 - 页 8 123456789 新评论 Alexey Subbotin 2012.03.19 17:57 #71 avatara: 就我而言,这个话题值得进一步讨论。时间过去了--有很多东西需要思考和学习。 特别是费舍尔变换的描述......。 ;) 我编写了两个脚本用于生成测试系列。(用于均匀和正常的增量)。 请不要为仓促的代码中的死记硬背和马虎踢...... 费舍尔变换,像其他扩展器一样,在区间的上界和下界附近疯狂地放大分数噪声,并在极限(边界本身)以无限的系数放大。对于市场来说,这只是相关的--所有的价格都是由点量化的,因此在某种程度上,所有的指标也是由点量化的。 hrenfx 2015.04.26 18:55 #72 NorthernWind:然而,如果你按照我在上面的链接中的建议来玩,你肯定可以在随机漫步中以mo=0的方式获胜。但是,再一次,这并不完全是定理中告诉我们的游戏。此外,还有一种自相矛盾的情况,比如说你猜不到的次数越多,你赚的钱就越多。再一次,这个游戏与现实无关,目的是为了证明准确测试的重要性。问题是,那里的赢利是通过少算赌注的输赢来积累的。这就对了。如果你能像我建议的那样玩一个游戏,你肯定会发财。:)而且我应该补充的是,在这个游戏中,分配也有很大的区别。这个游戏在某些种类的随机游走上根本不可行。ZS.不考虑已经讨论过的内容,如果你把现有的分布转换为另一种分布,那么你有时确实可以有一个优势,但这个优势非常不稳定。如果你的想法是正确的,草拟了代码,对具有正常增量分布的 "价格 "进行了快速测试。#property strict extern int AmountPrices = 10000; extern int TakeProfit = 100; extern int StopLoss = 100; extern double point = 0.0001; extern int Temp = 0; #define MAX_RAND 32767.0 double GetRand() { return(2 * MathRand() / MAX_RAND - 1); } void GetRandGauss( double& Rand1, double& Rand2 ) { double X1, X2, W = 2; while (W >= 1) { X1 = GetRand(); X2 = GetRand(); W = X1 * X1 + X2 * X2; } W = MathSqrt(-2 * MathLog(W) / W); Rand1 = X1 * W; Rand2 = X2 * W; return; } void GetPrices( double &Prices[], int Amount ) { static uint Tmp = 0; double Rand1, Rand2; MathSrand((int)TimeLocal() + Tmp); Amount <<= 1; ArrayResize(Prices, Amount); Prices[0] = 0; for (int i = 2; i < Amount; i += 2) { GetRandGauss(Rand1, Rand2); Prices[i - 1] = Prices[i - 2] + Rand1; Prices[i] = Prices[i - 1] + Rand2; } Tmp += GetTickCount(); return; } void NormalizeArray( double &Array[] ) { const int Size = ArraySize(Array); const double Interval = ArrayMaximum(Array) - ArrayMinimum(Array); for (int i = 0; i < Size; i++) Array[i] /= Interval; return; } double System( const double &Prices[], const double TP, const double SL ) { const int Amount = ArraySize(Prices); bool Flag = TRUE; double OpenPrice = Prices[0]; double Balance = 0; for (int i = 0; i < Amount; i++) { if (Flag) { if ((Prices[i] >= OpenPrice + TP) || (Prices[i] <= OpenPrice - SL)) { Balance += Prices[i] - OpenPrice; Flag = (MathRand() > (SHORT_MAX + 1) / 2 - 1); OpenPrice = Prices[i]; } } else if ((Prices[i] <= OpenPrice - TP) || (Prices[i] >= OpenPrice + SL)) { Balance -= Prices[i] - OpenPrice; Flag = (MathRand() > (SHORT_MAX + 1) / 2 - 1); OpenPrice = Prices[i]; } } return(Balance); } double GetRandProfit( int Amount, const double TP, const double SL ) { double Prices[]; GetPrices(Prices, Amount >> 1); NormalizeArray(Prices); return(System(Prices, TP, SL)); } double OnTester( void ) { return(GetRandProfit(AmountPrices, TakeProfit * point, StopLoss * point)); }通过自定义标准的优化(取与舍)已经清楚地表明了古代神话(或我的)的预期失败。 Алексей Тарабанов 2015.04.26 19:57 #73 hrenfx:如果我的想法是正确的,草拟了快速检查 "价格 "的代码,其增量为正常分布。通过自定义标准的优化(取与舍)已经清楚地表明了古代神话(或我的)的预期失败。 先生,您的夫人最近离开了。 [删除] 2015.04.26 20:01 #74 hrenfx:如果我的想法是正确的,草拟了快速检查 "价格 "的代码,其增量为正常分布。通过自定义标准的优化(取与舍)已经清楚地表明了 古代神话(或我的)的预期失败。 什么的神话? hrenfx 2015.04.27 05:54 #75 ZaPutina: 什么的神话?一些叔叔们争论了在生成的SB价格(更确切地说,是具有正态分布的增量)上创建一个盈利的TS的可能性。将TS正式化,做了很多研究......。来到这里,要感谢一个与这个话题间接相关的私下讨论。对于也许未来某个时候的怀疑论者来说,我决定勾勒出一些公共领域中没有人需要的代码检查。 [删除] 2015.04.27 06:04 #76 对于Dickfks,你不能尝试不同的分配吗?例如,一个市场价格(人为产生的)。作为初学者,你可以在哪个分配上获得利润? hrenfx 2015.04.27 06:28 #77 YOUNGA:对于Dickfks,你可以尝试另一种分配方式吗?例如,市场价格(人为产生的)。对于初学者,什么分配方式可以用来赚取利润?保证的利润可以在 "蓬松 "的价格下被挤出来。蓬松度的定义和TS的正式化将不会被给出。也许在其他地方。所有这些都与真正的交易没有什么关系。该代码可以被修改以适应任何分布。要做到这一点,你只需要用所需分布的量化函数 替换函数GetRandGauss- 它将均匀分布(MathRand)随机变量转换为相应的分布。 [删除] 2015.04.27 17:48 #78 hrenfx:保证的利润可以在 "蓬松 "的价格下被挤出来。蓬松度的定义和TS的正式化将不会被给出。也许在其他地方。所有这些都与真正的交易没有什么关系。该代码可以被修改以适应任何分布。要做到这一点,只需将函数GetRandGauss 替换为所需分布的量化函数--它将均匀分布(MathRand)的随机变量转换为相应的分布。 你是说你的代码用100行或更少的时间完成了所有可能的选择?既然没有,那它与证明你不能在伪SB上赚钱有什么关系呢(自然界中没有纯SB)。 Алексей Тарабанов 2015.04.27 19:11 #79 ZaPutina: 你是说你的代码在不超过100行的情况下完成了所有可能的变体?既然没有,那它与证明你不能在伪SB上赚钱有什么关系呢(自然界中没有纯SB)。将白噪声改为感兴趣的分布函数,并检查是否要。只有这一点是无稽之谈:证明你不能赚钱。证明一下吧。ZZY 谈到市场的随机性:其目前的状态( 今天的收盘价)是在莫斯科时间23日19:00+3:00预先确定的。 [删除] 2015.04.27 19:20 #80 tara:将白噪声改为你感兴趣的分布函数,并检查你是否想要。只有这一点是无稽之谈:证明你不能赚钱。证明一下吧。说到市场的随机性:其目前的状态(今天的收盘价)是在莫斯科时间23日19:00+3:00预先确定的。 只通过你的女婿和你在一起......没有任何不敬。 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
就我而言,这个话题值得进一步讨论。时间过去了--有很多东西需要思考和学习。
特别是费舍尔变换的描述......。
;)
我编写了两个脚本用于生成测试系列。(用于均匀和正常的增量)。
请不要为仓促的代码中的死记硬背和马虎踢......
然而,如果你按照我在上面的链接中的建议来玩,你肯定可以在随机漫步中以mo=0的方式获胜。但是,再一次,这并不完全是定理中告诉我们的游戏。此外,还有一种自相矛盾的情况,比如说你猜不到的次数越多,你赚的钱就越多。再一次,这个游戏与现实无关,目的是为了证明准确测试的重要性。问题是,那里的赢利是通过少算赌注的输赢来积累的。这就对了。
如果你能像我建议的那样玩一个游戏,你肯定会发财。:)而且我应该补充的是,在这个游戏中,分配也有很大的区别。这个游戏在某些种类的随机游走上根本不可行。
ZS.不考虑已经讨论过的内容,如果你把现有的分布转换为另一种分布,那么你有时确实可以有一个优势,但这个优势非常不稳定。
如果你的想法是正确的,草拟了代码,对具有正常增量分布的 "价格 "进行了快速测试。
通过自定义标准的优化(取与舍)已经清楚地表明了古代神话(或我的)的预期失败。
如果我的想法是正确的,草拟了快速检查 "价格 "的代码,其增量为正常分布。
通过自定义标准的优化(取与舍)已经清楚地表明了古代神话(或我的)的预期失败。
如果我的想法是正确的,草拟了快速检查 "价格 "的代码,其增量为正常分布。
通过自定义标准的优化(取与舍)已经清楚地表明了 古代神话(或我的)的预期失败。
什么的神话?
一些叔叔们争论了在生成的SB价格(更确切地说,是具有正态分布的增量)上创建一个盈利的TS的可能性。将TS正式化,做了很多研究......。
来到这里,要感谢一个与这个话题间接相关的私下讨论。对于也许未来某个时候的怀疑论者来说,我决定勾勒出一些公共领域中没有人需要的代码检查。
对于Dickfks,你不能尝试不同的分配吗?例如,一个市场价格(人为产生的)。作为初学者,你可以在哪个分配上获得利润?
对于Dickfks,你可以尝试另一种分配方式吗?例如,市场价格(人为产生的)。对于初学者,什么分配方式可以用来赚取利润?
保证的利润可以在 "蓬松 "的价格下被挤出来。蓬松度的定义和TS的正式化将不会被给出。也许在其他地方。所有这些都与真正的交易没有什么关系。
该代码可以被修改以适应任何分布。要做到这一点,你只需要用所需分布的量化函数 替换函数GetRandGauss- 它将均匀分布(MathRand)随机变量转换为相应的分布。
保证的利润可以在 "蓬松 "的价格下被挤出来。蓬松度的定义和TS的正式化将不会被给出。也许在其他地方。所有这些都与真正的交易没有什么关系。
该代码可以被修改以适应任何分布。要做到这一点,只需将函数GetRandGauss 替换为所需分布的量化函数--它将均匀分布(MathRand)的随机变量转换为相应的分布。
你是说你的代码在不超过100行的情况下完成了所有可能的变体?既然没有,那它与证明你不能在伪SB上赚钱有什么关系呢(自然界中没有纯SB)。
将白噪声改为感兴趣的分布函数,并检查是否要。只有这一点是无稽之谈:证明你不能赚钱。证明一下吧。
ZZY 谈到市场的随机性:其目前的状态( 今天的收盘价)是在莫斯科时间23日19:00+3:00预先确定的。
将白噪声改为你感兴趣的分布函数,并检查你是否想要。只有这一点是无稽之谈:证明你不能赚钱。证明一下吧。
说到市场的随机性:其目前的状态(今天的收盘价)是在莫斯科时间23日19:00+3:00预先确定的。