初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 25

 
fyords:

はい、設定されていますが、トリガーされると......。

例えば、保留中の注文が あり、その価格が現在の価格と1ポイント違っていた場合、次のティックで価格が1ポイントではなく、例えば3~5ポイント跳ね上がり、その結果、誤った価格で注文が開始されることになります。わかりやすい例では、ギャップがあります。

それとも、私が質問を理解しておらず、頭が悪いのでしょうか。

ここで、私はOrderGetTicketの 仕組みをかなり誤解しています。この関数は false と true を交互に返すので、間違った値段で注文が出されたと考えても、単に false を返せばよいのです。しかし、それは交互に ...


UPD:一般的に、問題は、価格パッシングのNormalizeDoubleを忘れていたにあった。いつも通り:)機能そのものは問題なく動作します。


 
を書くことが可能かどうか教えてください。
 if (OrderTicket=OrderGetTicket(i)) {//Возвращает тикет соответствующего ордера и автоматически выбирает ордер

この関数は、オーダーが選択されていない場合、ゼロを与えるか?

つまり、イコールがダブルでない場合は、単純に、比較ではなく、こちらの割り当てになるのでは?ゼロはノーと同じではないか?

その場ではエラーが出なかったのですが、後から「自分の書いたものが理解できていなかったんだ!」と気づきました。

 
Dimka-novitsek:
を書くことが可能かどうか、教えていただけませんか?

この関数は、オーダーが選択されていない場合、ゼロを与えるか?

つまり、イコールがダブルでない場合は、単純に、比較ではなく、こちらの割り当てになるのでは?ゼロはノーと同じではないか?

その場ではエラーが出なかったのですが、後から「自分の書いたものが理解できていなかったんだ!」と気づきました。

この式は正しいです。関数の説明には、失敗したらゼロを返すと書いてあります。falseの場合は0とする。だから、構成は問題ないでしょう。

もう一つは、取引機能は非常に高速で、あるティックに注文を出したら、次のティックにはすでに履歴に残っているため、この構文は非常に頻繁に(常にではありませんが)偽を返します。

このコードは、すでに発注されたがまだ実行 されていない注文をチェックする。OnTradeTransaction()関数は、それらを監視するのに適しています。

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
ありがとうございます!
 
クラス、仮想関数をどう扱えばいいのかわからない。読んで、読んで、読んで・・・。もう1時間も前から、初めてではない。なんとなく重く、わかりにくく、そして何より新しくて斬新な用語がちりばめられて書かれているので、リンクをたどっていくだけでいい。ここでは、(クラスや構造体は明示的なコンストラクタとデストラクタを持つことができる)と書かれています。 コンストラクタとデストラクタを見てみると、(コンストラクタは構造体オブジェクトやクラスを作るときに自動的に呼ばれる特別な関数で、通常はクラスのメンバーを初期化 するために使われる)と書かれています。つまり、よくわからないのです。
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
Dimka-novitsek:
クラス、仮想関数をどう扱えばいいのかわからない。読書、読書、読書、読書1時間、しかも初めてではない。何となく重々しく、理解しにくいように書かれていて、メインは新奇な用語で埋め尽くされている--リンクをたどればいいのだ。クラスや構造体は明示的なコンストラクタとデストラクタを持つことができる)と書いてある コンストラクタとデストラクタを見てみる コンストラクタは構造体オブジェクトやクラスを作るときに自動的に呼ばれる特別な関数で、通常はクラスのメンバを初期化 するために使われる)と書いてある つまり、よくわからないのです。

コンストラクターとは、クラスオブジェクトの生成時に自動的に呼び出される関数で、オブジェクトを初期化 するために使用されます。

はっきりしないのなら、私は無力だ。

 
ありがとうございました。わかりました。これからサッカーをしに行きます。帰ってきて荷造りして聞いてみる。聞いてみる。仮想関数って 何?いつでも好きなときに実行できるのか?ダイナミックという言葉は?
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Виртуальные функции
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Виртуальные функции
  • www.mql5.com
Основы языка / Объектно-ориентированное программирование / Виртуальные функции - Документация по MQL5
 

だから仮想関数 に対してどの関数定義を呼び出すかの選択は動的(実行時)であると書かれています。

括弧内にある関数定義は、つまり、機械に特定のことをするように命令していますよね?しかし、ここでは、機械そのものが、私の友人のヴァシャのように、好きなときに好きなことをするのだとわかりましたか?本当に、もう100回くらい読んだフレーズなんですが、理解できないんです。理解できない!例題をじっくりと丁寧に読んでみようと思います...。

そして、クラスについて読み始めたのです。そこから理解するために、私は関数について書いているのだ!と。

 
Dimka-novitsek:

だから仮想関数 に対してどの関数定義を呼び出すかの選択は動的(実行時)であると書かれています。

括弧内にある関数定義は、つまり、機械に特定のことをするように命令していますよね?しかし、ここでは、機械そのものが、私の友人のヴァシャのように、好きなときに好きなことをするのだとわかりましたか?本当に、もう100回くらい読んだフレーズなんですが、理解できないんです。頭を叩ける!例題をじっくりと丁寧に読んでみようと思います...。

そして、クラスについて読み始めたのです。そこから理解するために、私は関数について書いているのだ!と。

冗談だろう?

適切な質問をすることを学べば、ほとんどの質問をする必要はなくなります。

仮想関数が 意味を持つのは、継承の場合だけです。

継承のコツは、(継承が進むと)多くのクラスにコードを分散できることだけではありません。

が、動的な 祖先オブジェクトを最初に宣言し、それを子孫として定義解除することができる点です。

例えば、あるオブジェクトをグローバルに宣言する必要があるが、宣言時点では、そのオブジェクトがどのようなクラスであるべきかという知識は存在しない。そして、共通の祖先からクラスを継承し、祖先の動的オブジェクトをグローバルスコープで宣言し、そのオブジェクトが属するべきクラスが決まったらnew演算子で再定義しています。

dynamicに下線を引いているのは、staticなクラスではできないことで、staticなものは即座に完全に定義されるからです。

 
なるほど、すぐにはピンとこないが、何かが伝わってくる。ありがとうございます。もしよろしければ、ついでにお聞きします。
理由: