エラー、バグ、質問 - ページ 951 1...944945946947948949950951952953954955956957958...3185 新しいコメント w1sp 2013.03.30 16:08 #9501 MQL5でパラメータ数が可変の関数を書くことは可能ですか?例えば、StringConcatenate(...)やPrint(...)のような感じでしょうか? Snaf 2013.03.30 18:02 #9502 skteks:MT5に付属しているストラテジーテスターで、標準のExpertMACD Expert Advisorをテストしたところ、エラーが発生しました。2013.03.30 19:18:09 Core 2の遺伝子のパス(0, 15)をテストしましたが、エラー「OnInit failed」が46msで発生しました。2013.03.30 19:18:08 Core 1の遺伝子のパス(0, 13)をテストしましたが、エラー「OnInit failed」が32msで発生しました。2013.03.30 19:18:07 Core 2の遺伝子のパス(0, 5)をテストしましたが、エラー「OnInit failed」が0msで発生しました。検索してみると、モジュールにエラーがあることがわかりました。"SignalMACD "のFastとSlow MACDの期間を最適化する場合(ストラテジーテスターのパラメータでチェックを入れる場合)。このような問題に遭遇した方はいらっしゃいますか、またその対処法は?(ティックが1つしかないときはどうにか動くが、2つのティックを確認するとすぐにエラーが発生する)スローとファストの変化幅を変えて設定する。エラーが消えます。無視すればいいんです。 Dmitriy Parfenovich 2013.03.30 18:04 #9503 w1sp: MQL5でパラメータ数が可変の関数を書くことは可能ですか?例えば、StringConcatenate(...)やPrint(...)のような感じでしょうか? はい、できます。関数のオーバーロードと 呼ばれるものです。 Snaf 2013.03.30 18:07 #9504 w1sp: MQL5で、パラメータ数が可変の関数を書くことは可能ですか?例えば、StringConcatenate(...)やPrint(...)のような感じでしょうか?例えば、パラメータの数と同じ大きさの配列をパラメータとして作ることができます。 w1sp 2013.03.30 18:33 #9505 StringConcatenateの ようにパラメータを可変にすることに興味があります。次のような感じです。 string Concatenate(string s, ...); これは可能でしょうか? Snaf 2013.03.30 21:20 #9506 w1sp: StringConcatenateのようにパラメータを可変にすることに興味があります。次のようなものです。 string Concatenate(string s, ...); 可能でしょうか?同様のことが可能です。関数に渡すことのできるパラメータは最大64個です。void OnStart() { string s1=Foo("5"); string s2=Foo("5","t"); // string s=Foo(,"5"); // Ошибка } //+------------------------------------------------------------------+ string Foo(string i0="", string i1="", string i2="") { string rez=i0+i1+i2; return rez; } w1sp 2013.03.30 21:52 #9507 Snaf:同様のことが可能です。関数に渡すことのできるパラメータは最大64個です。そして、オーバーロードすることによってのみ、すべての引数に任意の型を得ることができるのですね。つまり、文字列だけでなく、例えばdoubleも関数に渡すことができる。 string s = Concatenate("abc",2.0, "def"); Snaf 2013.03.30 22:26 #9508 w1sp:そして、すべての引数の任意の型は、オーバーロードによってのみ達成されるのですか?つまり,文字列だけでなく,例えば double も渡すことができる。 string s = Concatenate("abc",2.0, "def");void OnStart() { //string s1=Foo("5"); // Это теперь ошибка. Компилятор не знаек какой функцией из двух пользоваться string s2=Foo("5",3.0); // string s=Foo(,"5"); // Ошибка } //+------------------------------------------------------------------+ string Foo(string i0="", string i1="", string i2="") { string rez=i0+i1+i2; return rez; } string Foo(string i0="", double i1=2.0, string i2="") { string rez; if (i1>2.0) {rez=i0+i2;} else rez=i0+"99"+i2; return rez; } w1sp 2013.03.31 06:44 #9509 Snaf: ありがとうございます。了解です。文字列型の 64個の引数を持つ関数を作り、最初の引数以外にはデフォルト値を追加すれば十分です。 Документация по MQL5: Основы языка / Типы данных / Тип string www.mql5.com Основы языка / Типы данных / Тип string - Документация по MQL5 aps 2013.03.31 18:49 #9510 こんにちは。MT5のビルドをアップグレードしたところ、テスターではインジケーターが正常に表示されなくなり、ターミナル自体では正常に表示されるようになりました。このインジケータはかなり複雑でリソースを必要とするため(ZUP)、MT4からMT5へ翻訳しています。テスターでは、Bild 756 ZigZag ラインは、Bild 770 - ZigZag 価格値は正しいですが、タイムフレームは正しくありません(シフト、均等 ではない)ZigZag - 出力バッファの後にテスターで正常に表示されています。同時に、グラフィックオブジェクト(三角形、直線など、ちなみに出力バッファのデータ(ZigZagも))に基づいている)も正常に表示されます。よろしくお願いします。 1...944945946947948949950951952953954955956957958...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MT5に付属しているストラテジーテスターで、標準のExpertMACD Expert Advisorをテストしたところ、エラーが発生しました。
2013.03.30 19:18:09 Core 2の遺伝子のパス(0, 15)をテストしましたが、エラー「OnInit failed」が46msで発生しました。
2013.03.30 19:18:08 Core 1の遺伝子のパス(0, 13)をテストしましたが、エラー「OnInit failed」が32msで発生しました。
2013.03.30 19:18:07 Core 2の遺伝子のパス(0, 5)をテストしましたが、エラー「OnInit failed」が0msで発生しました。
検索してみると、モジュールにエラーがあることがわかりました。"SignalMACD "のFastとSlow MACDの期間を最適化する場合(ストラテジーテスターのパラメータでチェックを入れる場合)。
このような問題に遭遇した方はいらっしゃいますか、またその対処法は?(ティックが1つしかないときはどうにか動くが、2つのティックを確認するとすぐにエラーが発生する)
スローとファストの変化幅を変えて設定する。エラーが消えます。無視すればいいんです。
MQL5でパラメータ数が可変の関数を書くことは可能ですか?例えば、StringConcatenate(...)やPrint(...)のような感じでしょうか?
MQL5で、パラメータ数が可変の関数を書くことは可能ですか?例えば、StringConcatenate(...)やPrint(...)のような感じでしょうか?
例えば、パラメータの数と同じ大きさの配列をパラメータとして作ることができます。
StringConcatenateのようにパラメータを可変にすることに興味があります。次のようなものです。 string Concatenate(string s, ...); 可能でしょうか?
同様のことが可能です。関数に渡すことのできるパラメータは最大64個です。
同様のことが可能です。関数に渡すことのできるパラメータは最大64個です。
そして、オーバーロードすることによってのみ、すべての引数に任意の型を得ることができるのですね。つまり、文字列だけでなく、例えばdoubleも関数に渡すことができる。 string s = Concatenate("abc",2.0, "def");
そして、すべての引数の任意の型は、オーバーロードによってのみ達成されるのですか?つまり,文字列だけでなく,例えば double も渡すことができる。 string s = Concatenate("abc",2.0, "def");