エラー、バグ、質問 - ページ 2797

 
Roman:

2530

構造体の3つ目のアタッチメントでは、インテリセンスは表示されません。

インテリセンスのインテリジェンスは、これからも進化し続けます ))


一芸に秀でる

 
Nikolai Karetnikov:

インテリセンスのインテリジェンスは、これからも進化し続けます ))

一芸に秀でる

私の投稿は入れ子構造に関するもので、3つ目の入れ子ではインテリセンス選択が表示されません。

そして、表示されないので、構造体に戻って、どのようなフィールドがあるのかを調べなければなりません。イマイチ
直してほしいです。

例の件ですが、MQLの標準的な関数であれば、ヒントは明確です。
ツールチップがわからない場合は、機能にカーソルを合わせてF1キーを押してください。

 
Mihail Matkovskij:

例題のObjectDeleteAll関 数を最初に代入してください。

そしてインジケーターへ。

私の プロジェクトでは、ObjectDeleteAllを 使うのが簡単であることがわかりました。すべてのオブジェクトを削除するには、プレフィックスを3回変更し、ObjectDeleteAllを 3回呼び出すだけでよかったのです。その結果、チャートはクリアなものになりました。MQL5言語は微妙なところが多いんです。しかし同時に、非常によく考えられた言語であるとも言えます。

この問題を解決するために協力してくれた皆さん、ありがとうございました。

またまた出ましたね。

    trend = new CChartObjectTrend();
    if(trend.Create(0, "trend"+(string)i, 0, time[shift], low[shift], time[shift], high[shift]))
      listOfTrendLines.Add(trend);
    else
      delete trend;

漏れる可能性のある穴。Add() メソ ッドが返すものを見てみましょう。

(テストなんだからチェックはいいんだろうけど、作成結果をチェックするなら加算結果をチェックすればいいじゃん?未来への規律)
 
Artyom Trishkin:

もう一度、ここにありますね。

漏れる可能性のある穴。Add() メソ ッドが返すものを見てみましょう。

(テストだからチェックに十分なのはわかるが、作成結果をチェックするなら、足し算の結果もチェックしたらどうだ?未来への規律)

じゃあ、こうしてくれ。

    trend = new CChartObjectTrend();
    if(trend.Create(0, "trend"+(string)i, 0, time[shift], low[shift], time[shift], high[shift])) {
      if(!listOfTrendLines.Add(trend))
        delete trend;
    }
    else
      delete trend;

それだけです。今は穴がないんですか?

実はこれ、テストプログラムなんですが、ちゃんと役目を果たしてくれました。それ以外のものは必要ないんです。うまくいっていれば、もっと違うアプローチやコンセプトがあるはずです。エラーメッセージは、各クリティカルポイントから、行番号(__LINE__)と関数名(__FUNCTION__)が表示されます ...だから、デバッグも使わなくていい時もあるんです。モジュール名、行番号、関数名...を見るだけです。

 

皆さん、こんにちは。問題は以下の通りです...

アップデート後、デスクトップにもルートフォルダにも、MT5ターミナルのショートカットがなくなってしまいました。再インストールした。PCを再起動すると、履歴が繰り返されました。何が問題なのか?どなたかお困りの方はいらっしゃいませんか?

 
Artyom Trishkin:

もう一度、ここにありますね。

漏れる可能性のある穴。Add() メソ ッドが返すものを見てみましょう。

(テストなのでチェックには十分だと理解していますが、作成結果をチェックするのであれば、足し算の結果もチェックしてはどうでしょうか。未来への規律)

