MT5への願い - ページ 55

 
-Alexey-:

汎用性ということであれば、ポジションのボリュームを 小刻みに変えるだけでなく、ロット単位で変えられることが望ましい。すなわち、およそこのようなものです。

1) あるロットでポジションを開く: PositionOpen(...,lot,...); /この関数は曖昧でなく、変更しない、現在のままである/。

2) ポジションボリュームを変更(例:増加)。

a) PositionIncrease(..., 2, mode_lot_change,...) - ポジション量を2ロット増加させる。

b) PositionIncrease(..., 2, mode_multiply_change,...) - 位置の体積を2倍する; /倍で変更するのが便利な場合/...


CTradeには、ヘルプの「ポジションを使った操作」によると、一連のメソッドがあります。それは、ポジションのオープン、クローズ、ポジションのSLやTPの変更です。完成させることを提案します。ポジションを反転させるとは、現在のポジションよりも大きな出来高で反対売買を行い、オープンポジションの方向を逆転させることを意味します。ポジションを減らすとは、オープンポジションの数量を減らすことです。増やすというのは、その反対です。

Я за то чтобы в библиотеку включались универсальные вещи, которые устраивают всех (чтобы потом не пришлось переопределять функционал стандартных классов).

はい、これは非常に重要なポイントです。
PositionOpen()はCTradeクラスの汎用メソッドで、ポジションを開くだけでなく、既存のポジションの量を増やしたり、逆に減らしたりすることができます。追加する場合はポジションの方向、カットする場合はその反対方向、反転する場合はその反対方向に適切なorder_typeで呼び出すだけで、ボリュームを2倍にすることができます。
 
Valmars:
PositionOpen()はCTradeクラスの普遍的なメソッドで、ポジションを開くだけでなく、その量を増やしたり(減らしたり)、反転させたりすることができます。追加する場合はポジションの方向、カットする場合はその反対方向、反転する場合はその反対方向に適切なorder_typeで呼び出すだけで、ボリュームを2倍にすることができます。

同じ意味です。トリミングや反転のための特別な機能が必要かもしれませんが、明らかにCTradeにはありません(標準ライブラリについて話して いるのであれば)。

エキスパート」クラスのどれかについての質問なら、個人的には気にならない。

 

1.500分の1(できれば200分の1)のレバレッジを返してください。 私は2週間ほど前から、あなたからのこのようなプレゼントを待っていたのです。

2.もう一つ質問があります。私の口座が1:500で、テスターで利用可能な最大レバレッジが1:100の場合、テスターはどのようなパラメータを考慮するのでしょうか?

本当に本当に欲しいです

 
Valmars:
PositionOpen()はCTradeクラスの普遍的なメソッドで、ポジションを開くだけでなく、既存のポジションのサイズを大きく(小さく)したり、反転させたりすることができます。追加する場合はポジションの方向、必要量を切り詰める場合は反対方向、反転する場合は反対方向の2倍の量で、適切なorder_typeで呼び出すだけです。

例えば、あるポジションの体積を2倍にするためには、どうすればよいかを見てみましょう。

1) 空いているポジションがあるかどうかを判断する。

2)開放 位置の方向を決定する。

3)オープンポジションのボリュームを決定する。

4) 3倍の量の反対側のポジションを建てるために必要な資金を決定する(または同じポジションを先に決済し、その後2倍のポジションを建てる)。

5) 必要な資金があるかどうかを判断する。

6) 土地の最小倍率を決定する。

7)必要な体積に最も近い倍率の体積を求める。

8) 資金に余裕があることを再度確認する。

9) PositionModify で既存の位置から SL と TP を削除する。

10) 許容スリップ量を設定する。

11)反対側のポジションを開く。

12) 反転の結果生じる始値を決定する。

13) PositionModify で新しい SL と TP を設定する。


書いているうちに、何度か間違えてしまいました。


これは、何万人もの人が間違えながら何度も書き直さなければならないコードの一部です。図書館で一度だけできるのに、なぜ?

これは、誰もが派生クラスの新しいメソッドとして正しく認識できるわけではないコードです。開発者がちゃんとできるのに、なぜ?

不便なものです。1つの既製の関数PositionReverseと1つの文字列を使うことができるのに、なぜ山ほどのコードを書かなければならないのでしょうか?

同じ意味です。特殊なトリミングやフリップ機能を書く必要があるかもしれませんが、明らかにCTradeではありません(標準ライブラリについて話して いる場合)。

