記事"MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 取引サーバから返されたエラーの処理"についてのディスカッション - ページ 2 12 新しいコメント Igor Ryabchikov 2019.12.22 16:00 #11 Artyom Trishkin:マジックナンバーの値に記録されている情報について: を使用すると、グループごとに異なるマジックを使用して、異なるグループを作成することができます。例えば、アドバイザーのマジックナンバーが123の場合、第1グループのマジックナンバーは124、第2グループのマジックナンバーは125、第3グループのマジックナンバーは126というようになります。 各サブグループの番号はマジックナンバーの値に直接格納されます。次に、EAのマジックナンバーもグループ識別子ですが、MagicIDという独立したグループ(EAのマジックナンバー識別子)に入ります。さらに2つのグループがある。それぞれに15のサブグループがある。そして、それぞれのサブグループは独自の識別子を持つことができる。これにより、グループを扱う際の柔軟性が 増します。例: 保留注文のグリッドを価格の後ろに移動させたい場合、サブグループ 1 のグループ 1 に追加します。グループ1は価格の後ろに移動します。サブグループ1はMAに沿って移動します。次に、パラボリックSARによって価格の後ろに移動する注文(グループ1)を移動させます。サブグループ2を指定します。すると、グループ1は価格の後に移動しますが、サブグループ1はMAで移動し、サブグループ2はパラボリックSARで移動します。注文はトリガーされ、ポジションに変わります。ストップロスを修正するために独自のグループを設定し、異なる値で修正するためにこのグループに独自のサブグループを設定することができます。修正アルゴリズムはサブグループに書かれています。一般的に - 空想の飛行。簡単なマジックを使用することもできますが、異なるグループを追跡するロジックを自分で考案する必要があります。つ目の質問について:CSelectクラスがあります。これはプログラムから利用可能で、既存のすべてのコレクション(Account、Event、Order、Symbol)から、あなたが書いている選択と検索のメソッドを提供します。各コレクションのオブジェクトを、すべての条件に基づいてリストに選択することができます。作成されたリストでは、基準を絞り込んで再選択することができ、選択基準の最大値と最小値を見つけることができます。しかし、すべてのコレクションのすべてのプロパティに迅速かつ便利にアクセスし、それらを検索するためのカスタム関数(ずっと後)がさらにあります。 しかし、今のところは、CSelectを通してのみ、必要なときに必要なだけ利用できる。このクラスは静的なので、メソッドへのアクセスは ":::" で行う。例えば、CSelect::ByOrderProperty()。そうそう、ところで、テストEAには、プログラム内での使用例があります: CSelectはわかったのですが、集計値が必要な場所ごとに選択しなければならないことがわかりました:例えば、トレーリングするためにポジションのグリッドの合計利益を計算する必要があり、これは1つの関数です。そして別の場所では、例えば、注文の1つをオープン、またはクローズした後に、グリッドの総取引高を調整する。 さらに別のところでは、新しいグリッドをオープンするか、現在のグリッドを継続するかを決定する必要があります。 これらの値はすべて、一連のCSelectsで選択可能なリストを1回実行することで計算されます。しかし、さまざまな場所でそれらを必要とするため、毎回集計を開始し、ティックの開始時に再計算し、その後あらゆる場所でそれらを使用する必要があります。 このような構造をライブラリに追加し、シンボル、マジック(グループ付き)、オーダータイプなどの選択基準で割り当てることができればいいと思った。 そして、単純な統計を収集させる。注文数、総取引量、総利益...ちなみに、注文のコレクションは、すでに選択されている。 そうでなければ、毎回補助構造体を作るか、CSelectsと各場所での反復のどちらかである。 Artyom Trishkin 2019.12.22 17:49 #12 rigal:CSelectはわかったが、集計値が必要な場所ごとに選択しなければならないことがわかった。例えば、ポジションのグリッドをトロールするために、そのグリッドの合計利益を計算する必要がある。また、例えば、注文の一つをオープンまたはクローズした後、そのグリッドの総取引高を調整する必要があり、そのためには総利益と総取引高が必要だ。また別のところでは、新しいグリッドをオープンするか、現在のグリッドを継続するかを決定する必要がある。これらの値はすべて、一連のCSelectsで選択可能なリストを1回実行することで計算されます。しかし、これらの値はさまざまな場所で必要とされるため、毎回集計を開始し、ティックの開始時に再計算し、その後あらゆる場所で使用する必要があります。このような構造をライブラリに追加し、シンボル、マジック(グループ付き)、オーダータイプなどの選択基準で割り当てることができればいいと思いました。そして、簡単な統計情報を収集できるようにした。注文数、総取引量、総利益......ちなみに、注文のコレクションは、すでにサンプリングしたものだ。そうでなければ、毎回補助構造体を作るか、CSelectsと各所での反復処理を行う。 また、ライブラリ自体の計算を重くするということですか?そこにはすでに計算すべきことがたくさんある。 あなたが提案することを、ライブラリではなくEAで直接やればいいじゃないか。どこで計算しても違いはない。しかし、それを必要とする人(あなた)とそうでない人がいる。なぜ不必要な計算が必要なのか? 毎回異なる関数で同じことを計算しないためには、Expert Advisorにグローバルリストを作成し、必要な情報をどこにでも置くことができるようにする必要があります。そして、別の関数で、必要なときだけ、これらのパブリックリストを取り出し、そこから関数の中だけで必要なデータを取得し、それを返します。 ライブラリーは、データのセットを提供し、このデータを任意の組み合わせで選択する可能性を与え、ゼロから行うには十分迅速でないタスクを解決するためのツールを提供します。 Igor Ryabchikov 2019.12.23 04:43 #13 Artyom Trishkin:ライブラリーでの計算自体を重くしろと?そこではすでに多くの計算が行われている。なぜ、あなたが提案することをライブラリではなくEAで直接行わないのですか?どこで計算しても大差はない。しかし、それを必要とする人(あなた)とそうでない人がいる。そして、なぜその人は余計な計算を必要とするのか?毎回異なる関数で同じことを計算しないためには、Expert Advisorにグローバルリストを作成し、必要な情報をどこにでも置くことができます。そして、別の関数で、必要なときだけ、これらのパブリックリストを取り出し、そこから関数の中だけで必要なデータを取得し、それを返します。 ライブラリーは、データのセットを提供し、このデータを任意の組み合わせで選択する可能性を提供し、ゼロから行うには十分迅速でないタスクを解決するためのツールを提供します。 さて、私はそれをオプションにすることを提案する。 サブスクリプション」を始めるのだ。 しかし、もしこのアイデアがあなたにとって検討に値しないようであれば、私は必ず自分でラッパーを書きます。 すでに行われたこと、そしてまだ計画中のすべてのことに改めて感謝します(ライブラリーの開発を継続する計画については、あちこちで予約に出会っています)。 Artyom Trishkin 2019.12.23 05:16 #14 rigal:まあ、オプションでカウントすることを勧めるよ。"サブスクリプション "を作る。しかし、もしこのアイデアが検討に値しないと思われるのであれば、私は必ず自分でラッパーを書きます。すでに完成しているものに改めて感謝します。そして、他にどのような計画があるにせよ、先を見据えてください(ライブラリの開発を続ける計画については、あちこちで留保を見てきました)。 計画には似たような機能があるだろう。そして、そう、まだたくさんの計画があるんだ。 Igor Ryabchikov 2019.12.24 07:19 #15 注視しているよ。) 12 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
マジックナンバーの値に記録されている情報について:
を使用すると、グループごとに異なるマジックを使用して、異なるグループを作成することができます。例えば、アドバイザーのマジックナンバーが123の場合、第1グループのマジックナンバーは124、第2グループのマジックナンバーは125、第3グループのマジックナンバーは126というようになります。
各サブグループの番号はマジックナンバーの値に直接格納されます。次に、EAのマジックナンバーもグループ識別子ですが、MagicIDという独立したグループ(EAのマジックナンバー識別子)に入ります。さらに2つのグループがある。それぞれに15のサブグループがある。そして、それぞれのサブグループは独自の識別子を持つことができる。
これにより、グループを扱う際の柔軟性が 増します。
例: 保留注文のグリッドを価格の後ろに移動させたい場合、サブグループ 1 のグループ 1 に追加します。グループ1は価格の後ろに移動します。サブグループ1はMAに沿って移動します。次に、パラボリックSARによって価格の後ろに移動する注文(グループ1)を移動させます。サブグループ2を指定します。すると、グループ1は価格の後に移動しますが、サブグループ1はMAで移動し、サブグループ2はパラボリックSARで移動します。
注文はトリガーされ、ポジションに変わります。ストップロスを修正するために独自のグループを設定し、異なる値で修正するためにこのグループに独自のサブグループを設定することができます。修正アルゴリズムはサブグループに書かれています。
一般的に - 空想の飛行。簡単なマジックを使用することもできますが、異なるグループを追跡するロジックを自分で考案する必要があります。
つ目の質問について:
CSelectクラスがあります。これはプログラムから利用可能で、既存のすべてのコレクション(Account、Event、Order、Symbol)から、あなたが書いている選択と検索のメソッドを提供します。
各コレクションのオブジェクトを、すべての条件に基づいてリストに選択することができます。作成されたリストでは、基準を絞り込んで再選択することができ、選択基準の最大値と最小値を見つけることができます。
しかし、すべてのコレクションのすべてのプロパティに迅速かつ便利にアクセスし、それらを検索するためのカスタム関数(ずっと後)がさらにあります。
しかし、今のところは、CSelectを通してのみ、必要なときに必要なだけ利用できる。このクラスは静的なので、メソッドへのアクセスは ":::" で行う。例えば、CSelect::ByOrderProperty()。
そうそう、ところで、テストEAには、プログラム内での使用例があります:
CSelectはわかったのですが、集計値が必要な場所ごとに選択しなければならないことがわかりました:例えば、トレーリングするためにポジションのグリッドの合計利益を計算する必要があり、これは1つの関数です。そして別の場所では、例えば、注文の1つをオープン、またはクローズした後に、グリッドの総取引高を調整する。
さらに別のところでは、新しいグリッドをオープンするか、現在のグリッドを継続するかを決定する必要があります。
これらの値はすべて、一連のCSelectsで選択可能なリストを1回実行することで計算されます。しかし、さまざまな場所でそれらを必要とするため、毎回集計を開始し、ティックの開始時に再計算し、その後あらゆる場所でそれらを使用する必要があります。
このような構造をライブラリに追加し、シンボル、マジック(グループ付き)、オーダータイプなどの選択基準で割り当てることができればいいと思った。
そして、単純な統計を収集させる。注文数、総取引量、総利益...ちなみに、注文のコレクションは、すでに選択されている。
そうでなければ、毎回補助構造体を作るか、CSelectsと各場所での反復のどちらかである。
CSelectはわかったが、集計値が必要な場所ごとに選択しなければならないことがわかった。例えば、ポジションのグリッドをトロールするために、そのグリッドの合計利益を計算する必要がある。また、例えば、注文の一つをオープンまたはクローズした後、そのグリッドの総取引高を調整する必要があり、そのためには総利益と総取引高が必要だ。
また別のところでは、新しいグリッドをオープンするか、現在のグリッドを継続するかを決定する必要がある。
これらの値はすべて、一連のCSelectsで選択可能なリストを1回実行することで計算されます。しかし、これらの値はさまざまな場所で必要とされるため、毎回集計を開始し、ティックの開始時に再計算し、その後あらゆる場所で使用する必要があります。
このような構造をライブラリに追加し、シンボル、マジック(グループ付き)、オーダータイプなどの選択基準で割り当てることができればいいと思いました。
そして、簡単な統計情報を収集できるようにした。注文数、総取引量、総利益......ちなみに、注文のコレクションは、すでにサンプリングしたものだ。
そうでなければ、毎回補助構造体を作るか、CSelectsと各所での反復処理を行う。
また、ライブラリ自体の計算を重くするということですか?そこにはすでに計算すべきことがたくさんある。
あなたが提案することを、ライブラリではなくEAで直接やればいいじゃないか。どこで計算しても違いはない。しかし、それを必要とする人(あなた)とそうでない人がいる。なぜ不必要な計算が必要なのか?
毎回異なる関数で同じことを計算しないためには、Expert Advisorにグローバルリストを作成し、必要な情報をどこにでも置くことができるようにする必要があります。そして、別の関数で、必要なときだけ、これらのパブリックリストを取り出し、そこから関数の中だけで必要なデータを取得し、それを返します。
ライブラリーは、データのセットを提供し、このデータを任意の組み合わせで選択する可能性を与え、ゼロから行うには十分迅速でないタスクを解決するためのツールを提供します。
ライブラリーでの計算自体を重くしろと?そこではすでに多くの計算が行われている。
なぜ、あなたが提案することをライブラリではなくEAで直接行わないのですか?どこで計算しても大差はない。しかし、それを必要とする人(あなた)とそうでない人がいる。そして、なぜその人は余計な計算を必要とするのか?
毎回異なる関数で同じことを計算しないためには、Expert Advisorにグローバルリストを作成し、必要な情報をどこにでも置くことができます。そして、別の関数で、必要なときだけ、これらのパブリックリストを取り出し、そこから関数の中だけで必要なデータを取得し、それを返します。
ライブラリーは、データのセットを提供し、このデータを任意の組み合わせで選択する可能性を提供し、ゼロから行うには十分迅速でないタスクを解決するためのツールを提供します。
さて、私はそれをオプションにすることを提案する。
サブスクリプション」を始めるのだ。
しかし、もしこのアイデアがあなたにとって検討に値しないようであれば、私は必ず自分でラッパーを書きます。
すでに行われたこと、そしてまだ計画中のすべてのことに改めて感謝します(ライブラリーの開発を継続する計画については、あちこちで予約に出会っています)。
まあ、オプションでカウントすることを勧めるよ。
"サブスクリプション "を作る。
しかし、もしこのアイデアが検討に値しないと思われるのであれば、私は必ず自分でラッパーを書きます。
すでに完成しているものに改めて感謝します。そして、他にどのような計画があるにせよ、先を見据えてください(ライブラリの開発を続ける計画については、あちこちで留保を見てきました)。