[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 295

 

ありがとうございます。原理的には、"||"を"&&"に置き換えるだけで(おそらく不等号を確認してから続けたかったのでしょう)、すべてがうまくいくのですが、テスターではとにかくうまくいきます。もちろん、あなたのバージョンの方がより正しいでしょうが。

 

まあ、こういうニュアンスですね。今でも、自分の好きなように書き換えるようにしています。私などは、(この機能では)メジカンを選択する必要は全くありません。また、Figar0 機能での選択が履歴リストからになっていることに気がつきました。ここで重要なのは、その考え方を理解することです。ちなみに、プールからの指令が必要なので、すべて簡単になりました。

皆さん、アイデアや手助けをありがとうございました。

PS:そして、それについて説明してください。

OrderType()>1
OrderTypeが intで 比較されるのを何度か見たことがあります。ここでの仕掛けは?文字列 変数かと思った。
 
Pyro:

まあ、こういうニュアンスですね。今でも、自分の好きなように書き換えるようにしています。私などは、(この機能では)メジカンを選択する必要は全くありません。また、Figar0 機能での選択が履歴リストからになっていることに気がつきました。ここで重要なのは、その考え方を理解することです。ちなみに、プールからの指令が必要なので、すべて簡単になりました。

皆さん、アイデアや手助けをありがとうございました。

追記:以下について説明してください。

OrderTypeが intと 比較されているのを何度か見たことがあります。ここでの仕掛けは?文字列 変数かと思った。

これは、定数とその値の対応関係である。

OP_BUYは0に対応

OP_SELLは1に対応

__________________________________________________________________________________________________________-

OrderSend() 関数の操作の種類。 以下の値のいずれかを指定することができる。

定数 価値 商品説明
OP_BUY 0 購入
OP_SELL 1 販売する
OP_BUYLIMIT 2 買い指値注文
OP_SELLLIMIT 3 売り指値注文の保留
OP_BUYSTOP 4 買付停止注文の保留
OP_SELLSTOP 5 売り停止注文の保留
 
Pyro:

ちなみに、プールからの注文も必要なので、もっとシンプルになりました。

インデックスでオーダーを選択する場合、openとclosedの2つのリストを使用します。どのリストに表示するかを指定することで設定します(パラメータプール)。

したがって、未決済注文のリストから選択する必要がある場合は、このパラメータを指定する必要はありません(デフォルトで設定されています)。クローズドオーダーの一覧から選びたい場合は、MODE_HISTORYをパラメータとして指定する必要があります。

したがって、最後のオープンオーダーを見つけたい場合は、端末のオープンオーダーでループを作り、OrderOpenTime()のオープン時間もチェックする必要があり、最後のクローズオーダーが必要な場合(上記の例のように)、端末のクローズオーダーでループを作り、OrderCloseTime()で選んだオーダーがいつ閉じられたか確認する必要があるのです。

また、参考までに、チケットで選択した場合、パラメータプールは 全く無視され、両方のリストで順番が判明します。注文が見つかったら、その注文がどのリストから選ばれたかを知るために、そのクローズ時間をチェックする必要があります。終了時刻が0より大きい場合、その注文は終了しており、終了した注文のリストから選択されています。未決済注文の終了時刻が常にゼロに等しい場合。つまり、0になれば、未決済注文のリストからその注文が選択されたことになります。

また、チケットで保留中の注文を 検索すると、両方のリストに表示されることがあります。成行注文に変換された場合に発生します。したがって、あなたが選んだ注文の種類も確認する必要があります。そして、保留中の注文が決済され、同じチケットの成行注文が決済されない場合、保留中の注文が成行注文に変化したことを意味します。

 
Figar0:

ありがとうございます。原理的には、"||"を"&&"に置き換えるだけで(おそらく不等号が続くかどうかをチェックしたかったのでしょう)、すべてがうまくいくのですが、テスターではとにかくうまくいくのです。もちろん、あなたのバージョンの方がより正しいでしょうが。

私自身、ここにコードを投稿するときに、時々、くだらない間違いをすることがあります...。そして、不適切な形で読み込まれる前に、やけどのようにコードを修正する...。:)))
 
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 2

extern int period=24;
double Buf_0[],Buf_1[];

//+------------------------------------------------------------------+
int init()
  {
//---- 
   SetIndexBuffer(0,Buf_0);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexBuffer(1,Buf_1);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
//----
   return;
  }
//+------------------------------------------------------------------+
int start()
  {
   int  i,counted_bars,maxValueIdx,minValueIdx; 
//----

   counted_bars=IndicatorCounted();
   i=Bars-counted_bars-1;
   
   while(i>=0)
   {
   maxValueIdx=ArrayMaximum(Close,(period-1),0); 
   minValueIdx=ArrayMinimum(Close,(period-1),0);
   Buf_0[i]=Close[maxValueIdx];
   Buf_1[i]=Close[minValueIdx];
   i--;
   }
   
   
//----
   return;
  }
//+------------------------------------------------------------------+
こんにちは、ある期間の終値のMAXとMINを読み取るインジケータを書きたかった のです。チュートリアル通りにやっているのですが、古いデータは全く表示されず、現在のMAXとMINの2つの横線が表示されます。何が間違っているのか、教えてください。
 
borisis:
こんにちは、ある期間の終値のMAXとMINをカウントするインジケータを書きたかったのです。チュートリアルでやったことと同じですが、古いデータは全く描画されず、現在のMAXとMINの2つの水平線が表示されます。何が間違っているのか、教えてください。


maxValueIdx=ArrayMaximum(Close,(period-1), i);

minValueIdx=ArrayMinimum(Close,(period-1), i);

すべてのステップで同じインデックスを見つけ続けるため

 

みなさん、こんにちは。変数の型がintまたはdoubleのどちらに属するかをプログラムで調べるには?

というエラーと、「DoubleToStr関数の パラメータ1として無効な二重数値」というエラーはどういう意味でしょうか?

 
todem:

みなさん、こんにちは。変数の型がint OR doubleであることを知るにはどうしたらよいですか?

なぜか気になる?これが必要とされる状況を説明できますか?
 
移動した。

ヴァルデマール 2011.04.01 16:31
プログラミングの達人の皆さん、ごきげんよう。あなたが気にしない場合は、右のアイデアをヒント:ここで私は、私は取引の特定の時間の終わりに決めたと言う、いくつかのポイントで時間のハイとローから離れてプッシュ、ストップオーダーを入れて、私は何を使用すべきか、プログラミング関数を書いてください! このような場合、私はあなたのために、あなたのために、あなたのために、あなたのために、あなたのために、あなたのために、あなたのために、あなたのために、あなたのために、あなたのために、あなたのために、あなたのために。