また、どのような場合にlistOfTrendLines.Addが失敗する可能性がありますか?ただ、知らないだけなんです。私は、「無駄なチェックはしない」(c)という、その原則を守っていますが。しかし、仮にパラノイアになる可能性も想定 されます。Ok、グラフィカルオブジェクトクラスのCreateメソッドが失敗することがあります。しかし、コードが正しく書かれ、プログラムがオブジェクトに正常な名前を与えていれば、常に正しく動作します。しかし、その使い方に失敗することがあるとすれば......。しかし、通常の状態でAddメソッドが偽のオブジェクトを返すことができるのはなぜでしょうか。また、ArrayResize関数(ちなみにこのメソッドで使われています)は、new_sizeと異なる結果を返すことができるのでしょうか?メモリが足りなければ別ですが...。:)しかし、最近のデバイスで、これほどまでにメモリが不足しているものをどこで見たことがありますか?:)

 
Mihail Matkovskij:

どのような場合にlistOfTrendLines.Addが失敗する可能性がありますか?私が意識していないだけです。私は「無駄なチェックはしない」という原則を貫いていますが(C)。しかし、仮にパラノイアになる可能性も想定 されます。Ok、グラフィカルオブジェクトクラスのCreateメソッドが失敗することがあります。しかし、コードが正しく書かれ、プログラムがオブジェクトに正常な名前を与えていれば、常に正しく動作します。しかし、その使い方に失敗することがあるとすれば......。しかし、通常の状態でAddメソッドが偽のオブジェクトを返すことができるのはなぜでしょうか。また、ArrayResize関数(ちなみにこのメソッドで使われている)は、どのようにしてnew_sizeと異なる結果を返すことができるのでしょうか?メモリが足りなければ別ですが...。:)しかし、メモリが不足するような最新のシステムをどこで見たのでしょうか?:)

Vpsは通常。
P.s. Alexeiは最初に正しいアドバイスをした人だし、とにかく彼はあなたを助けたのだから、あなたはAlexeiに不公平だと思う。
 
Mihail Matkovskij:

例題のObjectDeleteAll関 数を最初に代入してください。

そしてインジケーターへ。

私の プロジェクトでは、ObjectDeleteAllを 使うのが簡単であることがわかりました。すべてのオブジェクトを削除するには、プレフィックスを3回変更し、ObjectDeleteAllを 3回呼び出せばよいのです。その結果、チャートはクリアなものになりました。MQL5言語は微妙なところが多いんです。しかし同時に、非常によく考えられた言語であるとも言えます。

この問題を解決するために協力してくれた皆さん、ありがとうございました。

ドキュメントをご覧になったのでしょうか、それとも私の投稿から機能説明を引用されただけなのでしょうか。

トレンドのあるグラフィックオブジェクトしか持っていないのではと思うほどです。その場合、なぜプリフィックスが必要なのでしょうか?オブジェクトタイプによる削除もあります

int  ObjectsDeleteAll(
   long  chart_id,            // идентификатор графика
   int   sub_window=-1,       // индекс окна
   int   type=-1              // тип объекта для удаления
   );

そのため、プロジェクト内で何かを変更する必要はなく、ただ単に

ObjectsDeleteAll(0, 0, OBJ_TREND);
)))))))))))))
 
Aleksei Beliakov:
Vpsは通常。
P.s. あなたはアレクセイを不当に扱っているように思えますが、彼は最初に正しいアドバイスをした人であり、とにかくあなたを助けてくれた人なのです。

どこに不公平感があるのか、お恥ずかしい話ですが......?私はアレクセイでいいと思う。親戚なんですか?

 
Alexey Viktorov:

ドキュメントを見たのか、それとも私の投稿から関数の説明を鵜呑みにしたのか、疑問です。

トレンドのあるグラフィカルなオブジェクトしか持っていないのではないでしょうか?その場合、なぜプリフィックスが必要なのでしょうか?オブジェクトタイプによる削除もあります

ということで、プロジェクト内で何も変更する必要はありません。

)))))))))))))

これはあくまで特殊なケースです。接頭辞は一般的かつ普遍的なものです。さらに、すべてのトレンド ラインを削除すると、プログラムに属さないオブジェクトにも影響が及びます。