for(int cnt=0;cnt<OrdersTotal();cnt++) // последовательно проверяем все ордера
{
OrderSelect(cnt, SELECT_BY_POS) if(OrderOpenTime()!=0) ///время не равно 0 значит отложка сработала(или как писал Roger if(OrderType()<2) ) { ///необходимая операция } }
初心者の質問です。
ストキャスティクスをやり直し、indicator_chart_windowとして表示させ、私のレベル(0と100の代わりに、他のパラメータが設定されます)を使用することは可能でしょうか?
簡単です。しかし、例えば価格が1.3077でストキャスティクスが56の場合、チャート上ではどうなるのでしょうか。 チャートの範囲は、価格のスプレッドで表示されます。
でも、どうやって?
つまり、3つの未決済注文があり、少なくとも1つがトリガーされれば、何らかの条件が設定されるということですね。
もしそうなら、次のようにすればよいでしょう。
for(int cnt=0;cnt<OrdersTotal();cnt++) // последовательно проверяем все ордера
{
OrderSelect(cnt, SELECT_BY_POS)
if(OrderOpenTime()!=0) ///время не равно 0 значит отложка сработала(или как писал Roger if(OrderType()<2) )
{
///необходимая операция
}
}
それとも、1つの未決済注文+3つの保留注文があるのでしょうか?
それなら、こんな風に試してみてはいかがでしょう。
//в глобальных переменных
int tick[3];
//в функции sta
......................
アイデアをありがとうございます!やってみます。
でも、どうやって?
そして、何も見えないのです。これで価格チャート上にインジケータが描画されるはずですが、価格とオシレータの値が大きく異なるため、価格は見えてもインジケータの線は可視領域の外に出ています。例えば、価格チャートのウィンドウが1.3075から1.3125にスケールされ、価格は1.3110、ストキャスティクスの値は73.28で、明らかにチャートエリアの外側にあります。当然、ストキャスティックラインは表示されない。
これが全部のコードだと、コンパイルすらできない。Lotを数字に置き換えてもExpert Advisorは正常に動作します。
全てではありません、最初に宣言された変数には触れていません、全てです
ログブックに書いてあることを見てください。口座に十分な資金がないのでは?
お金はある、サーバーは繋がっている、ログブックに怖いことや新しいことは書いていない、自分でもビクビクしている、全て正しいようだ
そして、何も見えていない。これで価格チャート上にインジケータが描画されるはずですが、価格とオシレータの値が大きく異なるため、価格は見えてもインジケータの線は可視領域の外に出ています。例えば、価格チャートのウィンドウが1.3075から1.3125にスケールされている場合、価格は1.3110、ストキャスティクスの値は73.28で、明らかにチャートエリアの外側にあります。当然、ストキャスティックラインは表示されません。
というのはわかるが、反論しているわけではない。
しかし......ストキャスティクスは0-100のチャンネルを使っているので、私のチャンネルにリダイレクトして、トップを0、ボトムを100にすると、結果としてストキャスティクス自体が可視ゾーンに描かれず、チャートのチャンネルの内側に描かれてしまいます。
多少の知識は必要ですが、原理的には可能です。あなたの言い方では、これが何を実現するのか、「私のチャンネル」とは何を意味するのか、などあまり明確ではありませんね。
WindowPriceMax, WindowPriceMin を使ってチャート上の価格変動を求め、それに応じてストキャスティクスをスケーリングすることで一般化することが可能である。
しかし、最も重要なのは、プログラミングの練習とは別に、どんなメリットがあるかということです。