MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 445 1...438439440441442443444445446447448449450451452...1953 新しいコメント mila.com 2018.02.01 22:32 #4441 Artyom Trishkin:そのため、iCustom()を最初のループインデックスで右読みします。 もう一つの質問は、現在のバーから左のデータが必要だということです。だから、0から見つかったものまで読みますが、rates_total-1を超えないようにしてくださいということなんです。 limit>1 のときのみ読み出し可能 それ以外の時は新しいデータはなく、必要なバーのインデックスも変わりません。ませんが、解説にある一番近い矢印のバーナンバーは正しいです //+------------------------------------------------------------------+ 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[]) { //--- if(rates_total<1) return(0); int limit=rates_total-prev_calculated; if(limit>1) { limit=rates_total-1; ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } for(int i=limit; i>=0; i--) { if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",0,i),Digits)!=EMPTY_VALUE) { num_buy=i; } // if(num_buy==10) { BufferUP[i+1]=low[i+1]-distance*MyPoint; } if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",1,i),Digits)!=EMPTY_VALUE ) { num_sell=i; } if(num_sell==10) { BufferDN[i+1]=high[i+1]+distance*MyPoint; } Comment(num_buy,"num_sell",num_sell); } //--- return value of prev_calculated for next call return(rates_total); } Artyom Trishkin 2018.02.01 22:38 #4442 mila.com:彼は望んでいない。 私が書いたものを読んでいますか? もうひとつは、現在のバーから左側にデータが欲しいという質問です。だから、0から見つかったものまで読みますが、rates_total-1を超えないようにしてくださいということなんです。 limit>1 のときのみ読み出し可能 mila.com 2018.02.01 22:42 #4443 Artyom Trishkin:私が書いたものを読んでいますか? もう一つの質問は、現在のバーから左のデータが必要だということです。だから、0から見つかったものまで読みますが、rates_total-1を超えないようにしてくださいということなんです。 limit>1 のときのみ読み出し可能 そうでしたっけ? if(limit>1) { limit=rates_total-1。 Artyom Trishkin 2018.02.01 22:44 #4444 mila.com:それは私がやったことではありませんか? if(limit>1) { limit=rates_total-1。次にやったことはこれだ。 for(int i=limit; i>=0; i--) 何言ってるんだろう? mila.com 2018.02.01 22:52 #4445 Artyom Trishkin:次に何をしたかというと、これです。 何言ってるんだろう?リミット>1での読み取り for(int i=limit; i>1; i--) どうすればいいのかわからないのですが? Artyom Trishkin 2018.02.01 22:52 #4446 mila.com:リミット>1での読み取り どうすればいいのかわからないのですが? だから、0から見つかったものまで読みますが、rates_total-1を超えないようにしてくださいということなんです。 mila.com 2018.02.01 22:58 #4447 Artyom Trishkin: だから、0から読んで正しいものを探せと言っているのですが、rates_total-1を超えないようにしてください。だから、どうすればいいのかわからないって言ってるじゃないですか。見せてください(笑) Artyom Trishkin 2018.02.01 23:10 #4448 mila.com:だから、やり方がわからないって言ったじゃないですか。見せてください(笑)if(limit>1) { for(int i=0; i<limit; i++) { // тут поиск до нужного вам бара. Нашли - запомнили бар или поставили точку куда нужно и break; } }このサイクルでは、(見つかれば)欲しいバーまでしか行かないし、全編が限界まで行ってしまう。 mila.com 2018.02.01 23:45 #4449 Artyom Trishkin:このサイクルは、あなたが望むバーまで(見つかれば)、または全体のストーリーについては、上限までとなります。私は、かなり悪いですが、何も表示されません。 //+------------------------------------------------------------------+ 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[]) { //--- if(rates_total<1) return(0); int limit=rates_total-prev_calculated; if(limit>1) { limit=rates_total-1; ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } if(limit>1) { for(int i=0; i<limit; i++) { if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",0,i),Digits)!=EMPTY_VALUE) { num_buy=i; } // if(num_buy==10) { BufferUP[i+1]=low[i+1]-distance*MyPoint; } if(NormalizeDouble(iCustom(NULL,0,"Arrow v.3",1,i),Digits)!=EMPTY_VALUE ) { num_sell=i; } if(num_sell==10) { BufferDN[i+1]=high[i+1]+distance*MyPoint; } Comment(num_buy,"num_sell",num_sell); } } //--- return value of prev_calculated for next call return(rates_total); } Artyom Trishkin 2018.02.02 00:00 #4450 mila.com:本当にダメですね、何も映らないんです。未だに分からないのは、何を探して表示したいのか、ということです。言葉だけで、つまりコードなしで。 ほら、書いているじゃないですか。 こんにちは、助けてください。 いつでも、インジケーターの矢印があるバーの番号を知りたいのです。 例では、矢印が10本目のバーにある場合にバッファを満たすようにしてみました。 では、さっそく質問ですが、なぜ10本目のバーで探しているのでしょうか?また、一般的には、どのバーでやりたいですか?どの矢ですか?最後の1枚?それとも最後の2つ、上と下?あるいは、目的の矢印のバーを右から左への番号で知っていますか? これは明確ではありません。 そして、OnCalculate() ではなく、インジケータ全体を添付してください。 1...438439440441442443444445446447448449450451452...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そのため、iCustom()を最初のループインデックスで右読みします。
もう一つの質問は、現在のバーから左のデータが必要だということです。だから、0から見つかったものまで読みますが、rates_total-1を超えないようにしてくださいということなんです。
limit>1 のときのみ読み出し可能
それ以外の時は新しいデータはなく、必要なバーのインデックスも変わりません。
ませんが、解説にある一番近い矢印のバーナンバーは正しいです
彼は望んでいない。
私が書いたものを読んでいますか?
もうひとつは、現在のバーから左側にデータが欲しいという質問です。だから、0から見つかったものまで読みますが、rates_total-1を超えないようにしてくださいということなんです。
limit>1 のときのみ読み出し可能
私が書いたものを読んでいますか?
もう一つの質問は、現在のバーから左のデータが必要だということです。だから、0から見つかったものまで読みますが、rates_total-1を超えないようにしてくださいということなんです。
limit>1 のときのみ読み出し可能
そうでしたっけ?
if(limit>1)
{
limit=rates_total-1。
それは私がやったことではありませんか?
if(limit>1)
{
limit=rates_total-1。
次にやったことはこれだ。
何言ってるんだろう?
次に何をしたかというと、これです。
何言ってるんだろう?
リミット>1での読み取り
どうすればいいのかわからないのですが?
リミット>1での読み取り
どうすればいいのかわからないのですが?
だから、どうすればいいのかわからないって言ってるじゃないですか。見せてください(笑)
だから、やり方がわからないって言ったじゃないですか。見せてください(笑)
このサイクルでは、(見つかれば)欲しいバーまでしか行かないし、全編が限界まで行ってしまう。
このサイクルは、あなたが望むバーまで(見つかれば)、または全体のストーリーについては、上限までとなります。
私は、かなり悪いですが、何も表示されません。
本当にダメですね、何も映らないんです。
未だに分からないのは、何を探して表示したいのか、ということです。言葉だけで、つまりコードなしで。
ほら、書いているじゃないですか。
こんにちは、助けてください。
いつでも、インジケーターの矢印があるバーの番号を知りたいのです。
例では、矢印が10本目のバーにある場合にバッファを満たすようにしてみました。
では、さっそく質問ですが、なぜ10本目のバーで探しているのでしょうか?また、一般的には、どのバーでやりたいですか?どの矢ですか?最後の1枚?それとも最後の2つ、上と下?あるいは、目的の矢印のバーを右から左への番号で知っていますか?
これは明確ではありません。
そして、OnCalculate() ではなく、インジケータ全体を添付してください。