記事"Expert AdvisorプログラミングにおけるMQL5標準トレードクラスライブラリの使用"についてのディスカッション - ページ 2 1234 新しいコメント 削除済み 2011.02.01 00:49 #11 Trolls:入札が印刷されないのはなぜですか?以下は作業ログです。 2011.01.31 20:20:18 00 (eurusd,m1) eurusd 0コード my_symbol.Refresh();の代わりにmy_symbol.RefreshRates();を使ってください。するとうまくいきます! Trolls 2011.02.01 09:17 #12 -Alexey-: "my_symbol.Refresh() "の代わりに "my_symbol.RefreshRates() "を使ってください。そうすればうまくいきます!ありがとうございます。これは開発者かヘルプを書いている人への質問でしょう。記事にはmysymbol.Refresh() リフレッシュするために使用されます。 シンボルのすべてのデータ シンボルのすべてのデータを更新するために使用されます。クラスに新しいシンボル名を指定すると、自動的に呼び出されます。mysymbol.RefreshRates() 相場を更新するのに使用。新しいシンボルが設定されると、自動的に呼び出されます。1.すべてのデータではないことが判明。2.新しいシンボルを指定することと、新しいシンボルを設定することの違いは何ですか?3.自動的にという言葉がよくわかりません。my_symbol.Name(_Symbol)というコマンドでシンボルを設定したようなのですが、更新が行われませんでした。 Yedelkin 2011.02.25 21:53 #13 Trolls:記事にはこうある。mysymbol.Refresh() すべてのデータをリフレッシュするために使用される。 すべてのデータ シンボルのすべてのデータを更新するために使用されます。クラスに新しいシンボル名が指定されると、自動的に呼び出されます。mysymbol.RefreshRates() 相場を更新するために使用されます。新しいシンボルが設定されると、自動的に呼び出されます。1.すべてのデータ?2.新しい文字を指定することと、新しい文字を設定することの違いは何ですか?3.自動的にという言葉がよくわかりません。my_symbol.Name(_Symbol)というコマンドでシンボルを設定したようなのですが、更新が行われませんでした...。記事の著者や参考書の著者からの回答を待たなくてもいい、貴重な瞬間だ :)RefreshRates()は SymbolInfoTick() 関数と完全に重複しており、「指定されたシンボルの現在の価格をMqlTick 型の変数に返す」 関数であることは、ソースコードを見れば十分わかる。 したがって、著者が「相場の更新について」と言っているのは、実際にはMqlTick型の変数の値の更新について言っているのである。2.ソースコードにこのような行がある。void Name(string name) { m_name=name; Refresh();} これは、Name()関数を呼び出すと、Refresh()関数だけが自動的にアクティブになることを示しています。Name()関数を呼び出すとRefreshRates()関数が自動的に起動するという情報は見つかりませんでした。従って、"今日現在"、Name()関数のシンボルを変更しても、RefreshRates()関数は自動的に起動しないことが判明した。MqlTick型の変数("refresh quotes")の値を独立して強制的に更新しなければならない。 Yedelkin 2011.02.25 22:16 #14 Trolls:ビッドが表示されないのはなぜですか?以下は作業ログです 2011.01.31 20:20:18 00 (EURUSD,M1) EURUSD 0コードvoid OnTick() { my_symbol.Name(_Symbol); my_symbol.Refresh(); Print(_Symbol," ",my_symbol.Bid()); } Bidの値が0と表示される理由は以下の通りです。ソースコードを見ると、Bid()関数は以下の行で記述されています。 double Bid() const { return(m_tick.bid);} このように、Bid()関数の値は、MqlTick 型の変数の要素の1つの値にバインドされています。そしてこの変数は、シンボルが変更されたときに自動的に更新されるのではなく、RefreshRates()関数の追加呼び出しによって更新されます。あなたのコードでは、Refresh()関数が呼び出され、実際には(Name()関数のボディを考慮して)2回呼び出され、RefreshRates()関数は1回も呼び出されません。 削除済み 2011.02.26 04:22 #15 おそらく、Refresh() の最後の部分にRefresh()の呼び出しを 追加することで、コードを改善できるだろう 。 Yedelkin 2011.02.26 07:26 #16 Interesting: おそらく、Refresh() の最後の部分に RefreshRates ()コールを 追加することで、コードを改善することができるでしょう 。Name()関数にRefreshRates() コールを追加しました。しかしそれでも、これらは個々のユーザーのニーズに合わせたパッチです。 削除済み 2011.02.26 08:37 #17 Yedelkin: Name()関数にRefreshRates() コールを追加した。しかし、それでもなお、これらは個々のユーザーのニーズに対するパッチである。しかし、もし開発者が他の場所にRefresh()を置くなら(彼らの裁量で)、それはほとんどのユーザーにとって普通の解決策になるでしょう。 もしRefreshが全てのデータを更新 すると言うのであれば、全てのデータは本当に更新されるべきです。IMHO Yedelkin 2011.02.26 11:44 #18 Interesting:しかし、開発者がそれをRefresh()や他の場所に(彼らの裁量で)置けば、ほとんどのユーザーにとって普通の解決策になるだろう。 もしRefreshがすべてのデータを更新 すると言うのであれば、本当にすべてのデータが更新されるべきです。IMHO それに異論はない。しかし、それでも、ユーザーにとっての普通の解決策は、 利用可能な デザインとそのプロパティの明確で理解しやすい説明 でしょう。そうすれば、ユーザー自身がこれらの構成要素の使い方を理解することができます。そして、そのような解決策は様々な理由から実現が難しいので、自分自身や他の人に追加の質問をする人が前に進むでしょう :) 削除済み 2011.02.26 12:37 #19 Yedelkin: それに異論はない。しかし、それでも、ユーザーにとっての通常の解決策は、 利用可能な デザインとその特性についての明確で理解しやすい説明 だろう。そうすれば、これらの構造をどのように使うかは、ユーザー自身が考えることになる。そして、そのような解決策は様々な理由から実現が難しいので、自分自身や他の人に追加的な質問をする人が前に進むことになる)僕は標準ライブラリは 勉強のためにしか使わないからわからない。自分のプロジェクトはすべて自分のコンポーネントで書いている。コンストラクタがもっと便利になるまで待って、それから標準ライブラリは完全にあきらめるよ...。 Документация по MQL5: Стандартная библиотека www.mql5.com Стандартная библиотека - Документация по MQL5 Yedelkin 2011.02.26 18:11 #20 ところで、CHistoryOrderInfo クラスには次のような行がいくつかあることがわかった。return(FormatType(str,Type())); ... FormatType(type,Type()) しかし、このクラスにはType()関数がない。 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
入札が印刷されないのはなぜですか?
以下は作業ログです。
2011.01.31 20:20:18 00 (eurusd,m1) eurusd 0
コード
"my_symbol.Refresh() "の代わりに "my_symbol.RefreshRates() "を使ってください。そうすればうまくいきます!
ありがとうございます。
これは開発者かヘルプを書いている人への質問でしょう。
記事には
mysymbol.Refresh()
リフレッシュするために使用されます。 シンボルのすべてのデータ シンボルのすべてのデータを更新するために使用されます。クラスに新しいシンボル名を指定すると、自動的に呼び出されます。
mysymbol.RefreshRates()
相場を更新するのに使用。新しいシンボルが設定されると、自動的に呼び出されます。
1.すべてのデータではないことが判明。
2.新しいシンボルを指定することと、新しいシンボルを設定することの違いは何ですか?
3.自動的にという言葉がよくわかりません。my_symbol.Name(_Symbol)というコマンドでシンボルを設定したようなのですが、更新が行われませんでした。
記事にはこうある。
mysymbol.Refresh()
すべてのデータをリフレッシュするために使用される。 すべてのデータ シンボルのすべてのデータを更新するために使用されます。クラスに新しいシンボル名が指定されると、自動的に呼び出されます。
mysymbol.RefreshRates()
相場を更新するために使用されます。新しいシンボルが設定されると、自動的に呼び出されます。
1.すべてのデータ?
2.新しい文字を指定することと、新しい文字を設定することの違いは何ですか?
3.自動的にという言葉がよくわかりません。my_symbol.Name(_Symbol)というコマンドでシンボルを設定したようなのですが、更新が行われませんでした...。
記事の著者や参考書の著者からの回答を待たなくてもいい、貴重な瞬間だ :)RefreshRates()は SymbolInfoTick() 関数と完全に重複しており、「指定されたシンボルの現在の価格をMqlTick 型の変数に返す」 関数であることは、ソースコードを見れば十分わかる。 したがって、著者が「相場の更新について」と言っているのは、実際にはMqlTick型の変数の値の更新について言っているのである。
2.ソースコードにこのような行がある。
これは、Name()関数を呼び出すと、Refresh()関数だけが自動的にアクティブになることを示しています。Name()関数を呼び出すとRefreshRates()関数が自動的に起動するという情報は見つかりませんでした。従って、"今日現在"、Name()関数のシンボルを変更しても、RefreshRates()関数は自動的に起動しないことが判明した。MqlTick型の変数("refresh quotes")の値を独立して強制的に更新しなければならない。ビッドが表示されないのはなぜですか?以下は作業ログです 2011.01.31 20:20:18 00 (EURUSD,M1) EURUSD 0
コード
Bidの値が0と表示される理由は以下の通りです。ソースコードを見ると、Bid()関数は以下の行で記述されています。
このように、Bid()関数の値は、MqlTick 型の変数の要素の1つの値にバインドされています。そしてこの変数は、シンボルが変更されたときに自動的に更新されるのではなく、RefreshRates()関数の追加呼び出しによって更新されます。あなたのコードでは、Refresh()関数が呼び出され、実際には(Name()関数のボディを考慮して)2回呼び出され、RefreshRates()関数は1回も呼び出されません。
おそらく、Refresh() の最後の部分に RefreshRates ()コールを 追加することで、コードを改善することができるでしょう 。
Name()関数にRefreshRates() コールを追加した。しかし、それでもなお、これらは個々のユーザーのニーズに対するパッチである。
しかし、もし開発者が他の場所にRefresh()を置くなら(彼らの裁量で)、それはほとんどのユーザーにとって普通の解決策になるでしょう。
もしRefreshが全てのデータを更新 すると言うのであれば、全てのデータは本当に更新されるべきです。IMHO
しかし、開発者がそれをRefresh()や他の場所に(彼らの裁量で)置けば、ほとんどのユーザーにとって普通の解決策になるだろう。
もしRefreshがすべてのデータを更新 すると言うのであれば、本当にすべてのデータが更新されるべきです。IMHO
それに異論はない。しかし、それでも、ユーザーにとっての通常の解決策は、 利用可能な デザインとその特性についての明確で理解しやすい説明 だろう。そうすれば、これらの構造をどのように使うかは、ユーザー自身が考えることになる。そして、そのような解決策は様々な理由から実現が難しいので、自分自身や他の人に追加的な質問をする人が前に進むことになる)
僕は標準ライブラリは 勉強のためにしか使わないからわからない。自分のプロジェクトはすべて自分のコンポーネントで書いている。
コンストラクタがもっと便利になるまで待って、それから標準ライブラリは完全にあきらめるよ...。
ところで、CHistoryOrderInfo クラスには次のような行がいくつかあることがわかった。
return(FormatType(str,Type())); ... FormatType(type,Type())しかし、このクラスにはType()関数がない。