摩尔斯电码 - 页 5 12345678910 新评论 Vladimir Karputov 2017.04.06 11:11 #41 莫尔斯电码版本 "1.004":修正了错误--图案被倒着读。 附加的文件: Morse_code.mq5 15 kb Georgiy Merts 2017.04.06 11:39 #42 Vasiliy Sokolov:问题:市场上出现符合要求的64位数字的组合的概率是多少?答案:(1/2^64)*BarsCount。也就是说,以接近100%的概率,这样的组合不会被发现。所以,很明显,只有数字int或long不能完全描述模式,所以我们需要一个额外的参数来指定模式的长度。这是在我们看了所有64位的情况下。但这显然是没有必要的。 当我进行这样的调查时,我发现把烛台形态的长度超过5是不合理的。此外,如果我们不仅以 "牛熊 "来区分酒吧,而且还以它们的大小来区分,即使这个长度也太长了。 如果我们有一个长度很大的模式--指定 "特征特性 "并简单地用最小值和最大值来限制长度是更合理的。 Vladimir Karputov 2017.04.06 14:17 #43 还没有完全形成,但大致的想法是:两个参数--长度和0到3的int参数。专家顾问内部已经在解释这个数字(伪比特表示法)。䵮䵮长度(又称面具)伪比特表示法0х01х12xx003xx014xx105xx116xxx0007xxx0018xxx0109xxx01110xxx10011xxx10112xxx11013xxx111现在还需要决定如何对这些参数进行编码。一个直接的解决方案:一个结构,其中每个int参数(表格的第一列)对应于一个Pseudobit表示(第三列)。如果你把掩码限制在只有五个字符(XXXXX),结构就不会很大。而最重要的是--优化器允许你重新安排结构! Morse code iMA shift Not the Grail, just Dmitry Fedoseev 2017.04.06 14:54 #44 你也可以在属性窗口中为这三支蜡烛制定三个独立的参数。一举两得--既明确又优化。对10个烛台也可以这样做。 Dmytro Zelenskyy 2017.04.06 16:57 #45 Dmitry Fedoseev:你也可以在属性窗口中为这三支蜡烛制定三个独立的参数。一举两得--既明确又优化。对10个烛台也可以这样做。我支持input bool svecha1 = true; input bool svecha2 = false; input bool svecha3 = true; input bool svecha4 = false; input bool svecha5 = true; Vladimir Karputov 2017.04.06 17:00 #46 Vladimir Karputov:还没有完全形成,但大致的想法是:两个参数--长度和0到3的int参数。专家顾问内部已经在解释这个数字(伪比特表示法)。䵮䵮长度(又称面具)伪比特表示法0х01х12xx003xx014xx105xx116xxx0007xxx0018xxx0109xxx01110xxx10011xxx10112xxx11013xxx111现在还需要决定如何对这些参数进行编码。一个直接的解决方案:一个结构,其中每个int参数(表格的第一列)对应于一个Pseudobit表示(第三列)。如果你把掩码限制在只有五个字符(XXXXX),结构就不会很大。而最重要的是--优化器允许你重新安排结构! 这是从x到xxxx的掩码的枚举。//+------------------------------------------------------------------+ //| Enum pattern type: numerical or string | //+------------------------------------------------------------------+ enum ENUM_PATTERN_MASK { _0=B'0', // _1=B'1', // _2=B'00', // _3=B'01', // _4=B'10', // _5=B'11', // _6=B'000', // _7=B'001', // _8=B'010', // _9=B'011', // _10=B'100', // _11=B'101', // _12=B'110', // _13=B'111', // }; Vladimir Karputov 2017.04.07 06:42 #47 莫尔斯码版本 "1.005"这里是解决方案:面具被定义为一个枚举//+------------------------------------------------------------------+ //| Enum pattern mask | //+------------------------------------------------------------------+ enum ENUM_PATTERN_MASK { _0 = 0 , // 0 _1 = 1 , // 1 _2 = 2 , // 00 _3 = 3 , // 01 _4 = 4 , // 10 _5 = 5 , // 11 _6 = 6 , // 000 _7 = 7 , // 001 _8 = 8 , // 010 _9 = 9 , // 011 _10 = 10 , // 100 _11 = 11 , // 101 _12 = 12 , // 110 _13 = 13 , // 111 _14 = 14 , // 0000 _15 = 15 , // 0001 _16 = 16 , // 0010 _17 = 17 , // 0011 _18 = 18 , // 0100 _19 = 19 , // 0101 _20 = 20 , // 0110 _21 = 21 , // 0111 _22 = 22 , // 1000 _23 = 23 , // 1001 _24 = 24 , // 1010 ...在OnInit()中,掩码在ConvertNumberToString 函数中被翻译成字符串变量"sExtMorseCode"(变量"sExtMorseCode"是全局声明的)。//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool ConvertNumberToString(const ENUM_PATTERN_MASK num_mask,string &text) { bool result=true; //--- switch(num_mask) { case 0: text="0"; break; case 1: text="1"; break; case 2: text="00"; break; case 3: text="01"; break; case 4: text="10"; break; case 5: text="11"; break; case 6: text="000"; break; case 7: text="001"; break; case 8: text="010"; break; case 9: text="011"; break; case 10: text="100"; break; ... case 53: text="10111"; break; case 54: text="11000"; break; case 55: text="11001"; break; case 56: text="11010"; break; case 57: text="11011"; break; case 58: text="11100"; break; case 59: text="11101"; break; case 60: text="11110"; break; case 61: text="11111"; break; default: text=""; return(false); } //--- return(result); }有两个问题得到了解决。 1).用户在输入参数中看到的图案是 "0101"。 2).输入参数在测试器中得到了完美的优化。 附加的文件: Morse_code.mq5 20 kb Pyxis 2017.04.07 08:09 #48 Vladimir Karputov:莫尔斯码版本 "1.005"有两个问题得到了解决。 1).用户在输入参数中看到的图案是 "0101"。 2).输入参数在测试器中得到了完美的优化。用户可以根据最初的想法,在没有数学计算 的情况下指定一个蜡烛图组合? Vladimir Karputov 2017.04.07 08:14 #49 Pyxis:用户可以在不进行数学计算 的情况下指定一个烛台组合,就像最初设想的那样? 是的,他可以不用任何数学计算。而现在你不需要手动输入组合--只需从"模式掩码"下拉列表中选择适当的蜡烛图组合。 Vladimir Karputov 2017.04.07 10:59 #50 在测试器中运行(完全优化)莫尔斯码版本 "1.005"--纯模式(像现在这样)完全没有腥味:(。 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
问题:市场上出现符合要求的64位数字的组合的概率是多少?答案:(1/2^64)*BarsCount。也就是说,以接近100%的概率,这样的组合不会被发现。所以,很明显,只有数字int或long不能完全描述模式,所以我们需要一个额外的参数来指定模式的长度。
这是在我们看了所有64位的情况下。但这显然是没有必要的。
当我进行这样的调查时,我发现把烛台形态的长度超过5是不合理的。此外,如果我们不仅以 "牛熊 "来区分酒吧,而且还以它们的大小来区分,即使这个长度也太长了。
如果我们有一个长度很大的模式--指定 "特征特性 "并简单地用最小值和最大值来限制长度是更合理的。
还没有完全形成,但大致的想法是:两个参数--长度和0到3的int参数。专家顾问内部已经在解释这个数字(伪比特表示法)。
现在还需要决定如何对这些参数进行编码。一个直接的解决方案:一个结构,其中每个int参数(表格的第一列)对应于一个Pseudobit表示(第三列)。如果你把掩码限制在只有五个字符(XXXXX),结构就不会很大。
而最重要的是--优化器允许你重新安排结构!
你也可以在属性窗口中为这三支蜡烛制定三个独立的参数。一举两得--既明确又优化。
对10个烛台也可以这样做。
你也可以在属性窗口中为这三支蜡烛制定三个独立的参数。一举两得--既明确又优化。
对10个烛台也可以这样做。
我支持
还没有完全形成,但大致的想法是:两个参数--长度和0到3的int参数。专家顾问内部已经在解释这个数字(伪比特表示法)。
现在还需要决定如何对这些参数进行编码。一个直接的解决方案:一个结构,其中每个int参数(表格的第一列)对应于一个Pseudobit表示(第三列)。如果你把掩码限制在只有五个字符(XXXXX),结构就不会很大。
而最重要的是--优化器允许你重新安排结构!
这是从x到xxxx的掩码的枚举。
莫尔斯码版本 "1.005"
这里是解决方案:面具被定义为一个枚举
在OnInit()中,掩码在ConvertNumberToString 函数中被翻译成字符串变量"sExtMorseCode"(变量"sExtMorseCode"是全局声明的)。
有两个问题得到了解决。
1).用户在输入参数中看到的图案是 "0101"。
2).输入参数在测试器中得到了完美的优化。
莫尔斯码版本 "1.005"
有两个问题得到了解决。
1).用户在输入参数中看到的图案是 "0101"。
2).输入参数在测试器中得到了完美的优化。
用户可以根据最初的想法,在没有数学计算 的情况下指定一个蜡烛图组合?
用户可以在不进行数学计算 的情况下指定一个烛台组合,就像最初设想的那样?
是的,他可以不用任何数学计算。而现在你不需要手动输入组合--只需从"模式掩码"下拉列表中选择适当的蜡烛图组合。