"ダミー "からの質問 - ページ 100

 
220Volt:

こんにちは。ダブルの最後のビットが歪むという現象がありますが、どのような条件が揃えばそのような歪みが発生するのか、教えてください。オペレーションに歪みはないか=?doubleに整数を格納する場合、歪みが発生する可能性がありますか?オペレーションをしながら?

x=M_PI;
y=sqrt(x);
y=y*y;

ディストーションのバリエーションとは?
 

アドバイスをお願いします。ストップロステイクプロフィット、または保留中の注文が 手動(端末)で 設定、変更、削除されたかどうかをプログラム(OnTrade() 関数内)で確認する方法はありますか?そして、難しいことでなければ、短い例です。

現在、この操作はログとして記録され、ディレクトリD:³³にあるファイルに書き込まれます。そのため、プログラム的に読み取ることができない。

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
tol64:

アドバイスをお願いします。ストップロステイクプロフィット、または保留中の注文が 手動で 設定、変更、削除された場合、プログラム上(OnTrade() 関数内)で確認する方法はありますか?(ターミナル手段で) そして、難しいことでなければ、短い例です。

この関数は、以前から特定のリストが変更されたときに、パラメータがないイベントを処理していました。すべて同じであれば、注文を手動で設定するかどうかにかかわらず、設定、変更、削除のイベントを処理しなければならないことが判明した。これでよいのでしょうか?もし正しければ、各トレードイベントのチケット(イベントが注文を参照している場合)を探してみて、もしそのようなチケットがプログラム的に設定されていないことが分かれば、その運命を追跡することができます。こんな感じです。
 
Yedelkin:
以前は、特定のリストが変更されたときにイベントを処理する関数で、パラメータはありませんでした。すべて同じであれば、注文が手動で設定されているかどうかに関係なく、設定、変更、削除のイベントを受信する必要があることがわかります。これでよいのでしょうか?もし正しければ、各トレードイベントのチケット(イベントが注文を参照している場合)を探してみて、もしそのようなチケットがプログラム的に設定されていないことが分かれば、将来的にその運命を追跡することができます。こんな感じです。
はい、その通りです。ただし、私の理解では、そのイベントがトレードに関連している場合に限ります。手動モードでの注文の変更のイベントをプログラムで追跡できるかどうかを調べる必要があります。
 
tol64:
はい、すべて正しいのですが、私の理解では、イベントがトレードに関連している場合のみです。手動モードでの注文変更イベントをプログラムで追跡することが可能かどうかを調べる必要があります。

いやいや、緊急にドキュメントを読んでください :)あるいはもっと良い記事もあります。お得情報一覧は全リストの一部に過ぎません。事象が違うはずだということですが......ただ、私自身はずいぶん前に読んだので、忘れてしまっているかもしれません。

Expert AdvisorにおけるOnTrade()関数によるトレードイベントの処理」と題した 記事と、Roche氏が執筆した「MetaTrader 5におけるトレードイベント」と題した 記事です。

 
Yedelkin:

いやいや、緊急にドキュメントを読んでください :)少なくともその部分は、そこそこ明確でした。トランザクションリストは、すべてのリストの一部に過ぎません。だから、イベントも違うはずなんです。

さらに嬉しいことに、この機能に関する記事と、トレードイベントに関するロシュの記事がありました(タイトルに間違いがなければ)。

))OnTrade() では、このようにイベントを定義して管理しています。

deal_entry_indeal_entry_outdeal_entry_inout

また、これらのイベントの1つが単なる取引なのか、保留中の注文が発生したのか、どのような保留中の注文なのかを判断することができます。また、新しいポジションなのか、すでにあるポジションの増減なのかについても。

---

注文の変更を検出する方法がわからない。私もドキュメントでその例を見たことがありません。ヒントが欲しい。開発者からのシンプルなヒントです。そのような可能性はあるのでしょうか、ないのでしょうか。そして、この可能性が実現するのかしないのか、この疑問を払拭するため、あるいは他の巧妙な方法で解決しようとするためです。:)

---

また、ドキュメントには「トレードの 種類」という項目があります。しかし、これらのイベントは、プログラム的に 行われたものであれば、特定することができます。

 
Yedelkin:

...

この関数に関する記事 OnTrade()関数を使ったEAでのトレードイベントの処理」です。

この記事で、私が疑問に思っていたことがわかりました。一度読んだことがあるが、すっかり忘れていた。:)
 
tol64:
この記事で、私が求めていたものが見つかりました。一度読んだが、すっかり忘れていた。:)

だいたい1ヶ月もすると微妙なところは忘れてしまうんです。だから、再読ばかりしている。ハンドブックや記事の一部を読みました :)

もう一つ、「...SLとTPの変化は変わらない...OnTradeイベントも発生せず、SLとTPのフィールドを上書きするだけ(オープンポジションの場合と同様 )」という表現も有効かもしれませんね。しかし、私自身はその方法を見つけられていません。

 
tol64:
はい、その通りです。ただし、私の理解では、そのイベントがトレードに関連している場合に限ります。注文変更イベントを手動モードでプログラム的に追跡できるかどうかを調べる必要があります。
少なくとも注文の設定と削除は処理されますが、パラメータがないと全てが面倒です。変化については何とも言えませんが、これもアイデア次第でどうにでもなるはずです。
tol64 です。
この記事で、私が求めていたものが見つかりました。一度読んだが、すっかり忘れてしまった。:)
さっそく考えてみました。そこに書かれているソリューションは、私たちが望むような理想的でエレガントなものではないのかもしれませんが(特にパラメータがまだ不足していることを考えると)、原理的にはすべての基本を備えていると言えるでしょう。
 

mt4ではmarketinfoコマンドがありましたが、mt5ではありません。

SymbolInfoDouble(Symbol(),SYMBOL_ASK) の方向に進み、ここではSymbol()の 値で操作する必要があるという前提があるのですが、どうすればいいのかがわかりません。