取引環境に対応する際の典型的な間違いとその対処法 - ページ 7

 
fxsaber:

それは曲がった論理だと思うんです。でも、もちろん間違っているかもしれません。その論理を聞いてみたいものです。

3フィート以上のアービトレーション

 
Комбинатор:

3フィート以上のアービトラージ

このTSには、さまざまなロジックを使用することができます。通常、3つの命令を非同期で送信します。しかし、実際、最も強いと思われるシンボルに対して、まず同期的にOrderSendを送るというバリエーションもある。そして、OrderSendがオープンポジションで 終了した場合、-最も可能性の低い2つのOrderSendAsync注文が送信されます。

このような状況では、最初の「ポジション」である成行注文が不完全であるかどうかを判断する仕組みが必要だと思われるかもしれません。しかし、最初のOrderSendでは、現在の価格かそれより少し悪い価格で指値注文が通ってしまう。したがって、それは「ポジション」とはみなされない。残りの2つは成行注文であることが多い。また、「ポジション」としてカウントすることで、ポジションを開き直すという事態を避けることができます。この場合、この会計は何のマイナス効果もありません。

 

結局のところ、私が理解するところでは、解決策はないでしょう。解決策でもなく、注文 数とポジション数で論理的に正しい動作原理を示す。

私はどのような戦略にも使用される関数について話している、他の人は言う - 各戦略のために - 異なる松葉杖を。

 
fxsaber:

この例は、よりクールであることがわかった。ブローカー自身が置いたTPがリダイレクトされた!そして、再登録後、ほとんどすぐに(115ミリ秒待っていた -MT5のバグだったらしい)、ブローカーは次のTPを置き、それが実行されたのです。注文へのコメントがスクリーンショットに表示されませんでした。緑色はORDER_REASON_TP です。従って、拒絶オーダーはORDER_POSITION_IDまで持って いる。

これは拒否注文ではなく、正常に満たされた注文が執行されたものです。実行すると、位置IDが取得される。

また、2つの注文があり、そのうちの1つは実行されていません。今問題なのは、(これらの注文がストップオーダーではなく、ポジションオーダーであった場合)、だから - あなたのアプローチは、あなたにどのように多くのポジションを返すのだろうか?答えは、「もう一つ、偽り」です。じゃあ、なんでそんなことするんだ?

 
Artyom Trishkin:

これは、もはや拒否注文ではなく、正常に満たされた-実行された注文です。実行されたときが、ポジションIDを受信したときです。

勘違いしていますね。


もう一つ、注文が2つあり、そのうちの1つは実行されませんでした。今問題なのは、(これらの注文がストップオーダーではなく、ポジションオーダーであった場合)、だから、あなたのアプローチは、あなたにどのように多くのポジションを返すのだろうか?答えは、「もう一つ、偽り」です。じゃあ、なんでそんなことするんだ?

もう1度、やり直そう。仮に2つのポジションが空いていたとします。そして、このような将来の成行注文を設定しましょう。この関数は2+1= 3を返すので、TSはポジションが3つあるとみなし、すべてOKである。16msでリジャケットになる。TSは、2+0=2、つまり3つのポジションを必要とすることを確認します。- は、別の成行注文を送信する。そして再び2+1= 3となり、3+0= 3となり、注文が実行される。

 
Artyom Trishkin:

一般的に、私が理解しているように - 解決策はないでしょう。解決策でもなく、注文 数とポジション数で論理的に正しい動作原理を示す。

私はどのような戦略にも使用される関数について話している、他の人は言う - 各戦略のために - 異なる松葉杖を。

私の考えは変わっていません。この機能は、99.9%のEAと取引プラットフォームで共通です。

 
fxsaber:

勘違いしていますね。


もう一度、確認しましょう。仮に2つのポジションが空いていたとします。そして、このような未来のマーケットオーダーを入れました。この関数は2+1= 3を返します。TSは3つの位置を見て、すべてOKです。16msでリジャケットになる。TSは、2+0=2、つまり3つのポジションを必要とすることを確認します。- は、別の成行注文を送信する。そして再び2+1= 3となり、3+0= 3となり、注文が実行される。

#896615 - 拒否され、IDポジションを持ちません。

別の言い方をしよう。仮に2つのポジションが空いていたとします。3つ目のポジションを開くシグナルを受け取り、トレードリクエストを送り、この逆成行注文を取得します。3つのポジションを持っている場合、EAは別のシンボルを使って他の取引要求を 送信するように切り替わります。TSは3つのポジションを見て数量を計算し、さらに3つのポジション(別のシンボル)を取り、ストップし、別のシンボルでオープンする取引注文を送信します。16ms後、もう一方のシンボルのリビッドが到着する。TSは、2(現在のポジション)+3(2つのポジションと他のシンボルからの1つのマーケット)=5 ポジションの数を調べます。そして、6になるはずです- 現在のシンボルに対して、全く異なる価格で別の成行注文を送信し、3番目のシンボルの新規ポジションの数量とテイクオフ/ストップを計算します。そして、また同じような混乱が起こる。

