初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1200 1...119311941195119611971198119912001201120212031204120512061207...1503 新しいコメント 削除済み 2020.03.24 13:09 #11991 もうひとつ質問です。 仕組みがあるんです。 struct Fann { int answer; double v_main_up; double v_add_up; double v_main_dn; double v_add_dn; double data_1[]; double data_2[]; double data_3[]; }; Fann vfann; 記入したので、ファイルに保存したい。 FileWriteStruct(filehandle,vfann); コンパイラが文句を言う - 'vfann' - オブジェクトを含む構造体やクラスは許可されていません。 配列が嫌いなんでしょうね。しかし、この構造を保存するにはどうしたらよいのでしょうか? Vladimir Karputov 2020.03.24 14:07 #11992 Сергей Таболин: もうひとつ質問です。 仕組みがあるんです。 記入したので、ファイルに保存したい。 コンパイラが文句を言う - 'vfann' - オブジェクトを含む構造体やクラスは許可されていません。 配列が嫌いなんでしょうね。しかし、この構造を保存するにはどうしたらよいのでしょうか? はい、配列はないはずです。FileWriteStruct ...構造体には、文字列、動的配列、仮想関数、オブジェクトや関数へのポインタを 含んではならない。 Документация по MQL5: Файловые операции / FileWriteStruct www.mql5.com //| Demo_FileWiteStruct.mq5 | //| Copyright 2013, MetaQuotes Software Corp. | //| https://www.mql5.com | //| Структура для хранения данных свечи |... Artyom Trishkin 2020.03.24 14:19 #11993 Сергей Таболин:もうひとつ質問です。 仕組みがあるんです。 記入したので、ファイルに保存したい。 コンパイラが文句を言う - 'vfann' - オブジェクトを含む構造体やクラスは許可されていません。 配列が嫌いなんでしょうね。しかし、この構造を保存するにはどうしたらよいのでしょうか? 配列の代わりに構造体を用いて作成する。まず、各配列をそれぞれの構造体にまとめます。そして、出来上がった構造体を、出来上がった構造体の中に詰め込む。逆の手順で開梱します。 Igor Zakharov 2020.03.24 14:34 #11994 Сергей Таболин: 配列が苦手なんですね。この構造をどのように保存するのですか? それをテキストに変換し、要素ごとに保存します。 削除済み 2020.03.24 16:32 #11995 Artyom Trishkin: 配列の代わりに構造体を用いて作成する。まず、各配列を独自の構造体にまとめる必要があります。そして、出来上がった構造体を、出来上がった構造体の中に詰め込む。逆の手順で開梱します。 イゴール・ザハロフ をテキストに変換し、要素ごとに保存します。 ありがとうございます。 これはどうでしょう。 struct Fann { int answer; double v_main_up; double v_add_up; double v_main_dn; double v_add_dn; }; Fann vfann; double data_1[]; double data_2[]; double data_3[]; ........................... FileWriteStruct(filehandle,vfann); FileWriteArray(filehandle,data_1); FileWriteArray(filehandle,data_2); FileWriteArray(filehandle,data_3); FILE_BIN です。 それなら、構造体や配列に同じ順番で読み込めばいいのでは? そのようなレコードが複数ある場合はどうすればよいのでしょうか。 Alexey Viktorov 2020.03.24 16:50 #11996 Сергей Таболин: ありがとうございます。 これはどうでしょう。 FILE_BIN です。 それなら、構造体や配列に同じ順番で読み込めばいいのでは? また、そのような記録が複数ある場合は? ええ、私もそのヒントがその場でわからなかったんです。まったくできない人は、その方法でやればいいんです。でも、やはり構造の中に構造を作る方法を考えた方がいい。どうすればいいのか、問うだけで十分です。同時に、私も別のことを学ぶことになる...。 削除済み 2020.03.24 17:02 #11997 Alexey Viktorov: ええ、私もそのヒントがその場でわからなかったんです。まったくできない人は、その方法でやればいいんです。でも、やはり構造の中に構造を作る方法を考えた方がいい。どうすればいいのか、問うだけで十分です。同時に、私も別のことを学ぶことになります。 聞く ))) 自分流」にやってみた。 最初の構造体と3つの配列は問題なく読み込めます(配列が動的でない限り、そうでなければ最初の配列は構造体の後に書かれたすべてのデータを読みます)。 ただし、それ以上のエントリーがある場合は // Проверка double rdata_1[6]; double rdata_2[6]; double rdata_3[6]; filehandle = FileOpen(filename,FILE_READ|FILE_COMMON|FILE_BIN); if(filehandle != INVALID_HANDLE) { while(!FileIsEnding(filehandle)) { FileReadStruct(filehandle,rfann); FileReadArray(filehandle,rdata_1); FileReadArray(filehandle,rdata_2); FileReadArray(filehandle,rdata_3); Print("++++++++++++++++++++++++++++++"); Print("Структура"); Print(rfann.v_main_up+"|"+rfann.v_main_dn+"|"+rfann.v_add_up+"|"+rfann.v_add_dn+"|"+rfann.answer); Print("Массивы"); Print("--- 1"); ArrayPrint(rdata_1); Print("--- 2"); ArrayPrint(rdata_2); Print("--- 3"); ArrayPrint(rdata_3); } } が出てしまう...。 Структура 4.0|-1.0|2.8|-0.7|1 Массивы --- 1 1.00000 0.33225 -0.76202 -0.93263 -1.00000 -0.79174 --- 2 -0.14603 0.89562 0.91407 0.93450 0.89481 0.89829 --- 3 0.89564 0.89217 -0.91174 -0.86623 -1.00000 -0.07680 ++++++++++++++++++++++++++++++ Структура 1.839259944929932 e+277|-nan|5.295254096666168 e-315|3.0|-618173028 Массивы --- 1 2.10000 -2.00000 -1.40000 -0.85098 -1.00000 -0.79900 --- 2 -0.30490 0.47926 1.00000 0.70827 0.84163 0.84134 --- 3 0.83925 0.84173 0.84760 0.84678 0.80368 -0.00063 ++++++++++++++++++++++++++++++ Структура 9.384173261527221 e-276|5.298850499315376 e-315|2.955277867691187 e+299|-9.638234784517503 e-243|-1705145188 Массивы --- 1 +0.00000 +0.00000 4.00000 2.80000 0.00000 0.00000 --- 2 1.00000 0.22097 -0.37383 -0.73115 -0.81752 -1.00000 --- 3 -0.87753 0.46919 0.59706 0.76223 0.82610 0.84312 ++++++++++++++++++++++++++++++ 削除済み 2020.03.24 17:06 #11998 Artyom Trishkin: 配列の代わりに構造体を用いて作成します。まず、各配列を独自の構造体にまとめる必要があります。そして、出来上がった構造体を、出来上がった構造体の中に詰め込む。逆の手順で開梱します。 アルチョム、例を挙げてくれないか?アレイのサイズが 動的であることを考えると Alexey Viktorov 2020.03.24 17:06 #11999 Сергей Таболин: 聞く ))) 自分流」にやってみた。 最初の構造体と3つの配列は正常に読み込まれます(配列のレシーバが動的でない場合、最初の配列は構造体の後に書かれたすべてのデータを読み込む)。 ただし、それ以上のエントリーがある場合は が出てしまう...。 4種類のファイルを書き込んで、1つしか開けないようにしているのですね。すみません...。まともな言葉がない。 削除済み 2020.03.24 17:12 #12000 Alexey Viktorov: 4種類のファイルを書き込んで、1つしか開けないようにしているのですね。すみません...。まともな言葉がない。 1つのファイルにすべてを書き込んでいます。1つのファイルに複数の構造体を書き込み、その後読み込むと、うまくいきます。 1...119311941195119611971198119912001201120212031204120512061207...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もうひとつ質問です。
仕組みがあるんです。
記入したので、ファイルに保存したい。
FileWriteStruct(filehandle,vfann);
コンパイラが文句を言う - 'vfann' - オブジェクトを含む構造体やクラスは許可されていません。
もうひとつ質問です。
仕組みがあるんです。
記入したので、ファイルに保存したい。
コンパイラが文句を言う - 'vfann' - オブジェクトを含む構造体やクラスは許可されていません。
はい、配列はないはずです。FileWriteStruct
もうひとつ質問です。
仕組みがあるんです。
記入したので、ファイルに保存したい。
コンパイラが文句を言う - 'vfann' - オブジェクトを含む構造体やクラスは許可されていません。
配列が苦手なんですね。この構造をどのように保存するのですか?
それをテキストに変換し、要素ごとに保存します。
配列の代わりに構造体を用いて作成する。まず、各配列を独自の構造体にまとめる必要があります。そして、出来上がった構造体を、出来上がった構造体の中に詰め込む。逆の手順で開梱します。
をテキストに変換し、要素ごとに保存します。
ありがとうございます。
これはどうでしょう。
FILE_BIN です。
それなら、構造体や配列に同じ順番で読み込めばいいのでは?
そのようなレコードが複数ある場合はどうすればよいのでしょうか。
ありがとうございます。
これはどうでしょう。
FILE_BIN です。
それなら、構造体や配列に同じ順番で読み込めばいいのでは?
また、そのような記録が複数ある場合は?
ええ、私もそのヒントがその場でわからなかったんです。まったくできない人は、その方法でやればいいんです。でも、やはり構造の中に構造を作る方法を考えた方がいい。どうすればいいのか、問うだけで十分です。同時に、私も別のことを学ぶことになる...。
ええ、私もそのヒントがその場でわからなかったんです。まったくできない人は、その方法でやればいいんです。でも、やはり構造の中に構造を作る方法を考えた方がいい。どうすればいいのか、問うだけで十分です。同時に、私も別のことを学ぶことになります。
聞く )))
自分流」にやってみた。
最初の構造体と3つの配列は問題なく読み込めます(配列が動的でない限り、そうでなければ最初の配列は構造体の後に書かれたすべてのデータを読みます)。
ただし、それ以上のエントリーがある場合は
が出てしまう...。
配列の代わりに構造体を用いて作成します。まず、各配列を独自の構造体にまとめる必要があります。そして、出来上がった構造体を、出来上がった構造体の中に詰め込む。逆の手順で開梱します。
アルチョム、例を挙げてくれないか?アレイのサイズが 動的であることを考えると
聞く )))
自分流」にやってみた。
最初の構造体と3つの配列は正常に読み込まれます(配列のレシーバが動的でない場合、最初の配列は構造体の後に書かれたすべてのデータを読み込む)。
ただし、それ以上のエントリーがある場合は
が出てしまう...。
4種類のファイルを書き込んで、1つしか開けないようにしているのですね。すみません...。まともな言葉がない。
4種類のファイルを書き込んで、1つしか開けないようにしているのですね。すみません...。まともな言葉がない。
1つのファイルにすべてを書き込んでいます。1つのファイルに複数の構造体を書き込み、その後読み込むと、うまくいきます。