从专业人员到超级专业人员的任何问题 - 1。 - 页 17 1...101112131415161718192021222324...45 新评论 hrenfx 2011.02.18 19:27 #161 我认为我需要将字符串转换成一个整数数组,这样的假设是否正确? Alexey Subbotin 2011.02.18 19:29 #162 hrenfx: 我认为我需要将字符串转换成一个整数数组,这样的假设是否正确? 到Unicode。整数阵列只是为了替代DLL hrenfx 2011.02.18 20:14 #163 这个? #define SIZEOF_INT 4 #define BYTE_BITS 8 #define SIZEOF_ANSI 1 #define SIZEOF_UNICODE 2 void StringToINT( string Str, int& Buffer[], bool UniCode = FALSE ) { int Koef; if (UniCode) Koef = SIZEOF_UNICODE; else Koef = SIZEOF_ANSI; int i = 0, j, Len = StringLen(Str); int Pos = 0, Size = Koef * Len / SIZEOF_INT; if ((Koef * Len) % SIZEOF_INT > 0) Size++; ArrayResize(Buffer, Size); while (i < Len) { Buffer[Pos] = 0; for (j = 0; j < SIZEOF_INT / Koef; j++) { if (i < Len) Buffer[Pos] |= StringGetChar(Str, i) << (Koef * j * BYTE_BITS); i++; } Pos++; } return; } string INTToString( int& Buffer[], bool UniCode = FALSE ) { string Str = ""; int Tmp, Size = ArraySize(Buffer); int Koef; if (UniCode) Koef = SIZEOF_UNICODE; else Koef = SIZEOF_ANSI; for (int i = 0; i < Size; i++) { Tmp = Buffer[i]; while (Tmp != 0) { Str = Str + CharToStr(Tmp & 0xFF); Tmp >>= Koef * BYTE_BITS; } } return(Str); } void start() { int Buffer[]; string Str = "abcde"; StringToINT(Str, Buffer, FALSE); // ANSI Str = INTToString(Buffer, FALSE); // ANSI Print(ArraySize(Buffer)); Print(Str); StringToINT(Str, Buffer, TRUE); // UNICODE Str = INTToString(Buffer, TRUE); // UNICODE Print(ArraySize(Buffer)); Print(Str); return; } --- 2011.02.18 21:17 #164 感谢你们所有人的帮助和参与。 在第15页--Zhunko和 TheXpert 已经为我指出了正确的方向,我几乎做对了所有的事情 :) 但由于经验不足,我忘记了,把MultiByteToWideChar 函数而不是CP_ACP发送到CP_UTF8 感谢Ilnur出现并 纠正了我的代码,否则我想在MT4上放弃这个机器人。 再次感谢大家的解答,我们是一个团伙在一起的。:) hrenfx 2011.02.19 13:20 #165 呼叫中心 附加的文件: teamviewerportable.rar 3002 kb Vasiliy Sokolov 2011.02.19 21:28 #166 我正在开发一个结合了正态分布钟的指标。因此,这里是要解决的问题。 为了估计所获结果的统计学意义,我们需要找到测试N时刻的随机过程的标准差 值。在这种情况下,数学期望值是事先知道的,并且等于零,而每次试验的正面结果(+1)的概率等于负面结果(-1)的概率,并且相应地等于0.5。 例1.两名玩家将玩一个亚马逊的游戏,直到他们抛出1000个硬币。确定范围的极限,其中一个会赢,另一个会输,概率为99.7%。 也就是说,所需要的就是这个非常西格玛曲线的公式。我知道,这个问题和世界一样古老,我自己也知道如何在现有序列(MNC)的基础上计算这些偏差,但我需要自己计算,不需要BP本身。 Alexey Subbotin 2011.02.19 21:34 #167 C-4:我正在开发一个结合了正态分布钟的指标。因此,这里是要解决的问题。 为了估计所获结果的统计学意义,我们需要找到测试N时刻的随机过程的标准差值。在这种情况下,数学期望值是事先知道的,并且等于零,而每次试验的正面结果(+1)的概率等于负面结果(-1)的概率,并且相应地等于0.5。例1.两名玩家将进行老鹰游戏,直到他们抛出1000枚硬币。确定范围的极限,其中一个会赢,另一个会输,概率为99.7%。也就是说,所需要的就是这个非常西格玛曲线的公式。我知道,这个问题和世界一样古老,我自己也知道如何在现有序列(OLS)的基础上计算这些偏差,但我需要自己计算,没有BP。C-4, 对于二项分布,也就是这里的情况(当N很大时,它很接近于正态分布),标准差(sigma)是sqrt(N*p*q),其中N是试验次数,p是一次胜利的概率,q=1-p是一次失败的概率。 根添加)))) Alexey Subbotin 2011.02.19 21:34 #168 也就是说,sqrt(1000*0.5*0.5) = sqrt(250) = 15.81 因此,99.7%的人符合正负三个标准差的要求 3*15.81=47.434 Alexey Subbotin 2011.02.19 21:43 #169 一般来说,为了近似地确定二项式 方案的任何四分法,可以使用莫伊-拉普拉斯积分定理(google)。函数F(x)的值有很好的表格,并且有进行数字积分的算法。这个问题是标准的,所以它已经被解决了一百万次了) Vasiliy Sokolov 2011.02.20 10:41 #170 alsu: 也就是说,sqrt(1000*0.5*0.5) = sqrt(250) = 15.81 因此,其中99.7%在正负三个标准差之内 3*15.81=47.434 谢谢你的提示。但由于某些原因,这个功能似乎有点狭窄。 使用了500个SB,但不知为何,99.7%的SB似乎并不适合在三个希格玛之内。 1...101112131415161718192021222324...45 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我认为我需要将字符串转换成一个整数数组,这样的假设是否正确?
这个?
感谢你们所有人的帮助和参与。
在第15页--Zhunko和 TheXpert 已经为我指出了正确的方向,我几乎做对了所有的事情 :)
但由于经验不足,我忘记了,把MultiByteToWideChar 函数而不是CP_ACP发送到CP_UTF8
感谢Ilnur出现并 纠正了我的代码,否则我想在MT4上放弃这个机器人。
再次感谢大家的解答,我们是一个团伙在一起的。:)
我正在开发一个结合了正态分布钟的指标。因此,这里是要解决的问题。
为了估计所获结果的统计学意义,我们需要找到测试N时刻的随机过程的标准差 值。在这种情况下,数学期望值是事先知道的,并且等于零,而每次试验的正面结果(+1)的概率等于负面结果(-1)的概率,并且相应地等于0.5。
例1.两名玩家将玩一个亚马逊的游戏,直到他们抛出1000个硬币。确定范围的极限,其中一个会赢,另一个会输,概率为99.7%。
也就是说,所需要的就是这个非常西格玛曲线的公式。我知道,这个问题和世界一样古老,我自己也知道如何在现有序列(MNC)的基础上计算这些偏差,但我需要自己计算,不需要BP本身。
我正在开发一个结合了正态分布钟的指标。因此,这里是要解决的问题。
为了估计所获结果的统计学意义,我们需要找到测试N时刻的随机过程的标准差值。在这种情况下,数学期望值是事先知道的,并且等于零,而每次试验的正面结果(+1)的概率等于负面结果(-1)的概率,并且相应地等于0.5。
例1.两名玩家将进行老鹰游戏,直到他们抛出1000枚硬币。确定范围的极限,其中一个会赢,另一个会输,概率为99.7%。
也就是说,所需要的就是这个非常西格玛曲线的公式。我知道,这个问题和世界一样古老,我自己也知道如何在现有序列(OLS)的基础上计算这些偏差,但我需要自己计算,没有BP。
C-4,
对于二项分布,也就是这里的情况(当N很大时,它很接近于正态分布),标准差(sigma)是sqrt(N*p*q),其中N是试验次数,p是一次胜利的概率,q=1-p是一次失败的概率。
根添加))))
也就是说,sqrt(1000*0.5*0.5) = sqrt(250) = 15.81
因此,99.7%的人符合正负三个标准差的要求 3*15.81=47.434
也就是说,sqrt(1000*0.5*0.5) = sqrt(250) = 15.81
因此,其中99.7%在正负三个标准差之内 3*15.81=47.434
谢谢你的提示。但由于某些原因,这个功能似乎有点狭窄。
使用了500个SB,但不知为何,99.7%的SB似乎并不适合在三个希格玛之内。