[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 157

 
wolf05632:
皆さんこんにちは!検索してみましたが、見つかりませんでした。長いコード行をいくつかの短いコードに分割する方法

例を挙げてください。

比較(if)であれば、bool型の 変数で、各条件を別行動で書き、最後のifでは変数だけを代入すればいいのです。

 

プロフェッショナル様、テスターでエラーが出ます。

err_invalid_function_paramvalue4051ファンクションパラメータの値が無効


以下は、ログファイル内のログです。

2011.09.08 20:40:02 2010.12.28 10:00 ロボット2 EURUSD,H1: 開く #277 買う 0.50 EURUSD at 1.32316 ok

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: OrderClose error 4051

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: OrderClose関数の チケットは無効です。

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: Close #276 buy 0.50 EURUSD at 1.32347 at price 1.32114.


つまり、その前も後も問題なく取引できるのです。どういう意味なのか、どうすれば修正できるのか、教えてください。

 
TheXpert:
ゼロを数えられないからMCは全端末をスルーするのか?

ガッカリ?これはバグであり、他のものと同じように修正されるべきものです。

アフト・ヴァズでは、おそらくあなたと同じような理由で、ドライバーは落ちている鉄片を集めるために車を追いかけるのが退屈で、そのために車全体を掘り返さなければならないのでは?

 
Xaoss1990:

プロの皆様、テスターがエラーを出します。

このエラーの意味を教えてください。
と書いてある

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1:OrderClose 関数のチケットは 無効です。
 
sergeev:
と書いてある



どういう意味ですか?クローズオーダー機能でオーダー番号が違う?I.e. 存在しない注文を決済しようとしているのでしょうか?
 
Xaoss1990:
これはどういうことでしょうか?注文を確定する機能の注文番号が違う?I.e.存在しないオーダーをクローズしようとしているのでは?

OrderClose()モジュールに一時的なAlertを追加し、その中に変数(チケット番号など)を入れて、ログでその値をチェックします。

 
chief2000:

例を挙げてください。

比較(if)であれば、bool変数-各条件を別行動で書き、最後のifには変数だけを入れる。




WARNING "の話をしているのです長い数式があるとする。VBAで、長い文字列を 2つに分割する場合、この文字列の有効な場所に_を記述する必要がある、とします。

で、残りの式は改行で追加することができます。

 
chief2000:

OrderClose()モジュールに一時的なAlertを追加し、そこに変数(チケット番号など)を入れて、ログでその値を確認します。



追加、こんな感じになりました。

2011.09.08 21:26:15 2010.01.13 11:00 Robot 2 EURUSD,H1: 開く #12 buy 0.10 EURUSD at 1.45027 ok.

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: close #12 buy 0.10 EURUSD at 1.45027 at 1.45083.

2011.09.08 21:26:15 2010.01.13 17:00 ロボット2 EURUSD,H1: アラート: OrderTicket() = 12, ロット = 0.1, ビッド = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: OrderClose関数の チケットが無効です。

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 ロボット2 EURUSD,H1: オープン #13 買い 0.10 EURUSD at 1.45243 ok

などなど...。

このエラーの原因は何なのか理解できません((

 
Xaoss1990:

追加しました、こんな感じです。

2011.09.08 21:26:15 2010.01.13 11:00 Robot 2 EURUSD,H1: 開く #12 buy 0.10 EURUSD at 1.45027 ok.

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: close #12 buy 0.10 EURUSD at 1.45027 at price 1.45083.

2011.09.08 21:26:15 2010.01.13 17:00 ロボット2 EURUSD,H1: アラート: OrderTicket() = 12, ロット = 0.1, ビッド = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: OrderClose 関数のチケットが無効です。

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 ロボット2 EURUSD,H1: オープン #13 買い 0.10 EURUSD at 1.45243 ok

などなど...。

このエラーが発生する原因がわかりません((

デバッグの方法を例示しましたが、その後、コードを整理する必要があります。

ここでは、あるケースでの解決例を紹介します。"OrderClose関数の無効なチケット" -https://www.mql5.com/ru/forum/100874

それでもダメなら、Googleがある。

 
chief2000:

デバッグの方法を例として挙げましたが、あとはコードを考えるだけです。

ここでは、あるケースでの解決策をご紹介します。"OrderClose関数の無効なチケット" -https://www.mql5.com/ru/forum/100874

それでもダメなら、Googleがある。

このエラー##4051の意味がわかりません。

err_invalid_function_paramvalue4051ファンクションパラメータの値が無効


どういう意味ですか?注文を確定する機能の注文番号が正しくない?I.e. 存在しない注文を決済しようとしているのでは?

注文がストップで閉じられると同時に出てくる。そして、ストップトリガーは...。

助けて、お願い...何日も悩んだ末に...。