MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1060 1...105310541055105610571058105910601061106210631064106510661067...1953 新しいコメント Alexey Viktorov 2020.01.29 15:09 #10591 Igor Zakharov: これは交換用ではありません。MBはボタンを押すまで流れを止めるので、インジケーターでは機能 しません うっかりアドバイスしてしまいましたが、ノートには全くそんなことは書いてありません。 備考 MessageBox()の呼び出しは、ユーザーの回答を待っている間、インジケータスレッドの実行を停止させるため、この関数をカスタムインジケータで使用 することは推奨 されません。また、各シンボルのインジケータはすべて1つのスレッドで実行されるため、このシンボルのすべてのタイムフレームのチャートが停止されることになります。 ストラテジーテスターで作業していると、MessageBox()関数が実行されない。 Alexey Viktorov 2020.01.29 15:10 #10592 MakarFX: 私はプログラマーではなく、自分の都合でインジケータを編集しています。テスターで確認したわけではなく、リアルタイムで確認しました。 ちなみに、テレパスは ありません。 もし、ここで公開されているインジケーターの中で、この機能を使用しているものをご存知でしたら、教えてください。もしかしたら、そうすれば、自分で解決できるかもしれません。 感謝 すべて揃っています。 Клуб Телепатов 2011.05.08www.mql5.com Клуб телепатов Вас послали сюда? Тогда давайте знакомиться! Как же такое могло случиться со мной... Seric29 2020.01.29 15:21 #10593 Artyom Trishkin: ローカルスコープに 構造体型の変数を宣言し、それが関数に送られるものです。同じローカルスコープ内。 ポイントは、フィールドの構造体に対して変数を作成した場合、そのスコープは関数全体であり、ローカルエリアではないことです。以下はその一例です。 int OnInit() { {int In=8; MyPoint qr;} qr - видна здесь In - здесь не видна return(INIT_SUCCEEDED); } void OnDeinit(const int reason){} struct MyPoint { int x[5]; int y; }; ローカルで仕事をすることはもはや不可能であることがわかった。 Yurixx 2020.01.29 15:43 #10594 スクリプトでcsvファイルからデータを読み込もうとしています。運が悪く、その理由が全く理解できない。 簡単な手順で読み取るようにしています。 bool GetBiFromFile(string InFNam,int& alBars,double& xClose[],datetime& xTime[]) { int InHndl,nBars; bool fset; double aval; InHndl = FileOpen(InFNam+".csv",FILE_READ|FILE_CSV,","); if (InHndl==INVALID_HANDLE) { Print("File "+InFNam+" does not open. Error: ", GetLastError()); return(false); } else { fset = FileSeek(InHndl,0,SEEK_SET); ArrayResize(xClose,alBars); ArrayInitialize(xClose,0.0); ArrayResize(xTime,alBars); ArrayInitialize(xTime,0); nBars = 0; while (!FileIsEnding(InHndl)) { nBars++; xTime[nBars-1] = FileReadDatetime(InHndl);; xClose[nBars-1] = FileReadDouble(InHndl); aval = FileReadDouble(InHndl); if (nBars>=alBars) break; } } Print("nBars = ",nBars," allBars = ",alBars); Print("Start: ",xClose[0]," " + TimeToString(xTime[0],TIME_DATE|TIME_SECONDS)); Print("End: ",xClose[nBars-1]," " + TimeToString(xTime[nBars-1],TIME_DATE|TIME_SECONDS)); return(true); } データの入ったファイルは、次のような形式になっています。 2012.01.02 02:00:02,1.293240,1.293410 2012.01.02 02:00:52,1.293330,1.293500 2012.01.02 02:00:55,1.293810,1.293980 .... そして、プロシージャからPrint()ステートメントを実行した結果は、以下のようになります。 nBars = 1000 alBars = 1000 開始:0.0 2020.01.29 01:00:00 終了:0.0 2020.01.29 01:00:00 つまり、読み出しループで全ての行が処理されるが、何も読み出されない。また、エラーメッセージも ない。 どなたか説明してください。 fxsaber 2020.01.29 15:45 #10595 Yurixx: どなたか説明してください。 バイナリ関数は、テキストファイルを読み込む。 Tretyakov Rostyslav 2020.01.29 15:48 #10596 Alexey Viktorov: すべて揃っています。 お前は悪だ! Alexey Viktorov 2020.01.29 15:59 #10597 MakarFX:意地悪! フリをしているんです。 プログラミングを理解したいのなら、まずはやってみることだ。ただ必要なだけなら、無料で書いてくれるというスレッドに行き、そこにインジケータを貼って、要望を記述します。 ps: 全て確認しました。PlaySound() の前にAlert()を配置しても、なぜか選択したサウンドが再生されない。私の記憶力が悪いのかもしれないが、そんなことはどうでもいい。 Alert()をダブルタップすると、赤い十字が表示され、ミュートすることができます で、その場合、その前にAlert()やPlaySound()が書かれていても問題ないでしょう Tretyakov Rostyslav 2020.01.29 16:17 #10598 Alexey Viktorov: フリをしているんです。 で、この場合、前にAlert()と書いてもPlaySound()と書いても変わりません。 この場合、アラートウィンドウは開きません( Yurixx 2020.01.29 16:22 #10599 fxsaber:バイナリ関数でテキストファイルを読み込むと FileReadDouble() 関数については、バイナリファイルから読み込むと書いてありますね。 しかし、FileReadDatetime() について、「CSVファイルから "YYYY.MM.DD HH:MI:SS", "YYYY.MM.DD" または "HH:MI:SS" のいずれかの形式の文字列を読み取り、それをdatetime値に変換する」と書かれているのです。 また、同じ絵は、FileReadString() を使って、自分で文字列を正しい型に 変換したときでした。 どのようにすればいいと思いますか? fxsaber 2020.01.29 16:30 #10600 Yurixx: どのようにしたらいいと思いますか? void OnStart() { datetime time; double PriceBid; double PriceAsk; string Str = "2012.01.02 02:00:02,1.293240,1.293410"; string StrArray[]; if (StringSplit(Str, ',', StrArray) > 2) { time = (datetime)StrArray[0]; PriceBid = (double)StrArray[1]; PriceAsk = (double)StrArray[2]; } } 1...105310541055105610571058105910601061106210631064106510661067...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これは交換用ではありません。MBはボタンを押すまで流れを止めるので、インジケーターでは機能 しません
うっかりアドバイスしてしまいましたが、ノートには全くそんなことは書いてありません。
備考
MessageBox()の呼び出しは、ユーザーの回答を待っている間、インジケータスレッドの実行を停止させるため、この関数をカスタムインジケータで使用 することは推奨 されません。また、各シンボルのインジケータはすべて1つのスレッドで実行されるため、このシンボルのすべてのタイムフレームのチャートが停止されることになります。
ストラテジーテスターで作業していると、MessageBox()関数が実行されない。
私はプログラマーではなく、自分の都合でインジケータを編集しています。テスターで確認したわけではなく、リアルタイムで確認しました。
ちなみに、テレパスは ありません。
もし、ここで公開されているインジケーターの中で、この機能を使用しているものをご存知でしたら、教えてください。もしかしたら、そうすれば、自分で解決できるかもしれません。
感謝
すべて揃っています。
ローカルスコープに 構造体型の変数を宣言し、それが関数に送られるものです。同じローカルスコープ内。
ポイントは、フィールドの構造体に対して変数を作成した場合、そのスコープは関数全体であり、ローカルエリアではないことです。以下はその一例です。
ローカルで仕事をすることはもはや不可能であることがわかった。
スクリプトでcsvファイルからデータを読み込もうとしています。運が悪く、その理由が全く理解できない。
簡単な手順で読み取るようにしています。
データの入ったファイルは、次のような形式になっています。
2012.01.02 02:00:02,1.293240,1.293410
2012.01.02 02:00:52,1.293330,1.293500
2012.01.02 02:00:55,1.293810,1.293980
....
そして、プロシージャからPrint()ステートメントを実行した結果は、以下のようになります。
nBars = 1000 alBars = 1000
開始:0.0 2020.01.29 01:00:00
終了:0.0 2020.01.29 01:00:00
つまり、読み出しループで全ての行が処理されるが、何も読み出されない。また、エラーメッセージも ない。
どなたか説明してください。
どなたか説明してください。
バイナリ関数は、テキストファイルを読み込む。
すべて揃っています。
お前は悪だ!
意地悪!
フリをしているんです。
プログラミングを理解したいのなら、まずはやってみることだ。ただ必要なだけなら、無料で書いてくれるというスレッドに行き、そこにインジケータを貼って、要望を記述します。
ps: 全て確認しました。PlaySound() の前にAlert()を配置しても、なぜか選択したサウンドが再生されない。私の記憶力が悪いのかもしれないが、そんなことはどうでもいい。
Alert()をダブルタップすると、赤い十字が表示され、ミュートすることができます
で、その場合、その前にAlert()やPlaySound()が書かれていても問題ないでしょう
フリをしているんです。
で、この場合、前にAlert()と書いてもPlaySound()と書いても変わりません。
この場合、アラートウィンドウは開きません(
バイナリ関数でテキストファイルを読み込むと
FileReadDouble() 関数については、バイナリファイルから読み込むと書いてありますね。
しかし、FileReadDatetime() について、「CSVファイルから "YYYY.MM.DD HH:MI:SS", "YYYY.MM.DD" または "HH:MI:SS" のいずれかの形式の文字列を読み取り、それをdatetime値に変換する」と書かれているのです。
また、同じ絵は、FileReadString() を使って、自分で文字列を正しい型に 変換したときでした。
どのようにすればいいと思いますか?
どのようにしたらいいと思いますか?