モールス符号 - ページ 5 12345678910 新しいコメント Vladimir Karputov 2017.04.06 13:11 #41 モールス信号バージョン「1.004」:パターンを逆から読んでしまう不具合を修正しました。 ファイル: Morse_code.mq5 15 kb Georgiy Merts 2017.04.06 13:39 #42 Vasiliy Sokolov:設問:必要な64桁の数字と一致する組み合わせが市場に出現する確率は?答え:(1/2^64)*BarsCount。つまり、100%に近い確率で、そのような組み合わせは見つからないのです。intまたはlongの1つの数値だけではパターンを完全に表現できないことは明らかなので、パターンの長さを指定する追加のパラメータが必要である。これは64ビットすべてで見た場合です。しかし、それは明らかに不要なものです。 そのような調査をしたところ、ローソク足のパターンの長さを5より長く取るのは合理的でないことがわかりました。さらに、「ブルベア」だけでなく、バーの大きさでも区別すると、この長さでも長すぎるのです。 長さの大きなパターンがある場合、「特徴量」を指定して、単純に最小値と最大値で長さを制限する方が、はるかに合理的である。 Vladimir Karputov 2017.04.06 16:17 #43 まだ正確な形ではありませんが、一般的なアイデアとしては、2つのパラメータ - lengthと0から3までのintパラメータ - があります。Expert Advisor の内部では、すでにこの数値(Pseudobit 表現)を解釈しています。イント長さ(別名:マスク)疑似ビット表現0х01х12xx003xx014xx105xx116xxx0007xxx0018xxx0109xxx01110xxx10011xxx10112xxx11013xxx111あとは、これらのパラメータをどのようにコーディングするかです。簡単な解決策としては、各intパラメータ(表の1列目)が擬似ビット表現(3列目)に対応する構造であることです。マスクが5文字(xxxxxx)しかない場合、あまり大きな構造にはなりません。そして、最も重要なことは、オプティマイザーによって構造を並べ替えることができることです。 Morse code Not the Grail, just Martingale, Hedging and Grid Dmitry Fedoseev 2017.04.06 16:54 #44 また、プロパティウィンドウで3つのキャンドルに別々のパラメータを作ることができます。一度に二羽の鳥を殺す--明快かつ最適化されたものです。ローソク足10本でも同じことができます。 Dmytro Zelenskyy 2017.04.06 18:57 #45 Dmitry Fedoseev:また、プロパティウィンドウで3つのキャンドルに別々のパラメータを作ることができます。二兎を追うものは一兎をも得ず、明快かつ最適化されています。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 19:00 #46 Vladimir Karputov:まだ正確な形ではありませんが、一般的なアイデアとしては、2つのパラメータ - lengthと0から3までのintパラメータ - があります。Expert Advisor の内部には、この数値の解釈(Pseudobit 表現)がすでに存在します。イント長さ(別名:マスク)疑似ビット表現0х01х12xx003xx014xx105xx116xxx0007xxx0018xxx0109xxx01110xxx10011xxx10112xxx11013xxx111あとは、これらのパラメータをどのようにコーディングするかです。簡単な解決策としては、各intパラメータ(表の1列目)が擬似ビット表現(3列目)に対応する構造であることです。マスクが5文字(xxxxxx)しかない場合、あまり大きな構造にはなりません。そして、最も重要なことは、オプティマイザーによって構造を並べ替えることができることです。 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 08: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); }2つの問題を解決しました。 1). ユーザーは,入力パラメータに "0101 "と表示されたパターンを見る。 2).入力パラメータはテスターで完璧に最適化されています。 ファイル: Morse_code.mq5 20 kb Pyxis 2017.04.07 10:09 #48 Vladimir Karputov:モールス信号バージョン "1.005"2つの問題を解決しました。 1). ユーザーは,入力パラメータに "0101 "と表示されたパターンを見る。 2).入力パラメータはテスターで完璧に最適化されています。ユーザーは、最初のアイデアに従って、数学的な計算を せずにローソク足の組み合わせを指定することができます? Vladimir Karputov 2017.04.07 10:14 #49 Pyxis:ユーザーが数学的な計算を せずにローソク足の組み合わせを指定できるのは、当初の構想通り? そう、彼は数学的な計算をしなくてもできるのだ。そして今、あなたは組み合わせを手動で入力する必要はありません - 適切なローソク足の組み合わせを「パターンマスク」のドロップダウンリストから選択するだけです。 Vladimir Karputov 2017.04.07 12:59 #50 テスター(完全最適化)モールス信号バージョン「1.005」で実行 - 純粋なパターン(今のような)は全く怪しくありません :( 12345678910 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
設問:必要な64桁の数字と一致する組み合わせが市場に出現する確率は?答え:(1/2^64)*BarsCount。つまり、100%に近い確率で、そのような組み合わせは見つからないのです。intまたはlongの1つの数値だけではパターンを完全に表現できないことは明らかなので、パターンの長さを指定する追加のパラメータが必要である。
これは64ビットすべてで見た場合です。しかし、それは明らかに不要なものです。
そのような調査をしたところ、ローソク足のパターンの長さを5より長く取るのは合理的でないことがわかりました。さらに、「ブルベア」だけでなく、バーの大きさでも区別すると、この長さでも長すぎるのです。
長さの大きなパターンがある場合、「特徴量」を指定して、単純に最小値と最大値で長さを制限する方が、はるかに合理的である。
まだ正確な形ではありませんが、一般的なアイデアとしては、2つのパラメータ - lengthと0から3までのintパラメータ - があります。Expert Advisor の内部では、すでにこの数値(Pseudobit 表現)を解釈しています。
あとは、これらのパラメータをどのようにコーディングするかです。簡単な解決策としては、各intパラメータ(表の1列目)が擬似ビット表現(3列目)に対応する構造であることです。マスクが5文字(xxxxxx)しかない場合、あまり大きな構造にはなりません。
そして、最も重要なことは、オプティマイザーによって構造を並べ替えることができることです。
また、プロパティウィンドウで3つのキャンドルに別々のパラメータを作ることができます。一度に二羽の鳥を殺す--明快かつ最適化されたものです。
ローソク足10本でも同じことができます。
また、プロパティウィンドウで3つのキャンドルに別々のパラメータを作ることができます。二兎を追うものは一兎をも得ず、明快かつ最適化されています。
10本のローソク足についても同様とすることができる。
支持する
まだ正確な形ではありませんが、一般的なアイデアとしては、2つのパラメータ - lengthと0から3までのintパラメータ - があります。Expert Advisor の内部には、この数値の解釈(Pseudobit 表現)がすでに存在します。
あとは、これらのパラメータをどのようにコーディングするかです。簡単な解決策としては、各intパラメータ(表の1列目)が擬似ビット表現(3列目)に対応する構造であることです。マスクが5文字(xxxxxx)しかない場合、あまり大きな構造にはなりません。
そして、最も重要なことは、オプティマイザーによって構造を並べ替えることができることです。
x から xxxx までのマスクの列挙である。
モールス信号バージョン "1.005"
マスクは列挙型として定義されます。
OnInit()において、ConvertNumberToString 関数でマスクを文字列変数sExtMorseCodeに 変換する(変数sExtMorseCodeは グローバルに宣言される)。
2つの問題を解決しました。
1). ユーザーは,入力パラメータに "0101 "と表示されたパターンを見る。
2).入力パラメータはテスターで完璧に最適化されています。
モールス信号バージョン "1.005"
2つの問題を解決しました。
1). ユーザーは,入力パラメータに "0101 "と表示されたパターンを見る。
2).入力パラメータはテスターで完璧に最適化されています。
ユーザーは、最初のアイデアに従って、数学的な計算を せずにローソク足の組み合わせを指定することができます?
ユーザーが数学的な計算を せずにローソク足の組み合わせを指定できるのは、当初の構想通り?
そう、彼は数学的な計算をしなくてもできるのだ。そして今、あなたは組み合わせを手動で入力する必要はありません - 適切なローソク足の組み合わせを「パターンマスク」のドロップダウンリストから選択するだけです。