そして、頭を悩ませているのです。なぜ、彼は狂ってしまったのだろう?

それとも、TS構築の戦略やロジックのために、たった1つの機能を作らなければならないと考えているのでしょうか?あなたは間違っています。

 
fxsaber:

私の考えは変わっていません。この機能は、99.9%のEAと取引プラットフォームで共通です。

いいえ、1つの行動論理に対してのみです。

しかも、その数は数千にも及びます。

 
fxsaber:

私の考えは変わっていません。この機能は、99.9%のEAと取引プラットフォームで共通です。

関数は要求されたものを返すべきです。明確に、無条件に、そしてユーザーが後から必要なものを決めるのではなく。

私が提案するロジックは、次のようなものであるべきです。

  • 質問:ポジションはいくつあるのですか?
  • 答え:2つ

...あるいは、こうでなければならない。

  • 質問:ポジションはいくつあるのですか?
  • 回答:ちょっと待ってください。
  • 待てよ、では問題は、ポジションはいくつあるのか?
  • 答え:3つ

と提案するんですね。

  • 質問:ポジションはいくつあるのですか?
  • 答えは3つです。
  • OK、これは私が待った数です、カウントし続け、別のシンボルで開く......しばらくして:なんじゃこりゃ・・・。質問:ポジションはいくつですか?
  • 答え:2つ
  • 質問:なぜ3つと言ったのですか?
  • 答え:後で必要になるかもしれないと思ったから
  • 質問:他のシンボルの位置は いくつですか?
  • 答え:3つ
  • はい?本当ですか?そして、最後の答えでもう一つのシンボルにお金を失ったのです・・・。
 
Artyom Trishkin:

#896615はリジェクト品で、IDポジションはありません。

上のスクリーンショットの左から3番目の赤枠の数字を読んでください。

別の言い方をしよう。仮に2つのポジションが空いていたとします。3つ目のポジションを開くシグナルを取得し、取引要求を送信し、このリダイレクトされた成行注文を取得します。3つのポジションを持っている場合、EAは別のシンボルを使って他の取引要求を 送信するように切り替わります。TSは3つのポジションを見て数量を計算し、さらに3つのポジション(別のシンボル)を取り、ストップし、別のシンボルでオープンする取引注文を送信します。16ms後、他のシンボルからのリビッドが到着する。TSは、2(現在のポジション)+3(2つのポジションと他のシンボルからの1つのマーケット)=5 ポジションの数を調べます。そして、6になるはずです- 現在のシンボルに対して、全く異なる価格で別の成行注文を送信し、3番目のシンボルの新規ポジションの数量とテイクオフ/ストップを計算します。そして、また同じような混乱が起こる。

そして、なぜ彼がおかしくなってしまったのかと頭を悩ませるのです。

曲がった売買ロジックを書いて作り上げないと、自分の評価に傷がつくだけではありません。おそらくフリーランスに殺到した曲者TKの間では、珍しくないことだと理解しています。そして、お金が臭くないから、誰かが、糞を要求されたら、それをやって忘れろ、という原則で持っていく。それに近いものは、これまでナイトメアには書かれていない。しかし、TKの中のうんこのグレードについては、フリーランスの方が私よりずっとよく知っているはずだ。そうそう、@Combinatorが 提案した、IDが0の成行注文を見つけたらすぐにTCから足を出すというオプションは、TCが不十分な場合に非常に有効なオプションになります。

それとも、TS構築の戦略やロジックなど、たった1つのために機能を作らなければならないとお考えですか?あなたは間違っています。

最低限、考える必要があると思います。そして、忌まわしいTCの繁殖に適した環境を作らないこと。残念ながら、TCの中で底辺を定義する基準を作ることはできない。誰も傷つけないように、世界観を逆にして、自分が底辺になり、既知のTKが物理法則で浮くようにするのです。


レシピは、世界共通と言うことです。

  1. IDがゼロの成行注文に遭遇 - 即座に終了する。
  2. MT5-OrderSendは常に非ゼロのResult.dealを返すように書き換えられました - ソースコードはKBに掲載されています。
  3. 各OrderSendまたはSleep送信後、ステップ1へ。
この方法であれば、どんな(絶対的な100%の)TCでも機能します。
理由: