エラー、バグ、質問 - ページ 49 1...424344454647484950515253545556...3185 新しいコメント Mykola Demko 2010.07.16 02:07 #481 なぜコンパイラはintとcolorの違いを見抜けないのでしょう。 void CreateLabel(int x,int y,color COLOR); void CreateLabel(int x,int y,int n);機能を再定義すると、叱られる(ペダルの混在に注意と)。'CreateLabel' - ambiguous call to overloaded function with the same parameters デフォルトのパラメータがあればいいのですが、曖昧さがないので、渡されたパラメータの型を定義して先に進むだけです。 Sergey Gritsay 2010.07.16 02:15 #482 Urain:なぜコンパイラはintとcolorの違いを見抜けないのでしょう。機能をオーバーライドすると、悪態をつく(ペダルが混ざらないように注意と書いてある)。 デフォルトのパラメータがあればいいのですが、曖昧さがないので、渡されたパラメータの型を定義して行けばいいのです。 この場合、コンパイラは、同じ名前の関数を2つ作ったことに文句を言っているのであって、渡されたパラメータは何の関係もないのです。 Mykola Demko 2010.07.16 02:42 #483 sergey1294: この場合、コンパイラは「同じ名前の関数を2つ作ったが、渡したパラメータは関係ない」と文句を言います。その場合、「オーバーロード」という言葉の意味を読んでください。SZだけでなく、「関数のオーバーロード」。 Документация по MQL5: Основы языка / Функции / Перегрузка функций www.mql5.com Основы языка / Функции / Перегрузка функций - Документация по MQL5 削除済み 2010.07.16 07:55 #484 Urain:エラーやバグではなく、誰が何を提案できるのか、ライティングの友に質問です...。クラス内のポインタの名前を取得したいのですが、うまくいきません。一般的に、問題の本質は、グラフィカル・オブジェクトの string-nameが自動的に割り当てられたかったということです。自動的に文字列名を取得したい。クラスメソッドからグラフィカルオブジェクトをインストールする場合、カーソルに応じた名前を自動的に割り当てる必要があります。まだやり方が分からないので、一からやり直せばいいと思うんです。理論的には、オブジェクトに自動的に名前を付ける方法は主に2つあります(実装する場合は、様々なバリエーションがあります)。1.名前の生成は、番号付きリストに基づいて行われます別のクラスがオブジェクトの命名を行い、「分子」(すべてのオブジェクト用か、特定のオブジェクトのグループ用かのどちらか)を管理します。この場合、名称は、(好ましくは)オブジェクトの種類、シンボルの名称(通貨ペア)、TFのテキスト表記、オブジェクトのシリアル番号(分子より取得)を基に形成される。この場合、実装によっては、チャート上のオブジェクトの存在を追跡できる場合とそうでない場合があります。2.名前は、オブジェクトの作成日時に基づいて形成される。この方法による名称は、オブジェクトタイプ、シンボル名、テキスト表記TF、キー(日付と時刻を基にした表記)を基に形成することができる。追記最初のバリエーションでは(私の意見では)、クラスとオブジェクト管理のフルサイクル(作成、変更、削除)で実装する方が合理的だと思うのですが......。 Sergey Gritsay 2010.07.16 08:43 #485 Urain:その場合、「オーバーロード」の意味を読んでください。ZS さて、「関数のオーバーロード」と同様に。 そんなことがあるんですね。 削除済み 2010.07.16 10:16 #486 sergey1294: こんなことができるなんて知らなかった。ポリモーフィズムと関数のオーバーロードは、自尊心のある言語には必ずあるべき、基本的なOOPの原則です。ポリモルフィズムポリモーフィズムとは、同じ名前の関数(メソッド)が、どのクラスオブジェクトを使ってメソッドを呼び出すかによって、異なるプログラムコード(ポリモーフィックコード)に対応する現象である。ポリモーフィズムは、祖先クラスのメソッドの実装を子孫クラスで変更し、メソッドのシグネチャを 強制的に保持することで確保されます。これにより、親クラスのインターフェイスが 変更されることなく保持され、異なるクラスのコードでメソッド名をリンクすることが可能になります - 与えられた名前のメソッドは、呼び出し元のクラスのオブジェクトから取得されます。このメカニズムは、コンパイル時に行われる静的な(早い)バインディングとは対照的に、動的な(または遅い)バインディングと呼ばれています。関数のオーバーロード手続きや関数のオーバーロード:プログラミング言語において、手続きや関数という同じ名前のサブプログラムを使用する機能。トレードクラスの標準ライブラリ、クラスCAccountInfo からの例です。double MarginCheck(const string symbol,ENUM_POSITION_TYPE trade_operation,double volume) const; double MarginCheck(const string symbol,ENUM_ORDER_TYPE trade_operation,double volume) const; Slava 2010.07.16 10:20 #487 ddd06: 尊敬するMetaQuotesに長い時間をかけて相談し、不具合があることを証明したところ、「不具合はない」と言われました。 しかし、私は自分の意見を貫き、「コミュニティに聞いてみたらどうか」とアドバイスされました。 そこで、インジケータと、インジケータの値を取得するExpert Advisorを用意しました。 EURUSDのテスターを2010年07月01日から2010年07月02日までМ1で起動します。 ログを見ると、一方のバッファの値が変化し、もう一方のバッファの値は変化していないことがわかる。 これが1時間続き、その後2番目のバッファが生きているのですが、インジケーターの値を見ると一致していません。 アカウントを変えて履歴を再ポンプしてみたりもしましたが、それでもダメでした。 私のターミナルへのリンクは、rar 90mbhttp://dl.dropbox.com/u/6290215/MetaTrader%205%201111.rar、 すべてそこにセットアップされています。 そして、添付ファイルのアドバイザーを使ったインジケーター エラーが発生したコードを送信しました。当然ながら、間違った情報を出しているのはあなたのコードです。間違いを正すという私たちの指摘を無視し、毎回新しいコードを提示し、その都度、間違いを指摘する。 Ilyas 2010.07.16 10:40 #488 Urain:なぜコンパイラはintとcolorの違いを見抜けないのでしょう。機能をオーバーライドすると、悪態をつく(ペダルが混ざらないように注意と書いてある)。 OK、デフォルトのパラメータもあるだろうが、曖昧さはなく、渡されたパラメータの型を定義して進めばいいだけだ。 本当に問題があるのですね、調べます。 Ilyas 2010.07.16 11:17 #489 Urain さん、メッセージありがとうございます。誤記を修正しました。 ddd06 2010.07.16 14:00 #490 stringo: エラーとなるコードを提供しています。当然ながら、これはあなたのコードが間違った情報を与えているのです。同時に、エラー修正に関する私たちのコメントも無視し、毎回新しいコードを提示し、その都度エラーを出していますね。 しかし、もし「同期を取らずに、コードに組み込むべきだ」と言われたら...。 それどころか、頑なに「全部一致する」と言い続けましたね。 ただし、TimeToString(time[0],TIME_DATE|TIME_MINUTES)," buf1-",buf1[1]," buf2-",buf2[1]) を除く。の代わりに TimeToString(time[1],TIME_DATE|TIME_MINUTES)," buf1-",buf1[1]," buf2-",buf2[1]) を指定します。 これは確かにエラーですが、ポイントには影響しませんでした。 もう一度、指標を作って、自分がどれだけ間違っていたかを確認します。 つまり、すべてが一致し、Expert Advisorのコードを修正したと言うことですね。しかし、実際には何も一致せず、インジケータのコードを修正する必要があります(同期を統合するため)。 1...424344454647484950515253545556...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
なぜコンパイラはintとcolorの違いを見抜けないのでしょう。
機能を再定義すると、叱られる(ペダルの混在に注意と)。
デフォルトのパラメータがあればいいのですが、曖昧さがないので、渡されたパラメータの型を定義して先に進むだけです。なぜコンパイラはintとcolorの違いを見抜けないのでしょう。
機能をオーバーライドすると、悪態をつく(ペダルが混ざらないように注意と書いてある)。
デフォルトのパラメータがあればいいのですが、曖昧さがないので、渡されたパラメータの型を定義して行けばいいのです。この場合、コンパイラは「同じ名前の関数を2つ作ったが、渡したパラメータは関係ない」と文句を言います。
その場合、「オーバーロード」という言葉の意味を読んでください。
SZだけでなく、「関数のオーバーロード」。
エラーやバグではなく、誰が何を提案できるのか、ライティングの友に質問です...。
クラス内のポインタの名前を取得したいのですが、うまくいきません。
一般的に、問題の本質は、グラフィカル・オブジェクトの string-nameが自動的に割り当てられたかったということです。
自動的に文字列名を取得したい。
クラスメソッドからグラフィカルオブジェクトをインストールする場合、カーソルに応じた名前を自動的に割り当てる必要があります。
まだやり方が分からないので、一からやり直せばいいと思うんです。
理論的には、オブジェクトに自動的に名前を付ける方法は主に2つあります(実装する場合は、様々なバリエーションがあります)。
1.名前の生成は、番号付きリストに基づいて行われます
別のクラスがオブジェクトの命名を行い、「分子」(すべてのオブジェクト用か、特定のオブジェクトのグループ用かのどちらか)を管理します。
この場合、名称は、(好ましくは)オブジェクトの種類、シンボルの名称(通貨ペア)、TFのテキスト表記、オブジェクトのシリアル番号(分子より取得)を基に形成される。
この場合、実装によっては、チャート上のオブジェクトの存在を追跡できる場合とそうでない場合があります。
2.名前は、オブジェクトの作成日時に基づいて形成される。
この方法による名称は、オブジェクトタイプ、シンボル名、テキスト表記TF、キー(日付と時刻を基にした表記)を基に形成することができる。
追記
最初のバリエーションでは(私の意見では)、クラスとオブジェクト管理のフルサイクル(作成、変更、削除)で実装する方が合理的だと思うのですが......。
その場合、「オーバーロード」の意味を読んでください。
ZS さて、「関数のオーバーロード」と同様に。
こんなことができるなんて知らなかった。
ポリモーフィズムと関数のオーバーロードは、自尊心のある言語には必ずあるべき、基本的なOOPの原則です。
ポリモルフィズムポリモーフィズムとは、同じ名前の関数(メソッド)が、どのクラスオブジェクトを使ってメソッドを呼び出すかによって、異なるプログラムコード(ポリモーフィックコード)に対応する現象である。ポリモーフィズムは、祖先クラスのメソッドの実装を子孫クラスで変更し、メソッドのシグネチャを 強制的に保持することで確保されます。これにより、親クラスのインターフェイスが 変更されることなく保持され、異なるクラスのコードでメソッド名をリンクすることが可能になります - 与えられた名前のメソッドは、呼び出し元のクラスのオブジェクトから取得されます。このメカニズムは、コンパイル時に行われる静的な(早い)バインディングとは対照的に、動的な(または遅い)バインディングと呼ばれています。
関数のオーバーロード手続きや関数のオーバーロード:プログラミング言語において、手続きや関数という同じ名前のサブプログラムを使用する機能。
トレードクラスの標準ライブラリ、クラスCAccountInfo からの例です。
尊敬するMetaQuotesに長い時間をかけて相談し、不具合があることを証明したところ、「不具合はない」と言われました。
しかし、私は自分の意見を貫き、「コミュニティに聞いてみたらどうか」とアドバイスされました。
そこで、インジケータと、インジケータの値を取得するExpert Advisorを用意しました。
EURUSDのテスターを2010年07月01日から2010年07月02日までМ1で起動します。
ログを見ると、一方のバッファの値が変化し、もう一方のバッファの値は変化していないことがわかる。
これが1時間続き、その後2番目のバッファが生きているのですが、インジケーターの値を見ると一致していません。
アカウントを変えて履歴を再ポンプしてみたりもしましたが、それでもダメでした。
私のターミナルへのリンクは、rar 90mbhttp://dl.dropbox.com/u/6290215/MetaTrader%205%201111.rar、 すべてそこにセットアップされています。
そして、添付ファイルのアドバイザーを使ったインジケーター
なぜコンパイラはintとcolorの違いを見抜けないのでしょう。
機能をオーバーライドすると、悪態をつく(ペダルが混ざらないように注意と書いてある)。
OK、デフォルトのパラメータもあるだろうが、曖昧さはなく、渡されたパラメータの型を定義して進めばいいだけだ。エラーとなるコードを提供しています。当然ながら、これはあなたのコードが間違った情報を与えているのです。同時に、エラー修正に関する私たちのコメントも無視し、毎回新しいコードを提示し、その都度エラーを出していますね。
しかし、もし「同期を取らずに、コードに組み込むべきだ」と言われたら...。
それどころか、頑なに「全部一致する」と言い続けましたね。
ただし、TimeToString(time[0],TIME_DATE|TIME_MINUTES)," buf1-",buf1[1]," buf2-",buf2[1]) を除く。の代わりに TimeToString(time[1],TIME_DATE|TIME_MINUTES)," buf1-",buf1[1]," buf2-",buf2[1]) を指定します。
これは確かにエラーですが、ポイントには影響しませんでした。
もう一度、指標を作って、自分がどれだけ間違っていたかを確認します。
つまり、すべてが一致し、Expert Advisorのコードを修正したと言うことですね。しかし、実際には何も一致せず、インジケータのコードを修正する必要があります(同期を統合するため)。