そして、一般ユーザーが利用でき、ヘルプに表示されるように、どこに?なぜCTradeではダメなのでしょうか(これらの方法で問題が起きないと仮定して)。

結局のところ、PositionOpenがなくても取引を開始することはできます。なぜ、クトレードにこの方式を導入したのでしょうか。このラッパーは、初心者のユーザーにはわからないことが多く考慮されているため、利便性を考えて導入されたのだと思います。

 
-Alexey-:

例えば、あるポジションの体積を2倍にするためには、どうすればよいかを見てみましょう。

1) 空いているポジションがあるかどうかを判断する。


3)オープンポジションのボリュームを決定する。

4) 3倍の量の反対側のポジションを建てるために必要な資金を決定する(または同じポジションを先に決済し、その後2倍のポジションを建てる)。

5) 必要な資金があるかどうかを判断する。

6) 土地の最小倍率を決定する。

7)必要な体積に最も近い倍率の体積を求める。

8) 資金に余裕があることを再度確認する。

9) PositionModify で既存の位置から SL と TP を削除する。

10) 許容スリップ量を設定する。

11)反対側のポジションを開く。

12) 反転の結果生じる始値を決定する。

13) PositionModify で新しい SL と TP を設定する。


これを書いている間にも、何度か失敗しています。


これは、何万人もの人が間違えながら何度も書き直さなければならないコードの一部です。図書館で一度だけできるのに、なぜ?

これは、派生クラスの新しいメソッドという形で、誰もが正しくオリエンできるわけではないコードです。開発者がちゃんとできるのに、なぜ?

不便なものです。1つの既製のPositionReverse関数と1行を使うことができるのに、なぜたくさんのコードを書くのでしょうか?

そして、一般ユーザーが利用でき、ヘルプに存在できるように、どこに?なぜSTradeではダメなのか(これらの方法で問題が起きないことを前提に)。

結局のところ、PositionOpenがなくても取引を開始することはできます。なぜ、クトレードにこの方式を導入したのでしょうか。このラッパーは、初心者のユーザーにはわからないことが多く考慮されているため、利便性を考えて導入されたのだと思います。

PositionOpen(...)でポジションを開くには、ボリューム、建値、SL、TPも指定し、これらのパラメータがすべて有効であることを確認する必要があるのですが、もしポジションを開くときにエラーが発生するようなことがないようにしたいのであれば、そのようにします。
ロールオーバーも同じです。まあ、「こんな記号の位置を逆にして」と指定すれば、すべて、4桁100点ずつ逆にしてもらえます。
より高いか低いか。嬉しくないかもしれませんね。
しかし、あなたの主張をひとつひとつ検証してみましょう。
1) 空いているポジションがあるかどうかを判断する。

これはやはり、ポジションを逆転させることを決める前にやらなければならないことだろうと思います。

2)オープンポジションの方向を 決定する。

これもフリップを決めたら必須だと思います。いずれにせよ、ポジションが決まれば、初歩的なことです。

3)オープンポジションのボリュームを決定する。

ポイント2と同様です。

4) 3倍の量の反対側のポジションを建てるために必要な資金を決定する(または、同じものを先に決済して、その後ダブルで建てる)。

リクエストを送る前に、資金が十分かどうか確認する。

5) 必要な資金があるかどうかを判断する。

ポイント4と組み合わせること。

6) ロットの最小倍率を決定する

もちろんです。

7) 必要な倍率に最も近い体積を決定する。

ポジションをオープンにしているのですね。したがって、この機能はすでに持っていることになります。あとは、関数を呼び出すだけです。

8)資金が十分かどうか、再度確認する。

標準的な方法です。

9) PositionModify で既存の位置から SL と TP を削除する。

必要ないでしょ。

10) 許容スリップ量を設定する。

もちろんです。小さい方が正確な入力ができますが、再入力は多くなります。

11)反対側のポジションを開ける。

ここで、PositionOpenを適用します。

12) 反転の結果生じる始値を決定する。

また、かなり初歩的なことです。ポジションを選択し直すだけです。

13) PositionModifyで新しいSLとTPを設定します。

すぐに計算して設定しなかった場合は、今すぐ設定することができます。

もし、どこかで間違えたり、何かを忘れたりしても、開発者が対処してくれます。まず、OrderCheck(m_request,m_check_result)関数を使ってリクエストパラメータの有効性をチェックし、エラーが発生した場合は、ジャーナルに対応するメッセージを表示してリクエストはサーバーに送られないようにします。

