ライブラリ: マルチテスター - ページ 50 1...4344454647484950515253545556 新しいコメント Stanislav Korotky 2025.09.05 16:09 #491 私の投稿は間違ったスレッドに作成されました: 取引、自動取引システム、取引戦略のテストに関するフォーラム MetaTrader 5ビルド5200の新バージョン:OpenBLAS拡張とMQL5でのコントロールの向上 Stanislav Korotky, 2025.09.05 11:13 AM なぜ31ではなく30なのでしょうか?ヘッドラインは31日のために設計されているようです。 uint Buffer[64 + 12 * 30]; そして、もし暗号? fxsaber 2025.09.05 19:51 #492 Stanislav Korotky #:なぜ31日ではなく30日なのか?見出しは31日分のようだが。 0から30までの指数は31である。 Stanislav Korotky 2025.09.06 12:00 #493 fxsaber #:0から30までのインデックスは31個。 正確には、0から30まで、つまり合計31個である。 fxsaber 2025.09.06 19:51 #494 Stanislav Korotky #:正確には、0から30まで、合計31である。 それで合っているのか? Stanislav Korotky 2025.09.07 13:29 #495 fxsaber #:それで、うまくいったのか? いや、ファイルのヘッダーを見る限り、31日分の配列が予約されている。だから、コードでは12*31になるはずだ。どこが間違っていますか? あるいは、tkcフォーマットの説明のリンクを教えてください。 fxsaber 2025.09.07 15:04 #496 Stanislav Korotky #:いや、私が見る限り、ファイルヘッダは31日分の配列を予約している。 ヘッダーに関する情報は何も持っていない。カスタム・キャラクタをやっていて、どのバイトが変更されているかを見ていた。ヘッダーの特定のバイトが何を担当しているかは、その行動から初めてわかったんだ。 だから、コードでは12*31になるはずだ。どこが間違っているのでしょうか? もしくは、tkcフォーマットの説明のリンクを教えてください。 uint Buffer[64 + 12 * 30]; uint Read; kernel32::ReadFile(handle, Buffer, sizeof(Buffer), Read, 0); if (Read == sizeof(Buffer)) for (int i = 63; i < (sizeof(Buffer) >> 2); i += 12) Res += (int)Buffer[i]; 変数iは 31の値を取ります。 Stanislav Korotky 2025.09.08 11:44 #497 fxsaber #:ヘッダーに関する情報は何も持っていない。私はカスタムシンボルを作り、どのバイトが変更されたかを観察した。その結果、ヘッダーの特定のバイトが何を担当しているのかがわかった。変数iは 31個の値を取る。 ループが63からカウントするのは明らかだが、配列を記述する際、ヘッダーには64が割り当てられており、これはループが-1から始まるのと同じである。あまり直感的ではないが、計算は合っている。 fxsaber 2025.09.09 18:38 #498 fxsaber #: 非標準的な方法で暦月のティック数を取得する。 シンボル別に利用可能な過去のティックに関する情報を取得する。 #include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/ja/code/26132 string NumToString( ulong Num, const string Delimeter = " " ) { string Res = (Num ? NULL : "0"); while (Num) { Res = ((Num < 1000) ? (string)(Num % 1000) : ::IntegerToString(Num % 1000, 3, '0')) + ((Res == NULL) ? NULL : Delimeter) + Res; Num /= 1000; } return(Res); } string TicksDataToString( const string Symb ) { datetime From = 0; datetime To; const int Amount = MTTESTER::GetAmountFileTicks(From, To, Symb); const string SizeStr = ::DoubleToString((long)Amount * sizeof(MqlTick) / (double)(1 << 20), 3) + " MB"; return(Symb + ": " + NumToString(Amount) +" ticks (MqlTick[] = " + SizeStr + ")" + (From ? ", " + ::TimeToString(From) + " - " + ::TimeToString(To) + ", " + GetDiffTime(From, To) //https://www.mql5.com/ru/forum/170952/page308#comment_57872629 : NULL)); } void OnStart() { const int Size = SymbolsTotal(true); for (int i = 0; i < Size; i++) Print(IntegerToString(i + 1, 3, '0') + "/" + IntegerToString(Size, 3, '0') + ". " + TicksDataToString(SymbolName(i, true))); } 結果。 001/045. EURUSD: 473 689 648 ticks (MqlTick[] = 27104.739 MB), 2011.12.01 00:00 - 2025.09.01 00:00, 13 Years 9 Months 002/045. GBPUSD: 508 981 458 ticks (MqlTick[] = 29124.153 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 003/045. USDCAD: 402 756 151 ticks (MqlTick[] = 23045.892 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 004/045. USDCHF: 353 129 808 ticks (MqlTick[] = 20206.250 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 005/045. USDJPY: 482 177 651 ticks (MqlTick[] = 27590.427 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 006/045. AUDCAD: 446 882 461 ticks (MqlTick[] = 25570.820 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months 007/045. AUDCHF: 387 336 224 ticks (MqlTick[] = 22163.557 MB), 2011.12.01 00:00 - 2025.01.01 00:00, 13 Years 1 Months エラー4004の 原因がわかります。 Goesta Torsten Hulden 2025.09.21 04:34 #499 MTTester. mqhがコンパイルされません。最近のMT5ビルドのせいだと思いますが、突然コンパイルできなくなったものがかなりあります。そのライブラリの更新版を提供していただけませんか?素晴らしいライブラリのように思えます。 fxsaber 2025.09.21 07:33 #500 Goesta Torsten Hulden #: MTTester. mqhはコンパイルされていません。 最新版はライブラリのロシア語 ページにのみあります。 1...4344454647484950515253545556 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私の投稿は間違ったスレッドに作成されました:
取引、自動取引システム、取引戦略のテストに関するフォーラム
MetaTrader 5ビルド5200の新バージョン:OpenBLAS拡張とMQL5でのコントロールの向上
Stanislav Korotky, 2025.09.05 11:13 AM
なぜ31ではなく30なのでしょうか?ヘッドラインは31日のために設計されているようです。
そして、もし暗号?
なぜ31日ではなく30日なのか?見出しは31日分のようだが。
0から30までの指数は31である。
0から30までのインデックスは31個。
正確には、0から30まで、つまり合計31個である。
正確には、0から30まで、合計31である。
それで合っているのか?
それで、うまくいったのか?
いや、ファイルのヘッダーを見る限り、31日分の配列が予約されている。だから、コードでは12*31になるはずだ。どこが間違っていますか?
あるいは、tkcフォーマットの説明のリンクを教えてください。
いや、私が見る限り、ファイルヘッダは31日分の配列を予約している。
ヘッダーに関する情報は何も持っていない。カスタム・キャラクタをやっていて、どのバイトが変更されているかを見ていた。ヘッダーの特定のバイトが何を担当しているかは、その行動から初めてわかったんだ。
だから、コードでは12*31になるはずだ。どこが間違っているのでしょうか?
もしくは、tkcフォーマットの説明のリンクを教えてください。
変数iは 31の値を取ります。
ヘッダーに関する情報は何も持っていない。私はカスタムシンボルを作り、どのバイトが変更されたかを観察した。その結果、ヘッダーの特定のバイトが何を担当しているのかがわかった。
変数iは 31個の値を取る。
ループが63からカウントするのは明らかだが、配列を記述する際、ヘッダーには64が割り当てられており、これはループが-1から始まるのと同じである。あまり直感的ではないが、計算は合っている。
非標準的な方法で暦月のティック数を取得する。
シンボル別に利用可能な過去のティックに関する情報を取得する。
結果。
エラー4004の 原因がわかります。
MTTester. mqhはコンパイルされていません。
最新版はライブラリのロシア語 ページにのみあります。