マジックナンバーの配列を作成するには?

 

マジックナンバーの配列を作成することは可能ですか?

ex.私は5つの注文を作るつもりで、各注文はユニークなマジックナンバーを持っています。

int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green) 
12345の代わりに、多分OrderMagic [x][0] for each new order make?どのようにそれを行うには?

その後、閉じるときに、私はすべての注文を通過し、そのユニークなマジック番号で特定の注文を閉じますか?

for (int i=0; i<OrdersTotal(); i+=1)
{
           if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
           {
                     if (OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == 12345)

12345の代わりに、どのように私は配列内のすべてのユニークなマジックナンバーを通過するのですか?

事前にありがとうございました。

 

マジックナンバーの配列を作成することは可能ですか?

ex.5 つの注文を作るつもりで、それぞれの注文に一意のマジックナンバーをつける。

int magicArray = { 1, 3, 5, 7, 9 };

if(OrderMagicNumber() == magicArray[3]) { // この例では7を参照しています。

 
phy:

マジックナンバーの配列を作成することは可能ですか?

ex.5 つの注文を作るつもりで、それぞれの注文に一意のマジックナンバーをつける。

int magicArray = { 1, 3, 5, 7, 9 };

if(OrderMagicNumber() == magicArray[3]) { // この例では、7を参照しています。


ありがとうございます

どのようにOrderSendするのですか?ユニークなマジックナンバーの配列ですべての新しい注文?12345の代わりにmagicArray[x]を使うのですか?

OrderSendは関数の 中にあり、ループの中にはありません。どのようにそれはそれぞれの新しい順序で新しいマジックナンバーを割り当てる方法を知っているだろう。OrderSend の後に x++ を追加するだけでいいのでしょうか?

グローバル配列は初期化する必要がありますか?

動的な配列はどのように行うのでしょうか。

int  magicArray[x];

...
int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",magicArray[x],0,Green);
x++;
 

そもそも、なぜ各注文に異なるマジックナンバーを割り当てるのでしょうか?マジックナンバーは、一緒に属する取引をグループ化するためのもので、要は多くの取引(一緒に属する取引)に対して一つのマジックを持つということです。

そのような用途に使うべきではありません。他のEAは自分自身のトレードを識別するためにそれらを使用します。つい最近、このスレッドで、作者が超賢くなろうとしたあるEAが、ある種のカウンターのためにマジックを悪用し、他のEAの取引を妨害し始め、同じ取引をめぐってオープンクローズ、オープンクローズ、「戦い」に突入してこのEAを買った無実の犠牲者が一晩で5000ドルの損失を出したことがあります。このEAは、この争いが起こるまで、明らかな理由もなく、気づかないうちに、割り当てられたマジックナンバーを変え始めていました。マジックナンバーは一定であることが望ましいのです!

各取引に一意の番号が必要な場合は、チケット番号を使用してください。

 
7bit:

そもそも、なぜ各注文に異なるマジックナンバーを割り当てるのでしょうか?マジックナンバーは、一緒に属する取引をグループ化するためのもので、要は多くの取引(一緒に属する取引)に対して一つのマジックを持つということです。

そのような用途に使うべきではありません。他のEAは自分自身のトレードを識別するためにそれらを使用します。つい最近、このスレッドで、作者が超賢くなろうとしたあるEAが、ある種のカウンターのためにマジックを悪用して、他のEAの取引を妨害し始め、同じ取引をめぐってオープンクローズ、オープンクローズ、「戦い」に突入してこのEAを買った無実の被害者が、たった一晩で5000ドルの損失を出したということがあったばかりです。このEAは、この争いが起こるまで、明らかな理由もなく、気づかないうちに、割り当てられたマジックナンバーを変え始めていました。マジックナンバーは一定であることが望ましいのです!

各取引に一意の番号が必要な場合は、チケット番号を使用してください。



ありがとうございます。まさに、私は一緒に属している私の注文をグループ化する必要があります。

int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green)
&   ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green);
私は2つのペアで開いて、2つのペアを閉じたいと思います。一意のマジックナンバーがあれば、関連する2つのペアを開いたり閉じたりするのに役立ちます。私は間違ったペアを閉じたくはないのです。
 
アイデア:マジックナンバーを使用する他のすべてのものと互換性を持たせるために、常に同じマジックナンバーを使用することができますが、各ペアのトレードに固有の番号をコメントに含めることによって、コメント文字列と組み合わせることもできます。そして、同じマジックと コメントを持つ取引を探すだけで、各取引のペアのもう一方の取引を見つけることができます。
 
7bit:
アイデア:マジックナンバーを使用する他のすべてのものと互換性を持たせるために、いつもと同じマジックナンバーを使用することができますが、各ペアの取引に固有の番号をコメントに含めることによって、コメント文字列と組み合わせることができます。そして、同じマジックと コメントを持つ取引を探すだけで、各取引のペアのもう一方の取引を見つけることができます。

ありがとうございます。

基本的に、私はすべての注文(各2ペア)に固有のタグが必要で、私は同時にそれらを閉じることができるようにする。

間違ったペアを閉じたくはないのです。

もしマジックナンバーでなければ、どのようにこのユニークなコメントを各注文に追加することができますか?

何か動的な配列が必要なのでしょうか?

 

様々な組み合わせが可能です。

例えば、異なる分単位で開けば、次のようになります。

OrderMagicNumber() == Minute();

また、別の時間に開けば、次のようになります。

OrderMagicNumber() == Hour();

あるいは、別の時間に開いたら、次のようになります。

OrderMagicNumber() == Period();
 
qjol:

様々な組み合わせが可能です。

例えば、異なる分単位で開けば、次のようになります。

また、別の時間に開けば、次のようになります。

あるいは、別の時間に開いたら、次のようになります。

そのような 無意味な ものを推奨しないでください。マジックナンバーは、注文そのものにすでに含まれている値を格納するためのものではありません。
 
qjol:

様々な組み合わせが可能です。

例えば、異なる分単位で開けば、次のようになります。

また、別の時間に開けば、次のようになります。

別の時間帯に注文を出すこともできます。



ありがとうございます。が、同じ分や時間帯に注文があった場合、間違った注文をクローズしてしまうことがあります。マジックナンバーのようなユニークなタグが必要です。

各新規注文に新しいマジックナンバーを割り当て、すべての注文を比較し、クローズ時にそれらを見つける方法を知りたいのですが。

 
どのような注文を種類くらいに分けて 管理する必要があるのか。実際に何をしようとしているのかが分かれば、あなたの問題は全く問題ではないかもしれません。