しかし、標準的な手法で、偏差、価格、出来高、ストップ高など、すべてを決めてしまうのはいかがなものでしょうか。

 
標準的な手法で、偏差、反転価格、出来高、ストップ高など、すべてをどのように処理したいのですか?<br /> translate="no">です。
偏差値付きの標準的なメソッドもまったく同じように動作します(私にとっては決定打です) - デフォルトでクラス内部に指定されています。つまり、オプションのパラメータであり、PositionOpenには存在しない。必要であれば、STrade.deviation...という特殊なメソッドを用いて変更されるが、 - 必要なときに、むしろ常に指定されるわけではない。これは便利です。CTradeにデフォルトで設定されている他のいくつかのパラメータについても同様です。

もちろん、ロール価格は、ストラテジーやユーザーが設定する。ただし、価格を変更した後は、スリッページやスプレッドが発生するため、確認が必要です。そのため、あらかじめ計算された(関数で指定された)ストップやプロフィットが異なる結果になることがあります。価格の話をしたのは、ロールオーバー機能でストップとプロフィットの新しい値が指定された場合(もし~ならチェックと設定は必要ない)、つまりそのためだけです。アルゴリズムは単純で、私が関与しなくても、ロールオーバー機能によって自動的に解決されます。これは便利です。

提案のようにオープンポジションが存在する場合、チェックなしで実行できるアクションが発生します。例えば、こんな感じです。

- 当該関数を呼び出す際に、買いか売りかを指定する必要はありません。なぜなら、プログラムは、反転、ショート、上昇のための取引の方向を 自動的に検出することができるからです。エラーチェックをするものがない。ここでは、関数呼び出しのパラメータを1つ減らしています(買い/売りなし)。便利ですか?はい、標準的な方法で解決しました。

- ポジションの数量が既知である場合、ユーザーの要求に応じて、Pivot または Reduce/Enlarge 機能が、最小ロットの最も近い倍数を使用して、既に知られている数量に関連して、指定したモード(ロット単位、または増分で)で必要な取引量を計算できることを意味します。これらは代表的な動作であり、一度だけプログラムすることができます。それらは主に、私が言っていることです。

正しさのチェックについては......おっしゃるとおり、自分でやるしかないようです。

まあ、「こんな字の位置を逆にして」と指定したら、それだけで4桁100ポイントも逆になってしまうわけですが

PositionOpenではこのようになります。しかし、そうならないように、必要に応じて、オプションのパラメータを指定することができます。これは、呼び出されたときです:停止とtake(オプションの関数パラメータ)、別々に偏差メソッドが呼び出される前に。すなわち、CTradeでは1)そのような状況からの保護が存在し、2)便利な設計になっています。ユーザーは、この全体の構造をどう作るかを考える必要はありません。そういうことなんです。ただ、スプレッドチェックがないのが残念です。
 

言及されているかどうかわかりませんが、MetaEditorでコードの一部を折りたたむことができるようにしてほしいのですが・・・。例えば、ブラケットからブラケットへ、for、functions など。

つまり、Visual Studioなどの プログラミング環境に実装された状態です。なぜなら、何かを探すために画面全体をスクロールするのに疲れてしまうことがあるからです...。

こうすることで、作業中のコードフラグメントだけをオープンにして、残りのコードは折りたたんでおくことができます...。

ありがとうございます...:-)

 
St0nE:

既出かどうかわかりませんが、MetaEditorでコードの一部を折りたたむことができるようにしてほしいのですが...。

と言われました。ここにプラス記号をつけることができますhttps://www.mql5.com/ru/forum/2931
 
ありがとうございます...チェックインして...:-)
 

MetaQuotes SoftwareがInternational Business Timesと長期パートナーシップ 契約を結んだという話題を見て、以前から提案したかったことを思い出した。

1.ニュース」タブのコンテンツメニューに「既読にする」項目を追加し、選択した複数のニュースアイテムに一度に適用できるようにしました(現在は、各ニュースアイテムを個別に開く必要があります)。これにより、「面白くない」ニュースをスキップして、新しいニュースを追跡することができるようになります。

2 MetaEditorで行っているような新着未読ニュース数のタブ表示ブックマーク

これは主要なタスクではないかもしれませんが、仕事に利便性を与える...