MQL5におけるOOPに関する質問 - ページ 78 1...717273747576777879808182838485...96 新しいコメント fxsaber 2020.06.11 07:14 #771 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MQL5に関するFAQ ウラジミール・シマコフ さん 2020.06.10 19:06 #define LOG(dText) CLog::Ptr().Log((string)__LINE__,__FUNCSIG__,dText) class CLog{ int cHndl; CLog():cHndl(FileOpen(MQLInfoString(MQL_PROGRAM_NAME)+_Symbol+(string)(int)TimeCurrent()+".log",FILE_TXT|FILE_WRITE)){} ~CLog() {FileClose(cHndl);} public: static CLog* Ptr() {static CLog _log; return &_log;} void Log(string line,string sig,string text){ string _text=StringFormat("Line: %s. Signature: %s. %s",line,sig,text); PrintFormat(_text); FileWrite(cHndl,_text);} }; 以下のように、ハイライトされたオブジェクトではなく、直接アクセスできないオブジェクトを作成したことはありますか? #define LOG(dText) CLog::_log.Log((string)__LINE__,__FUNCSIG__,dText) class CLog{ int cHndl; CLog():cHndl(FileOpen(MQLInfoString(MQL_PROGRAM_NAME)+_Symbol+(string)(int)TimeCurrent()+".log",FILE_TXT|FILE_WRITE)){} ~CLog() {FileClose(cHndl);} public: static CLog _log; void Log(string line,string sig,string text){ string _text=StringFormat("Line: %s. Signature: %s. %s",line,sig,text); PrintFormat(_text); FileWrite(cHndl,_text);} }; static CLog CLog::_log; このデザインは、広く応用することができないので、あまり意味がありません。 int f() { return(1); } if (LOG(LOG(f()) -1) || LOG(LOG(f()) + 1)) LOG(f()); 必要な呼び出しのプロファイリングを同じように行っています。 Dmitry Fedoseev 2020.06.11 08:47 #772 Vladimir Simakov:よくぞ言ってくれました。そうなんだ!そして、これは?もっと複雑なことを認めなければならない) もし、ユーザーが知らないエディタでファイルを 開き、新しいテストを開始したらどうでしょうか?彼/彼女は、コードのエラーを探し、それを修正し、ログに目を通しますが、ログは変わりません......。 また、大暴落して端末がクラッシュしたらどうするのでしょうか?一番気になるのは、ログに保存されないことです。 Vladimir Simakov 2020.06.11 08:58 #773 Dmitry Fedoseev:もし、ユーザーが知らないエディタでファイルを 開き、新しいテストを始めたらどうでしょうか?彼はコードのエラーを探し、それを修正し、ログを見ますが、ログは変わりません......。また、大暴落して端末がクラッシュしたらどうするのでしょうか?一番気になるのは、ログに保存されないことです。また、FileFlushの実行を妨げるのは誰ですか?これは例としてプロトタイプであり、その後、誰もが自分の運を作り、彼らは通常、完成したソリューションのための手数料を要求する))))。だから何にでも開けられる)))この実装では、各起動は独自のファイルを持ちます))) UPD:私はOOPが生活を容易にする例を与え、そしてあなたが好きなように書いて、誰も手仕事のことわざをキャンセルしませんでした)))。 Dmitry Fedoseev 2020.06.11 09:51 #774 Vladimir Simakov:FileFlushを妨げるのは誰?これは例としてプロトタイプであり、その後、誰もが自分の運を作り、完成したソリューションは、通常、お金を要求する))))。だから何にでも開けられる)))この実装では、各発射がそれぞれファイルを持ちます)))) UPD: OOPが生活を楽にする例を示しましたが、さらに、好きなように書けば、誰も手作業について言うのを取り止めません)))) 。 あちゃー、ファイル名が毎回新しくなっているのに気づかなかった。そして、FileFlush() を追加し、ビールでプルします。 Alexey Navoykov 2020.06.11 10:26 #775 Dmitry Fedoseev:あちゃー、ファイル名が毎回新しくなっているのに気づかなかった。そして、FileFlush()を追加し、ビールを 飲むと効果的です。 私の記憶では、MQLのFileFlushは ずっと前から空です。 呼んでも無駄です。 Vladimir Simakov 2020.06.11 10:27 #776 Alexey Navoykov: 私の記憶では、MQLのFileFlushはずっと前から空です。 呼んでも無駄です。 HZ.テストしてみないとわからない。 Dmitry Fedoseev 2020.06.11 11:21 #777 FileFlush なし、FileCloseなしでのディスクリセット。タスクマネージャーで端末を終了。 Igor Makanu 2020.06.11 11:44 #778 Alexey Navoykov: 私の記憶では、MQLのFileFlushはずっと前から空ファイルです。 呼び出しても無駄です。 MQL4では、FileFlushがないとオフラインのチャートをオンラインにすることができないという事実を知っています(オフライン...オンライン...偉大にして強大なロシア語! ))) 新しいデータを履歴にリセットするまで、オフラインのチャートには何も表示されません。 もうひとつは、ユーザーがリセットしていない場合、端末が自動的にリセットしてファイルを閉じて しまうこと......。のテスターで、ファイルを閉じても開くことができない...。 MQL5で念のため確認したところ、3秒ごとに1行ずつ書き込み、ログにカウンターを出力していました。この設定がfalseの場合、メモ帳で開いた後、ファイルは空になります。 すなわち、FileFlushは宣言されたとおりに動作します。 #property script_show_inputs #include <Files\FileTxt.mqh> input bool UseFileFlush = true; //+------------------------------------------------------------------+ void OnStart() { CFileTxt f; f.Open("tstFileFlush.txt", FILE_WRITE | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_COMMON); int cnt = 0; while(!IsStopped()) { f.WriteString(string(++cnt) + " : QWERTY\n"); if(UseFileFlush) f.Flush(); printf("cnt = %i", cnt); Sleep(3000); } } //+------------------------------------------------------------------+ Igor Makanu 2020.06.11 11:48 #779 とうぜんのことながら クラスポインタの親型へのキャストはどのように行われるのですか? それとも、コンパイル時に行われ、関数(メソッド)呼び出しのテーブルが照合されるのでしょうか? Vladimir Simakov 2020.06.11 11:55 #780 Igor Makanu:とうぜんのことながらクラスポインタの親型へのキャストはどのように行われるのですか?それとも、コンパイル時に行われ、関数(メソッド)呼び出しのテーブルが照合されるのでしょうか? この場合、決して高くはありません。仮想メソッドを呼び出すには(デリファレンスごとに)コストがかかる。 1...717273747576777879808182838485...96 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MQL5に関するFAQ
ウラジミール・シマコフ さん 2020.06.10 19:06
以下のように、ハイライトされたオブジェクトではなく、直接アクセスできないオブジェクトを作成したことはありますか?
このデザインは、広く応用することができないので、あまり意味がありません。
必要な呼び出しのプロファイリングを同じように行っています。
よくぞ言ってくれました。そうなんだ!そして、これは?
もっと複雑なことを認めなければならない)
もし、ユーザーが知らないエディタでファイルを 開き、新しいテストを開始したらどうでしょうか?彼/彼女は、コードのエラーを探し、それを修正し、ログに目を通しますが、ログは変わりません......。
また、大暴落して端末がクラッシュしたらどうするのでしょうか?一番気になるのは、ログに保存されないことです。
もし、ユーザーが知らないエディタでファイルを 開き、新しいテストを始めたらどうでしょうか?彼はコードのエラーを探し、それを修正し、ログを見ますが、ログは変わりません......。
また、大暴落して端末がクラッシュしたらどうするのでしょうか?一番気になるのは、ログに保存されないことです。
また、FileFlushの実行を妨げるのは誰ですか?これは例としてプロトタイプであり、その後、誰もが自分の運を作り、彼らは通常、完成したソリューションのための手数料を要求する))))。だから何にでも開けられる)))この実装では、各起動は独自のファイルを持ちます)))
UPD:私はOOPが生活を容易にする例を与え、そしてあなたが好きなように書いて、誰も手仕事のことわざをキャンセルしませんでした)))。FileFlushを妨げるのは誰?これは例としてプロトタイプであり、その後、誰もが自分の運を作り、完成したソリューションは、通常、お金を要求する))))。だから何にでも開けられる)))この実装では、各発射がそれぞれファイルを持ちます))))
UPD: OOPが生活を楽にする例を示しましたが、さらに、好きなように書けば、誰も手作業について言うのを取り止めません)))) 。あちゃー、ファイル名が毎回新しくなっているのに気づかなかった。そして、FileFlush() を追加し、ビールでプルします。
あちゃー、ファイル名が毎回新しくなっているのに気づかなかった。そして、FileFlush()を追加し、ビールを 飲むと効果的です。
私の記憶では、MQLのFileFlushはずっと前から空です。 呼んでも無駄です。
HZ.テストしてみないとわからない。
私の記憶では、MQLのFileFlushはずっと前から空ファイルです。 呼び出しても無駄です。
MQL4では、FileFlushがないとオフラインのチャートをオンラインにすることができないという事実を知っています(オフライン...オンライン...偉大にして強大なロシア語! )))
新しいデータを履歴にリセットするまで、オフラインのチャートには何も表示されません。
もうひとつは、ユーザーがリセットしていない場合、端末が自動的にリセットしてファイルを閉じて しまうこと......。のテスターで、ファイルを閉じても開くことができない...。
MQL5で念のため確認したところ、3秒ごとに1行ずつ書き込み、ログにカウンターを出力していました。この設定がfalseの場合、メモ帳で開いた後、ファイルは空になります。
すなわち、FileFlushは宣言されたとおりに動作します。
とうぜんのことながら
クラスポインタの親型へのキャストはどのように行われるのですか?
それとも、コンパイル時に行われ、関数(メソッド)呼び出しのテーブルが照合されるのでしょうか?
とうぜんのことながら
クラスポインタの親型へのキャストはどのように行われるのですか?
それとも、コンパイル時に行われ、関数(メソッド)呼び出しのテーブルが照合されるのでしょうか?
この場合、決して高くはありません。仮想メソッドを呼び出すには(デリファレンスごとに)コストがかかる。