"ダミー "からの質問 - ページ 64 1...575859606162636465666768697071...277 新しいコメント Anatoli Kazharski 2011.09.14 10:02 #631 Europa: 実際には1つのポジションと1つの注文があるのに、なぜOrders_Total=1が表示されるのか、つまり理論的には1ではなく2が表示されるはずなのですが、教えていただけないでしょうか。サイクルを最後から逆回しにしてみてください。string Symb="EURUSD"; for(i=OrdersTotal()+PositionsTotal()-1;i>=0;i--) { if(Symb==PositionGetSymbol(i)) Orders_Total++; } Alert(Orders_Total); Europa 2011.09.14 10:06 #632 tol64:サイクルを最後から逆回しにしてみてください。 役に立たなかった;( Anatoli Kazharski 2011.09.14 10:28 #633 Europa: うまくいかなかった ;(あ、ポジションチェックだけなんですね。if(Symb==PositionGetSymbol(i)) Orders_Total++; そこでポジションだけがカウントされる。 Europa 2011.09.14 10:35 #634 tol64:あ、ポジションチェックだけなんですね。 そこで、ポジションだけがカウントされるのです。 SO!!!!本当にありがとうございました!!! Rashid Umarov 2011.09.14 11:01 #635 tol64:リファレンスにはこう書かれている。 日付(年、月、日)、時間(時、分、秒)のいずれか、またはすべてを省略することができる。数値の範囲は 1970年1月1日から3000年12月31日までです。 例 D'2004.01.01 00:00' // 新年を迎えてD'1980.07.19 12:30:27'D'19.07.1980 12:30:27'D'19.07.1980 12' //新年 D'1980.07.19 12:00:00' です。D'01.01.2004' //同上 D'01.01.2004 00:00:00'D'12:30:27' //D'[コンパイル日] 12:30:27' に相当する。D' '//D''【コンパイル日】00:00:00'' に相当する。 ...それとも、私が誤解しているのでしょうか? 今後、このような疑問が生じないように、ヘルプを修正します。ありがとうございます。 Валерий 2011.09.14 14:39 #636 Europa: 役に立たなかった;(なぜ、フライとカツを足して、カツの数を決めているのですか?オーダーは別カウント、ポジションも別カウント。PositionGetSymbol() は、シンボルによるポジションの存在のみを返し、注文については何も言いません。ポジションが1つしかないので、1が出ます。しかも、ループパラメータが許容値(PositionsTotal)を超えてしまうので、まだ運がいいのか、何でも ありになってしまいますね。追伸:もうお返事いただいていたのですね、遅ればせながら。 x572intraday 2011.09.15 12:28 #637 グラフィカルなオブジェクトに選択可能なプロパティを与える内部関数やプロパティが見つかりませんでした(デフォルトでは、オブジェクトはマウスで選択する可能性なしにプログラム的に描画されます)。明らかに、問題は、追加のライブラリや他のウィザードリーなしで、グラフィカルオブジェクトにこのようなプロパティを普通に与えることが可能かどうかということです。 Валерий 2011.09.15 13:57 #638 x100intraday: グラフィックオブジェクトに選択可能なプロパティを与える内部関数やプロパティは見つからず(デフォルトではマウスで選択しなくてもオブジェクトはプログラムで描画されます)、付属のグラフィックライブラリにのみ見つかりました。明らかに、問題は、追加のライブラリや他のウィザードリーなしで、グラフィカルオブジェクトにこのようなプロパティを普通に与えることが可能かどうかということです。ObjectSetInteger withprop_id=OBJPROP_SELECTABLE x572intraday 2011.09.15 14:29 #639 Valmars:ObjectSetInteger withprop_id=OBJPROP_SELECTABLE ありがとうございました。 x572intraday 2011.09.15 19:50 #640 bool ExtFunc (string str, int P, int i) { if (high[i] < high[i-1]) return(false); return(true); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i=0; if ExtFunc("s",60,i) == 1) Buffer[i] = high[i]; }OnCalculateでは、インデックスによるhighのような配列要素を簡単に使用 することができますね。この配列のインデックス要素にExtFuncでアクセスすることも可能でしょうか?関数を呼び出すとき、配列の引数を参照で渡すか、ポインタで渡すか、あるいは他の何かで渡すべきでしょうか?今のところ、OnCalculateからの 配列引数を持つ私の関数呼び出しの同じ行に関するエラーメッセージは、"'high' - パラメータ変換は許可されていません "と"'high' - 定数変数は参照として渡すことはできません "になんとか抑えています。絶望的なのか、解決策はあるのか。これまでOnCalculateでは、highを別の配列にコピー することに頼っていました。ArrayCopy(CopyOfHigh,high,0,0,WHOLE_ARRAY); を作成し、ExtFunc で HighArray を直接使用する代わりに CopyOfHigh を使用します。 1...575859606162636465666768697071...277 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
実際には1つのポジションと1つの注文があるのに、なぜOrders_Total=1が表示されるのか、つまり理論的には1ではなく2が表示されるはずなのですが、教えていただけないでしょうか。
サイクルを最後から逆回しにしてみてください。
サイクルを最後から逆回しにしてみてください。
うまくいかなかった ;(
あ、ポジションチェックだけなんですね。
そこでポジションだけがカウントされる。あ、ポジションチェックだけなんですね。
そこで、ポジションだけがカウントされるのです。リファレンスにはこう書かれている。
日付(年、月、日)、時間(時、分、秒)のいずれか、またはすべてを省略することができる。数値の範囲は 1970年1月1日から3000年12月31日までです。
例
D'2004.01.01 00:00' // 新年を迎えて
D'1980.07.19 12:30:27'
D'19.07.1980 12:30:27'
D'19.07.1980 12' //新年 D'1980.07.19 12:00:00' です。
D'01.01.2004' //同上 D'01.01.2004 00:00:00'
D'12:30:27' //D'[コンパイル日] 12:30:27' に相当する。
D' '//D''【コンパイル日】00:00:00'' に相当する。
それとも、私が誤解しているのでしょうか?
役に立たなかった;(
なぜ、フライとカツを足して、カツの数を決めているのですか?
オーダーは別カウント、ポジションも別カウント。PositionGetSymbol() は、シンボルによるポジションの存在のみを返し、注文については何も言いません。ポジションが1つしかないので、1が出ます。しかも、ループパラメータが許容値(PositionsTotal)を超えてしまうので、まだ運がいいのか、何でも ありになってしまいますね。
追伸:もうお返事いただいていたのですね、遅ればせながら。
グラフィックオブジェクトに選択可能なプロパティを与える内部関数やプロパティは見つからず(デフォルトではマウスで選択しなくてもオブジェクトはプログラムで描画されます)、付属のグラフィックライブラリにのみ見つかりました。明らかに、問題は、追加のライブラリや他のウィザードリーなしで、グラフィカルオブジェクトにこのようなプロパティを普通に与えることが可能かどうかということです。
ObjectSetInteger
withprop_id=OBJPROP_SELECTABLE
ObjectSetInteger
withprop_id=OBJPROP_SELECTABLE
OnCalculateでは、インデックスによるhighのような配列要素を簡単に使用 することができますね。この配列のインデックス要素にExtFuncでアクセスすることも可能でしょうか?関数を呼び出すとき、配列の引数を参照で渡すか、ポインタで渡すか、あるいは他の何かで渡すべきでしょうか?今のところ、OnCalculateからの 配列引数を持つ私の関数呼び出しの同じ行に関するエラーメッセージは、"'high' - パラメータ変換は許可されていません "と"'high' - 定数変数は参照として渡すことはできません "になんとか抑えています。絶望的なのか、解決策はあるのか。
これまでOnCalculateでは、highを別の配列にコピー することに頼っていました。
を作成し、ExtFunc で HighArray を直接使用する代わりに CopyOfHigh を使用します。