ライブラリ: TypeToBytes - ページ 4 1234567 新しいコメント fxsaber 2017.04.26 10:49 #31 任意の構造の鋳造が可能struct STRUCT2 { MqlTick Tick; }; // 任意の単純構造体をキャストする(コンストラクタまたはカスタム代入演算子がある場合 - TYPETOBYTES_FULL_SLOW が必要)。 STRUCT2 Struct2 = _C(STRUCT2, Tick); // 古典的なSTRUCT2キャスティングのアナログ STRUCT2 Struct2 = (STRUCT2)Tick; PRINT(_R(Struct2) == Tick) // Struct2 == Tickであることを確認する。 Struct2.Tick.time = __DATETIME__; // Struct2 の修正 PRINT(_R(Struct2) == Tick) // Struct2 != Tick であることを確認する。 _W(Struct2) = Tick; // TickからStruct2へのバイト単位のコピー PRINT(_R(Struct2) == Tick) // Struct2 == Tickであることを確認する。 Shephard Mukachi 2017.05.11 01:28 #32 Automated-Trading:TypeToBytes:作者:fxsaberこんにちは、fxsaberです。まず最初に、TypeToBytesの開発に感謝します。TypeToBytesのファイルとmq5のサンプルの両方をダウンロードしたのですが、実行すると、キャストの問題に関連したエラーがいくつか発生します。 以下はエラーの例です;cannot cast 'MqlTick' to 'STRUCT_READ<MqlTick>' TypeToBytes.mqh 115 20STRUCT_READ<MqlTick>'を'STRUCT_TYPE<MqlTick>'にキャストできない TypeToBytes.mqh 84 4STRUCT_READ<double>' を 'STRUCT_TYPE<double>' にキャストできない TypeToBytes.mqh 62 14STRUCT_READ<uchar>' を 'STRUCT_TYPE<uchar>' にキャストできない TypeToBytes.mqh 62 14STRUCT_READ<MqlTick>' を 'STRUCT_TYPE<MqlTick>' にキャストできない TypeToBytes.mqh 85 4私はこのファイルを、私が開発しているニューラルネットワークの一部として使用しようとしています。 あなたの助けを大いに感謝します。 Libraries: TypeToBytes Code for true strength Encryption, hashing, and data fxsaber 2017.05.11 06:22 #33 Shephard Mukachi: 最新バージョンは常にここにある。 Shephard Mukachi 2017.05.11 12:21 #34 fxsaber: 最新バージョンはいつでもここにある。君の努力と迅速な対応に感謝するよ。 Ziheng Zhuang 2017.05.12 10:17 #35 みんなありがとう。 fxsaber 2017.05.12 12:21 #36 使用例Определение байтового смещения поля структуры по его имени. 取引、自動取引システム、取引戦略のテストに関するフォーラム 構造体キャストエラー fxsaber, 2017.05.12 12:17 #include <TypeToBytes.mqh> struct ID { int num; //4 uchar name[255]; }; struct ID2 { uchar id[sizeof(ID)]; }; void OnStart() { ID id = {0}; _W(id) = 1234; _W(id)[_OFFSET(id, name)] = "someone"; //--- ID2 id2 = {0}; _W(id2) = id; ID idx = {0}; _W(idx) = id2; printf("idx.num = %d, idx.name = %s",idx.num,CharArrayToString(idx.name)); // 1,234,000 } fxsaber 2017.05.22 14:57 #37 バイト単位の文字列抽出を追加// 文字列抽出 int ArrayINT[]; string ArraySTR[] = {"123", "456", "789"}; _ArrayCopy(ArrayINT, ArraySTR); // ArraySTR 配列を ArrayINT 配列にバイト単位でコピーする。 ArrayPrint(_R(ArrayINT).Bytes); // 受信した配列のバイトを見る string ArraySTR2[]; _ArrayCopy(ArraySTR2, ArrayINT); // ArrayINT配列をArraySTR2配列に1バイトずつコピーする。 ArrayPrint(ArraySTR2); // 受け取った配列を表示する PRINT(_R(ArraySTR) == ArraySTR2) // ArraySTR == ArraySTR2であることを確認する。 PRINT(_R(ArrayINT)[(string)1]) // ArrayINT からバイト 1 から始まる文字列を取得する。 fxsaber 2017.05.22 15:04 #38 クラウドエージェント所有者の機密データを取得#include <TypeToBytes.mqh> input int Range = 0; template <typename T> struct ARRAY { T Array[]; void operator +=( const T Value ) { const int i = ArrayResize(this.Array, ArraySize(this.Array) + 1) - 1; this.Array[i] = Value; } }; #define TOSTRING(A) #A + " = " + (string)(A) #define ADD(A,B) Str += TOSTRING(TerminalInfo##A(B)); void GetPrivateData( ARRAY<string> &Str ) { Str += TOSTRING(MQLInfoString(MQL_PROGRAM_PATH)); ADD(Integer, TERMINAL_BUILD) ADD(Integer, TERMINAL_COMMUNITY_ACCOUNT) ADD(Integer, TERMINAL_COMMUNITY_CONNECTION) ADD(Integer, TERMINAL_CONNECTED) ADD(Integer, TERMINAL_DLLS_ALLOWED) ADD(Integer, TERMINAL_TRADE_ALLOWED) ADD(Integer, TERMINAL_NOTIFICATIONS_ENABLED) ADD(Integer, TERMINAL_MAXBARS) ADD(Integer, TERMINAL_MQID) ADD(Integer, TERMINAL_CODEPAGE) ADD(Integer, TERMINAL_CPU_CORES) ADD(Integer, TERMINAL_DISK_SPACE) ADD(Integer, TERMINAL_MEMORY_PHYSICAL) ADD(Integer, TERMINAL_MEMORY_TOTAL) ADD(Integer, TERMINAL_MEMORY_AVAILABLE) ADD(Integer, TERMINAL_MEMORY_USED) ADD(Integer, TERMINAL_X64) ADD(Integer, TERMINAL_OPENCL_SUPPORT) ADD(Integer, TERMINAL_SCREEN_DPI) ADD(Integer, TERMINAL_PING_LAST) ADD(Double, TERMINAL_COMMUNITY_BALANCE) ADD(String, TERMINAL_LANGUAGE) ADD(String, TERMINAL_COMPANY) ADD(String, TERMINAL_NAME) ADD(String, TERMINAL_PATH) ADD(String, TERMINAL_DATA_PATH) ADD(String, TERMINAL_COMMONDATA_PATH) } void OnTesterPass() { ulong Pass; string Name; long ID; double Value; uchar Data[]; while (FrameNext(Pass, Name, ID, Value, Data)) { string Str[]; _ArrayCopy(Str, Data); ArrayPrint(Str); } } double OnTester() { ARRAY<string> Str; GetPrivateData(Str); FrameAdd("Temp", 0, 0, _R(Str.Array).Bytes); return(0); }Windowsユーザー名、ビットレート、コア数、メモリサイズなどが利用可能。 Andrey Khatimlianskii 2017.05.22 16:00 #39 fxsaber: クラウドエージェント所有者の機密データを取得Windowsユーザー名、ビットレート、コア数、メモリサイズなどが入手可能。 賢い。送信するMQIDのデータベースを構築できる ) fxsaber 2017.05.22 19:43 #40 fxsaber: バイト単位の文字列抽出を追加 同じ結果を持つ2つの文字列StringSubstr(Str, Pos); _R(Str)[(string)Pos]; 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
TypeToBytes:
作者:fxsaber
こんにちは、fxsaberです。まず最初に、TypeToBytesの開発に感謝します。TypeToBytesのファイルとmq5のサンプルの両方をダウンロードしたのですが、実行すると、キャストの問題に関連したエラーがいくつか発生します。 以下はエラーの例です;
私はこのファイルを、私が開発しているニューラルネットワークの一部として使用しようとしています。 あなたの助けを大いに感謝します。
最新バージョンはいつでもここにある。
君の努力と迅速な対応に感謝するよ。
みんなありがとう。
使用例
取引、自動取引システム、取引戦略のテストに関するフォーラム
構造体キャストエラー
fxsaber, 2017.05.12 12:17
Windowsユーザー名、ビットレート、コア数、メモリサイズなどが利用可能。
クラウドエージェント所有者の機密データを取得
Windowsユーザー名、ビットレート、コア数、メモリサイズなどが入手可能。
バイト単位の文字列抽出を追加