コーディングのヘルプ - ページ 141

 
arroganzmaschine:
しかし、これは私を助けることはありません。2つのバッファは4と5です。しかし、Bufferは以前はarrayでした。

以下はそのコードです。SetIndexBuffer(4, Long);

SetIndexBuffer(5, Short);

インジケータでは、これらのバッファは "double Long[]"で最初に宣言されています。このバッファは2つの値を持っています。Long[1]とLong[2]です。エキスパートアドバイザーでこれらの値を取得するにはどうすればよいですか?

このような感じで試してみてください。

double value1 = iCustom(NULL,0,"indicatorName",4,1); double value2 = iCustom(NULL,0,"indicatorName",4,2);

______________________________

PS:パラメータが 何であるか分からないので、iCustom() はデフォルトのパラメータ値を使用します。あなたは、iCustom()呼び出しに必要なパラメータを供給する必要があります。そして、すべてのことは、私が前の投稿に投稿したリンクからのスレッドで説明されています。

よろしくお願いします。

 

作品紹介!ありがとうございました!!!!

 
arroganzmaschine:
作品紹介ありがとうございました!!!

グッド

ハッピーコーディング

 

mladenさん、最後にもう一つ質問です。

現在のシンボルの買いまたは売りの 未決済注文を閉じるにはどうすればよいですか?一度に一つの注文しかできません。

 
arroganzmaschine:
最後の質問ですが、現在のシンボルの買いまたは売りの未決済注文を閉じるにはどうしたらいいですか?その時、開いている注文は1つだけです。

このようにすることができます。

if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES))

{

if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,CLR_NONE);

if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,0,CLR_NONE);

}

 

すべての未決済注文を取得しなければならないのでしょうか?それとも、あなたが投稿したこのコードは、現在のオープンオーダーを取得するのでしょうか?

 
arroganzmaschine:
すべてのオープンオーダーを取得しなければならないのでしょうか?それとも、あなたが投稿したこのコードは、現在のオープンオーダーを取得するのでしょうか?

一度に開く注文が1つだけであることを伝えました。

そのコードは、1つの未決済注文がある場合にのみ動作します。

 

1つのシンボルに対して1つのオープンオーダーがあるのみです。しかし、私は異なるオープンチャートを持って います。そこで、コードはシンボルの注文を選び、この注文を閉じなければなりません。どうすればいいのでしょうか?

 
arroganzmaschine:
1つのシンボルに対して1つのオープンオーダーがあるだけです。しかし、私は異なるオープンチャートを持っています。そこで、コードはそのシンボルの注文を選び、この注文をクローズしなければなりません。どうすればいいのでしょうか?

このように。

for (int i=OrdersTotal()-1; i>=0; i--)

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,CLR_NONE);

if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,0,CLR_NONE);

}

 

うまくいった!あなたは素晴らしい!