エラー、バグ、質問 - ページ 1554 1...154715481549155015511552155315541555155615571558155915601561...3185 新しいコメント 削除済み 2016.04.15 10:57 #15531 -Aleks-:他のスレッドで回答が得られなかったので、ここで質問を繰り返しますが、もしかしたらこれが参考になるかもしれません"私の間違いが何なのか、教えてください。for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES)," PriceOpenSell[%d] = %G",i,PriceOpenSell[i]);OpenSellTime配列の日付は表示されず、式の2番目の部分であるPriceOpenSellは表示されません。また、%Gや%dなどのprintf コマンドも見当たりません。" ただし、C言語のチュートリアルであれば、どのようなものでもよいでしょう。 Aleksey Vyazmikin 2016.04.15 11:10 #15532 Alexey Kozitsyn: ただし、C言語のチュートリアルであれば、どのようなものでもかまいません。返信ありがとうございました!しかし、リンク先が分かりにくいですね...。すぐには解らないのですが......掲示板に投稿する前にヘルプでこの文章を拝見しました。私の理解が正しければ、%dはゼロがあっても無視し、%Gはゼロを切り捨てずに値を出力するのでしょうか。私はバカではないのですが、ヘルプが理解できず、理解しないと文字列がうまく動かない理由がわからないのです......。 削除済み 2016.04.15 11:31 #15533 -Aleks-:返信ありがとうございました!しかし、リンク先が分かりにくい...。すぐには解らないのですが......掲示板に投稿する前にヘルプでこの文章を拝見しました。私の理解が正しければ、%dはゼロがあっても無視し、%Gはゼロを切り落とさずに値を出力するのでしょうか?バカじゃないんだけど、ヘルプが理解できないし、理解できないと文字列がうまく動かないのも理解できないし...。 私は仕事でこの機能を使うことはありませんが、自分で簡単な実験をすることは難しくないと思います。 Artyom Trishkin 2016.04.15 12:04 #15534 -Aleks-:返信ありがとうございました!しかし、リンク先が分かりにくい...。すぐには解らないのですが......掲示板に投稿する前にヘルプでこの文章を拝見しました。私の理解が正しければ、%dはゼロがあっても無視し、%Gはゼロを切り落とさずに値を出力するのでしょうか?バカじゃないんだけど、ヘルプが理解できないし、理解できないと文字列がうまく動かないのも理解できないし...。こちらを ご覧ください。 Aleksey Vyazmikin 2016.04.15 12:06 #15535 Alexey Kozitsyn: 私は仕事でこの機能を使うことはありませんが、皆さんも簡単な実験をすることができるのではないでしょうか。しかし、私は......調べたし、使ってはいるのですが、仕様に合わないので、正確な構文がわからないんです%[フラグ][幅][.精度][{h|l|ll|I32|I64}]タイプすべてのパラメータを使用できないことは、ヘルプファイルには記載されていません。そして何より、どこに構文の間違いがあるのかがはっきりしないので、もしかしたら指摘されたらもっと理解できるかもしれません。 Aleksey Vyazmikin 2016.04.15 12:28 #15536 Artyom Trishkin:こちらで お読みください。ありがとうございます。正しい情報を探してざっと読んでみると、最初の部分がテンプレートになっていて、それを間違えてしまったことが判明...。だろう?変数が入る場所、私の場合は配列のインデックス、double型のtimeとnumber、それから変数そのものを指定する必要がある、というようなことです。記事のロジックからすると、次のようになるはずです。for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G, PriceOpenSell[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES),i,PriceOpenSell[i]);それとも、また間違っているのでしょうか? Artyom Trishkin 2016.04.15 12:41 #15537 -Aleks-:ありがとうございます。正しい情報を探してざっと読んでみると、最初の部分がテンプレートになっていて、それを間違えてしまったことが判明...。だろう?変数が入る場所、私の場合は配列のインデックス、double型のtimeとnumber、それから変数そのものを指定する必要がある、というようなことです。記事のロジックからすると、次のようになるはずです。for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G, PriceOpenSell[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES),i,PriceOpenSell[i]);それとも、また間違っているのでしょうか?まあ、そこにはテンプレートについて非常に明確に書かれています。変数を挿入する場所には、テンプレート内で%記号が付けられています。テンプレート全体は、反転カンマで囲まれています。そして、テンプレート自体の後に、テンプレートで指定されている変数をカンマ区切りで列挙しています。テンプレートに書かれている順番で左から右へ順番に。また、変数の種類とその書式に関する仕様もすべて揃っています。ただ、「テンプレート上の文字列の書式設定」という見出しから、ちらっと目を通すのはやめましょう。 Aleksey Vyazmikin 2016.04.15 12:48 #15538 Artyom Trishkin:さて、テンプレートについては非常に明確です。変数が挿入される場所は、テンプレート内で%記号で示されています。テンプレート全体は、反転カンマで囲まれています。そして、テンプレート自体の後に、テンプレート内の変数をカンマで区切って列挙しています。テンプレートに書かれている順番で左から右へ順番に。また、変数の種類とその書式に関する仕様もすべて揃っています。ただ、「テンプレートによる文字列の書式設定」という見出しから、チラ見せずに読んでみてください。 テンプレートを引用して、変数を順に並べるという書き方なんですが、何がいけないんでしょうか? Artyom Trishkin 2016.04.15 12:59 #15539 -Aleks-: そのように書きました。反転カンマでテンプレート、変数の順番で書きました。何がいけないのでしょうか?"OpenSellTime[%index must be entered here] = %time, PriceOpenSell[%index] = %price" - このパターンでしょうか?その場合、このようになるはずです。"OpenSellTime[%i] = %I64u, PriceOpenSell[%i] = %.5f"値そのものは、カンマで区切って次に記載する。 ,i,OpenSellTime[i],i,PriceOpenSell[i]の合計です。printf("OpenSellTime[%i] = %I64u, PriceOpenSell[%i] = %.5f",i,OpenSellTime[i],i,PriceOpenSell[i]);...あのもし、私が何かを見逃していなければ...。 Maxim Khrolenko 2016.04.15 14:12 #15540 MQL4、DoubleToStr()、DoubleToString()。DoubleToStr()の第2引数に "Default 8 "を追加する。コード#property strict void OnStart() { Print("1) DoubleToStr(0.123456789) = ",DoubleToStr(0.123456789)); Print("2) DoubleToString(0.123456789) = ",DoubleToString(0.123456789)); }ログでは、それらの結果は = 0.12345679 となり、つまり、この関数は値を丸めます。これについては、もっと書いてもいいと思うし、せめて型の例をそこに置いてもいいと思うんです。 string value1=DoubleToStr(1.28473418, 5); // содержимое строки value1 - "1.28473" string value2=DoubleToStr(1.28473418, 3); // содержимое строки value2 - "1.285"丸め誤魔化しているように見える。 1...154715481549155015511552155315541555155615571558155915601561...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
他のスレッドで回答が得られなかったので、ここで質問を繰り返しますが、もしかしたらこれが参考になるかもしれません
"
私の間違いが何なのか、教えてください。
for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES)," PriceOpenSell[%d] = %G",i,PriceOpenSell[i]);
OpenSellTime配列の日付は表示されず、式の2番目の部分であるPriceOpenSellは表示されません。
また、%Gや%dなどのprintf コマンドも見当たりません。
"
ただし、C言語のチュートリアルであれば、どのようなものでもかまいません。
返信ありがとうございました!しかし、リンク先が分かりにくいですね...。すぐには解らないのですが......掲示板に投稿する前にヘルプでこの文章を拝見しました。
私の理解が正しければ、%dはゼロがあっても無視し、%Gはゼロを切り捨てずに値を出力するのでしょうか。私はバカではないのですが、ヘルプが理解できず、理解しないと文字列がうまく動かない理由がわからないのです......。
返信ありがとうございました!しかし、リンク先が分かりにくい...。すぐには解らないのですが......掲示板に投稿する前にヘルプでこの文章を拝見しました。
私の理解が正しければ、%dはゼロがあっても無視し、%Gはゼロを切り落とさずに値を出力するのでしょうか?バカじゃないんだけど、ヘルプが理解できないし、理解できないと文字列がうまく動かないのも理解できないし...。
返信ありがとうございました!しかし、リンク先が分かりにくい...。すぐには解らないのですが......掲示板に投稿する前にヘルプでこの文章を拝見しました。
私の理解が正しければ、%dはゼロがあっても無視し、%Gはゼロを切り落とさずに値を出力するのでしょうか?バカじゃないんだけど、ヘルプが理解できないし、理解できないと文字列がうまく動かないのも理解できないし...。
私は仕事でこの機能を使うことはありませんが、皆さんも簡単な実験をすることができるのではないでしょうか。
しかし、私は......調べたし、使ってはいるのですが、仕様に合わないので、正確な構文がわからないんです
%[フラグ][幅][.精度][{h|l|ll|I32|I64}]タイプ
すべてのパラメータを使用できないことは、ヘルプファイルには記載されていません。そして何より、どこに構文の間違いがあるのかがはっきりしないので、もしかしたら指摘されたらもっと理解できるかもしれません。
こちらで お読みください。
ありがとうございます。正しい情報を探してざっと読んでみると、最初の部分がテンプレートになっていて、それを間違えてしまったことが判明...。だろう?
変数が入る場所、私の場合は配列のインデックス、double型のtimeとnumber、それから変数そのものを指定する必要がある、というようなことです。記事のロジックからすると、次のようになるはずです。
for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G, PriceOpenSell[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES),i,PriceOpenSell[i]);
それとも、また間違っているのでしょうか?
ありがとうございます。正しい情報を探してざっと読んでみると、最初の部分がテンプレートになっていて、それを間違えてしまったことが判明...。だろう?
変数が入る場所、私の場合は配列のインデックス、double型のtimeとnumber、それから変数そのものを指定する必要がある、というようなことです。記事のロジックからすると、次のようになるはずです。
for(int i=0;i<N_Sell;i++) printf("OpenSellTime[%d] = %G, PriceOpenSell[%d] = %G",i,TimeToString(OpenSellTime[i],TIME_DATE|TIME_MINUTES),i,PriceOpenSell[i]);
それとも、また間違っているのでしょうか?
まあ、そこにはテンプレートについて非常に明確に書かれています。変数を挿入する場所には、テンプレート内で%記号が付けられています。テンプレート全体は、反転カンマで囲まれています。そして、テンプレート自体の後に、テンプレートで指定されている変数をカンマ区切りで列挙しています。テンプレートに書かれている順番で左から右へ順番に。
また、変数の種類とその書式に関する仕様もすべて揃っています。ただ、「テンプレート上の文字列の書式設定」という見出しから、ちらっと目を通すのはやめましょう。
さて、テンプレートについては非常に明確です。変数が挿入される場所は、テンプレート内で%記号で示されています。テンプレート全体は、反転カンマで囲まれています。そして、テンプレート自体の後に、テンプレート内の変数をカンマで区切って列挙しています。テンプレートに書かれている順番で左から右へ順番に。
また、変数の種類とその書式に関する仕様もすべて揃っています。ただ、「テンプレートによる文字列の書式設定」という見出しから、チラ見せずに読んでみてください。
そのように書きました。反転カンマでテンプレート、変数の順番で書きました。何がいけないのでしょうか?
"OpenSellTime[%index must be entered here] = %time, PriceOpenSell[%index] = %price" - このパターンでしょうか?
その場合、このようになるはずです。
"OpenSellTime[%i] = %I64u, PriceOpenSell[%i] = %.5f"値そのものは、カンマで区切って次に記載する。
の合計です。
...あのもし、私が何かを見逃していなければ...。
MQL4、DoubleToStr()、DoubleToString()。DoubleToStr()の第2引数に "Default 8 "を追加する。
コード
ログでは、それらの結果は = 0.12345679 となり、つまり、この関数は値を丸めます。これについては、もっと書いてもいいと思うし、せめて型の例をそこに置いてもいいと思うんです。
丸め誤魔化しているように見える。