2030年のメタトレーダーXをどのように捉えていますか? - ページ 6 12345678910 新しいコメント Igor Makanu 2019.08.20 03:48 #51 fxsaber: 任意のデータをグローバルに書き込むことは、こちらの 対応するインクルードで見ることができます。 OK、このソリューションは見たことがありません。 簡単に把握することはできませんので、確認が必要です Alexey Volchanskiy 2019.08.20 04:00 #52 fxsaber: グローバルに書き込まれたデータは、ここにある 対応するインクルードで見ることができます。 ティック以外にも膨大なデータの世界があることをご存知でしょうか?あなたは、クラスインスタンスの書き込み/読み取りデータという奇妙なものを求めています。 Alexey Volchanskiy 2019.08.20 04:06 #53 Igor Makanu: OK、このソリューションは見たことがありません。 簡単にはわからない、調べないとわからない。 リソースとの間で生データの書き込みと読み出しが可能です。良い例です、ありがとうございます しかし、私の尊敬するfxsaberは、同じことをクラスで行うのはどうでしょうか?ディフィニションがあっても、人々は発狂しないことを約束することができる ))) Artem Prischepa 2019.08.20 05:44 #54 Alexey Volchanskiy: コーラじゃないのか、ああ、おばあちゃんたち。 いいえ。ジンジャーブレッドの先物 fxsaber 2019.08.20 07:04 #55 Alexey Volchanskiy: ティック以外にも膨大なデータの世界があることをご存知でしょうか? トレーディング、自動売買システム、ストラテジーテストに関するフォーラム 文字列のようなグローバルターミナル変数が必要なのか? fxsaber さん 2017.04.10 18:25 void OnStart() { string Name = "Name"; // Записываем/считываем строки _GlobalVariableSet(Name, "Hello World!"); Print(_GlobalVariableGet<string>(Name)); // Записываем/считываем простые структуры MqlTick Tick; SymbolInfoTick(_Symbol, Tick); _GlobalVariableSet(Name, Tick); Print(_GlobalVariableGet<MqlTick>(Name).time); // Записываем/считываем массивы MqlTick Ticks[2]; Ticks[0] = Tick; Ticks[1] = Tick; _GlobalVariableSet(Name, Ticks); MqlTick NewTicks[]; // if (_GlobalVariableGet(Name, NewTicks)) // https://www.mql5.com/ru/forum/1111/page1868#comment_4853867 // Print(NewTicks[1].time); _GlobalVariableDel(Name); } あるクラスのインスタンスのデータを書き込んだり、読み込んだりという不思議なことがしたい。 私は、開発 者と同じように、データを構造体に格納します。便利だし、理にかなっている。だから、構造体へのポインタがないにもかかわらず、この問題ではクラスのほうには目を向けていない。 Igor Makanu 2019.08.20 10:15 #56 fxsaber: 私は、開発 者と同じように構造体にデータを保存しています。便利でロジカルです。 したがって、構造体へのポインタがないにもかかわらず、この問題ではクラスには目を向けなかった。 チェック用のスクリプトを組んだのですが、MqlTickの配列の読み方が わかりません。 #property strict #include <fxsaber\TypeToBytes.mqh> //https://www.mql5.com/ru/code/16282 #define POSTFIX "___" string GetName( const string Name, const int Num, const string PostFix = POSTFIX ) { return(Name + PostFix + (string)Num); } bool _GlobalVariableDel( const string Name ) { return(GlobalVariableDel(Name) && (GlobalVariablesDeleteAll(Name + POSTFIX) >= 0)); } #define GLOBAL_VARIABLE_SET(A) \ template <typename T> \ datetime _GlobalVariableSet( const string Name, const T A ) \ { \ _GlobalVariableDel(Name); \ \ double Array[]; \ \ const datetime Res = GlobalVariableSet(Name, _ArrayCopy(Array, _R(Value).Bytes)); \ const int Size = ArraySize(Array); \ \ for (int i = 0; i < Size; i++) \ GlobalVariableSet(GetName(Name, i), Array[i]); \ \ return(Res); \ } GLOBAL_VARIABLE_SET(Value) GLOBAL_VARIABLE_SET(&Value) GLOBAL_VARIABLE_SET(&Value[]) #define GLOBAL_VARIABLE_GET(A) \ { \ double Array[]; \ \ const int Amount = (int)Tmp; \ const int Size = ArrayResize(Array, Amount / sizeof(double) + \ ((Amount % sizeof(double) == 0) ? 0 : 1)); \ \ for (int i = 0; i < Size; i++) \ Array[i] = GlobalVariableGet(GetName(Name, i)); \ \ uchar Bytes[]; \ \ _ArrayCopy(Bytes, Array, 0, 0, Amount); \ \ _W(A) = Bytes; \ } template <typename T> const T _GlobalVariableGet( const string Name ) { T Res; // https://www.mql5.com/ru/forum/1111/page1869#comment_4854112 double Tmp; if (GlobalVariableGet(Name, Tmp)) GLOBAL_VARIABLE_GET(Res) return(Res); } template <typename T> bool _GlobalVariableGet( const string Name, T &Value ) { double Tmp; const bool Res = GlobalVariableGet(Name, Tmp); if (Res) GLOBAL_VARIABLE_GET(Value) return(Res); } void OnStart() { string Name="Name"; // Записываем/считываем строки _GlobalVariableSet(Name,"Hello World!"); Print(_GlobalVariableGet<string>(Name)); // Записываем/считываем простые структуры MqlTick Tick; SymbolInfoTick(_Symbol,Tick); _GlobalVariableSet(Name,Tick); Print("time --> ",_GlobalVariableGet<MqlTick>(Name).time); Print("bid --> ",_GlobalVariableGet<MqlTick>(Name).bid); // Записываем/считываем массивы MqlTick Ticks[2]; Ticks[0] = Tick; Ticks[1] = Tick; _GlobalVariableSet(Name,Ticks); // Print("time --> ",_GlobalVariableGet<MqlTick>(Name).time); // Print("bid --> ",_GlobalVariableGet<MqlTick>(Name).bid); _GlobalVariableDel(Name); } //+------------------------------------------------------------------+ PS: コンパイラの警告で初期化されていない変数 'Res' が使用されている可能性があるため、可能であれば削除してください。 Unicornis 2019.08.20 10:36 #57 Alexey Volchanskiy: 個人的には、マルチタスクが恋しいです。そういえば(懐かしの10行、青春スキップ)、2000年当時、Pentium 4が発売されたとき、RSDNプログラマーズフォーラムをうろうろしていたんです。インテルはP4で15GHzくらい行ってたし。ええ、冗談抜きで、そこらじゅうにありましたよ。まあ、本当にそう思ったのか、それともデマだったのかわかりませんが、私は信じませんでしたよ、何しろ鉄人ですから。 その後、マルチコアがもうすぐ来るから見てろ、準備しろ、と大きなスレッドを立てました。みんな笑っていましたよ。まるでおとぎ話のようで、どうやってパラレルコードをプログラムするんだ、と。ファンタジーなんです。 そして、誰が正しかったのか?インテルは15Ghzで失敗し、その後デスクトップ版にはデュアルコアのPentium Dが、そしてブレークスルーDuoが登場した。 そして、MQL5ではまだ199*sで生活しているのです。マルチスレッドも例外もない...。悲しみのあまり、スイカを食べに行った...。 MT5の説明から、マルチスレッドであることがわかります。現代のCPUは、ユーザーの下に実行可能なコードのダンプスターであるという事実のために、その後、スイカがあり、すべてのスレッドで実用的な意味がありません。ビジネスでは、効率的なコードにも、計算能力の合理的な使用にも関心がありません。 P.S. 1.5GHzかも?間違っているかもしれませんが、当時は物理的な技術の限界を5nmと定義し、そこからGHzを想定していたのです。200nmから5nmまで、数年で到達したいですね。 Alexander Ivanov 2019.08.20 11:06 #58 2030年にはメタトレーダーが禁止される。 何でもかんでも禁止する人が政権をとることになる。 そうすれば、世界の決済システムはひとつになる。 そして、世界中に一人の支配者がいる。 彼はすべての人にチップを搭載し、すべての人をGLONASS、5Gの下に置くようになるでしょう。 現金はありません。支払いは、体に埋め込まれたチップを通じて行われます。 社会の特権階級だけが、インターネットでの取引を許されるのです。この支配者を本物の神だと思う人たちが......。 アーメン。 fxsaber 2019.08.20 19:00 #59 Igor Makanu: それをテストするためにスクリプトを作ったのですが、MqlTickの配列を読み込む 方法がわかりません。 このオーバーロードを追加する template <typename T> bool _GlobalVariableGet( const string Name, T &Value[] ) { double Tmp; const bool Res = GlobalVariableGet(Name, Tmp); if (Res) { double Array[]; const int Amount = (int)Tmp; const int Size = ArrayResize(Array, Amount / sizeof(double) + ((Amount % sizeof(double) == 0) ? 0 : 1)); for (int i = 0; i < Size; i++) Array[i] = GlobalVariableGet(GetName(Name, i)); _ArrayCopy(Value, Array, 0, 0, Amount); } return(Res); } イゴール・マカヌ PS: コンパイラの警告で、初期化されていない変数 'Res' が使用されている可能性があるため、可能であれば削除してください。 この行を追加する T Res; ZeroMemory(Res); Alexey Volchanskiy 2019.08.21 03:18 #60 Unicornis: MT5の説明から、マルチスレッドであることがわかります。ユーザーの下でその仕事の近代的なプロセッサは、実行可能なコードのダンプであるという事実のために、まだスイカがあり、すべてのスレッドで実用的な意味はありません。ビジネスでは、効率的なコードにも、計算能力の合理的な使用にも関心がありません。 追伸:1.5GHzかも?間違っているかもしれませんが、当時は物理的な技術の限界を5nmと定義し、そこからGHzを想定していたのです。 200nmから5nmへ、2、3年後にそうしたい--もちろん、そうします。 私は文盲でマニュアルを読まないんです。ただ、MT5がマルチスレッドなのはオプティマイザーだけというのは知っています)。テスターでは、1つのスレッドのみで動作しています。 並列化するにはOpenCLを使いますが、この技術自体はMT5でサポートされているだけです。 そして、ロードマップの15GHzについては、私はプログラマーの記憶力を持っているので、見たことは一生忘れないと思います。 12345678910 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
任意のデータをグローバルに書き込むことは、こちらの 対応するインクルードで見ることができます。
OK、このソリューションは見たことがありません。
簡単に把握することはできませんので、確認が必要です
グローバルに書き込まれたデータは、ここにある 対応するインクルードで見ることができます。
ティック以外にも膨大なデータの世界があることをご存知でしょうか?あなたは、クラスインスタンスの書き込み/読み取りデータという奇妙なものを求めています。
OK、このソリューションは見たことがありません。
簡単にはわからない、調べないとわからない。
リソースとの間で生データの書き込みと読み出しが可能です。良い例です、ありがとうございます
しかし、私の尊敬するfxsaberは、同じことをクラスで行うのはどうでしょうか?ディフィニションがあっても、人々は発狂しないことを約束することができる )))
コーラじゃないのか、ああ、おばあちゃんたち。
いいえ。ジンジャーブレッドの先物
ティック以外にも膨大なデータの世界があることをご存知でしょうか?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
文字列のようなグローバルターミナル変数が必要なのか?
fxsaber さん 2017.04.10 18:25
あるクラスのインスタンスのデータを書き込んだり、読み込んだりという不思議なことがしたい。
私は、開発 者と同じように、データを構造体に格納します。便利だし、理にかなっている。だから、構造体へのポインタがないにもかかわらず、この問題ではクラスのほうには目を向けていない。
私は、開発 者と同じように構造体にデータを保存しています。便利でロジカルです。 したがって、構造体へのポインタがないにもかかわらず、この問題ではクラスには目を向けなかった。
チェック用のスクリプトを組んだのですが、MqlTickの配列の読み方が わかりません。
PS: コンパイラの警告で初期化されていない変数 'Res' が使用されている可能性があるため、可能であれば削除してください。
個人的には、マルチタスクが恋しいです。そういえば(懐かしの10行、青春スキップ)、2000年当時、Pentium 4が発売されたとき、RSDNプログラマーズフォーラムをうろうろしていたんです。インテルはP4で15GHzくらい行ってたし。ええ、冗談抜きで、そこらじゅうにありましたよ。まあ、本当にそう思ったのか、それともデマだったのかわかりませんが、私は信じませんでしたよ、何しろ鉄人ですから。
その後、マルチコアがもうすぐ来るから見てろ、準備しろ、と大きなスレッドを立てました。みんな笑っていましたよ。まるでおとぎ話のようで、どうやってパラレルコードをプログラムするんだ、と。ファンタジーなんです。
そして、誰が正しかったのか?インテルは15Ghzで失敗し、その後デスクトップ版にはデュアルコアのPentium Dが、そしてブレークスルーDuoが登場した。
そして、MQL5ではまだ199*sで生活しているのです。マルチスレッドも例外もない...。悲しみのあまり、スイカを食べに行った...。
MT5の説明から、マルチスレッドであることがわかります。現代のCPUは、ユーザーの下に実行可能なコードのダンプスターであるという事実のために、その後、スイカがあり、すべてのスレッドで実用的な意味がありません。ビジネスでは、効率的なコードにも、計算能力の合理的な使用にも関心がありません。
P.S. 1.5GHzかも?間違っているかもしれませんが、当時は物理的な技術の限界を5nmと定義し、そこからGHzを想定していたのです。200nmから5nmまで、数年で到達したいですね。
2030年にはメタトレーダーが禁止される。
何でもかんでも禁止する人が政権をとることになる。
そうすれば、世界の決済システムはひとつになる。
そして、世界中に一人の支配者がいる。
彼はすべての人にチップを搭載し、すべての人をGLONASS、5Gの下に置くようになるでしょう。
現金はありません。支払いは、体に埋め込まれたチップを通じて行われます。
社会の特権階級だけが、インターネットでの取引を許されるのです。この支配者を本物の神だと思う人たちが......。
アーメン。
それをテストするためにスクリプトを作ったのですが、MqlTickの配列を読み込む 方法がわかりません。
このオーバーロードを追加する
PS: コンパイラの警告で、初期化されていない変数 'Res' が使用されている可能性があるため、可能であれば削除してください。
この行を追加する
T Res; ZeroMemory(Res);
MT5の説明から、マルチスレッドであることがわかります。ユーザーの下でその仕事の近代的なプロセッサは、実行可能なコードのダンプであるという事実のために、まだスイカがあり、すべてのスレッドで実用的な意味はありません。ビジネスでは、効率的なコードにも、計算能力の合理的な使用にも関心がありません。
追伸:1.5GHzかも?間違っているかもしれませんが、当時は物理的な技術の限界を5nmと定義し、そこからGHzを想定していたのです。 200nmから5nmへ、2、3年後にそうしたい--もちろん、そうします。
私は文盲でマニュアルを読まないんです。ただ、MT5がマルチスレッドなのはオプティマイザーだけというのは知っています)。テスターでは、1つのスレッドのみで動作しています。
並列化するにはOpenCLを使いますが、この技術自体はMT5でサポートされているだけです。
そして、ロードマップの15GHzについては、私はプログラマーの記憶力を持っているので、見たことは一生忘れないと思います。