MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 689 1...682683684685686687688689690691692693694695696...1953 新しいコメント Ghabo 2018.11.09 00:27 #6881 N本のバーにOBJ_RECTANGLEが ないことを確認するにはどうしたらいいですか? Vitaly Muzichenko 2018.11.09 00:33 #6882 neverness:MT5で本当に変わったことはありますか?mt4にもmt5にもそのようなものはありません。 mt5では、H2のタイムオーバーで、現在の期間のセパレータが表示されるバグもあります。 Vitaly Muzichenko 2018.11.09 00:39 #6883 Ghabo: N本のバーにOBJ_RECTANGLEが 存在しないことを確認するには? こんな風に試してみてはいかがでしょうか? int n = Bars(Symbol(), PERIOD_CURRENT, ObjectGetInteger(0,"Rectangle",OBJPROP_TIME,1), TimeCurrent()); Print(n); 削除済み 2018.11.09 11:44 #6884 Vitaly Muzichenko:mt4にもmt5にもそのようなものはありません。 mt5では、H2以上の時間帯で、現在の期間でのセパレータの表示でエラーが発生することもあります。この「議論」の中で、私の質問に対する唯一の「建設的な答え」をやっと見ることができました。 エラーに関しては、MT4とMT5の両方で、現在の(最後の)フレームのすべてのセパレータ週で存在します。 先週のセパレーターMT4/MT5では、どこでもセパレーターが5日ではなく7日描画されます。 でも、そんなことはどうでもいいんです。これまでも、これからも、エラーは起こり続ける。デリミタを描画するプログラムコードがあれば、すべて修正できるかもしれません。 驚くのはミスではなく、まったく別のことなのです。 MT4/MT5が存在している間、予測される領域にデリミタを描画するプログラムを 誰も考えなかったのでしょうか? なんといっても、プログラムが一番シンプルなんです。 必要なのは、最後の仕切りの位置と、X軸に沿った時間の「解」(つまり、1ピクセルにかかる時間間隔)だけです。 そして、これまで誰も、「? これには本当に驚きました。 今回も全部自分でやらなければならない。 削除済み 2018.11.09 11:52 #6885 Igor Makanu:難しいことではないのですが、MTでインジケーターがどのように機能し、どのような利点があるのかを理解していないようですその通りでしょう。 数学的な逸話がある。 ある数学者が、「やかんの中でどうやってお湯を沸かすのか? 空のやかんを手に取り、水を注ぎ、調理器具の上に置き、調理器具のスイッチを入れて、お湯が沸くのを待ちます。 - OKです。でも、もしヤカンがすでに満杯だったらどうしますか?- と数学者は問う。 - やかんから水を注ぎ、上記の方法で問題を解決します。- が数学者に答える。 それでは、どうぞ。 このジョークは、あなたのことです。 Igor Makanu 2018.11.09 14:02 #6886 neverness: このジョークは、あなたのことです。うーん、笑っていいのか悪いのか・・・。もし、あなたの気まぐれをすべて満たしてくれる取引端末を知って いたら、何の意味があるのでしょうか?私はMT4/5に100%満足しています。それで何でもできますし、チャートにD1期間を描くインディケータはそのまま、プログラミングに興味を持ったら、自分のニーズに合わせて改造してください・・・。無理だろうなぁ・・・。 #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com/ru/users/igorm" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_plots 2 //--- plot line1 #property indicator_label1 "Period" #property indicator_type1 DRAW_HISTOGRAM #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 1 #property indicator_label2 "Period" #property indicator_type2 DRAW_HISTOGRAM #property indicator_color2 clrRed #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //--- input parameters input int Days=3; //--- indicator buffers double Pmax[],Pmin[]; bool run=true; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,Pmax); SetIndexBuffer(1,Pmin); run=true; switch(_Period) { case PERIOD_M1: SetIndexShift(0,1440*Days);SetIndexShift(1,1440*Days); break; case PERIOD_M5: SetIndexShift(0,288*Days); SetIndexShift(1,288*Days); break; case PERIOD_M15: SetIndexShift(0,96*Days); SetIndexShift(1,96*Days); break; case PERIOD_M30: SetIndexShift(0,48*Days); SetIndexShift(1,48*Days); break; case PERIOD_H1: SetIndexShift(0,24*Days); SetIndexShift(1,24*Days); break; case PERIOD_H4: SetIndexShift(0,6*Days); SetIndexShift(1,6*Days); break; default: run=false; SetIndexShift(0,0); SetIndexShift(1,0);ArrayInitialize(Pmax,EMPTY_VALUE);ArrayInitialize(Pmin,EMPTY_VALUE); break; } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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(prev_calculated==0) { run=true; ArrayInitialize(Pmax,EMPTY_VALUE); ArrayInitialize(Pmin,EMPTY_VALUE); } if(run) { int i=0,lastperiod=TimeDay(time[0]); double maxvalue; if(!ChartGetDouble(ChartID(),CHART_PRICE_MAX,0,maxvalue)) maxvalue=1000.0; maxvalue*=10.0; while(i<rates_total) { if(TimeDay(time[i])!=lastperiod) { lastperiod=TimeDay(time[i]); Pmax[i-1]=maxvalue; Pmin[i-1]=0.0; } else { Pmax[i]=EMPTY_VALUE; Pmin[i]=EMPTY_VALUE; } i++; } run=false; } //--- return(rates_total); } //+------------------------------------------------------------------+ すでに試しましたが、なぜかわかりません、初めて見たので、タイムフレームを切り替えるときにバッファを初期化するよう です Taras Slobodyanik 2018.11.09 14:48 #6887 neverness:この「議論」の中で、私の質問に対する唯一の「建設的な答え」をやっと見ることができました。 エラーに関しては、MT4とMT5の両方で、現在の(最後の)フレームのすべてのセパレータ週で存在します。 先週のセパレーターMT4/MT5では、どこでもセパレーターが5日ではなく7日描画されます。 でも、そんなことはどうでもいいんです。これまでも、これからも、エラーは起こり続ける。デリミタを描画するプログラムコードがあれば、すべて修正できるかもしれません。 驚くのはミスではなく、まったく別のことなのです。 MT4/MT5が存在している間、予測される領域にデリミタを描画するプログラムを 誰も考えなかったのでしょうか? なんといっても、プログラムが一番シンプルなんです。 必要なのは、最後の仕切りの位置と、X軸に沿った時間の「解」(つまり、1ピクセルにかかる時間間隔)だけです。 そして、これまで誰も、「? これには本当に驚きました。 もう一度言いますが、すべて自分でやるしかないのです。言ったでしょー、何度もやってるんです。(とか(市場でも、複数の指標で)。 で、すでにコードを書いたとのことですが、また書いてくれるのでしょうか?) 削除済み 2018.11.09 15:59 #6888 Igor Makanu:うーん、笑っていいのか悪いのか......。もし、あなたの気まぐれをすべて満たしてくれる取引端末を知って いたら、何の意味があるのでしょうか? 私はMT4/5に100%満足しています、それで何でもできます、チャートにD1期間を描くインディケータを維持し、プログラミングに興味を持ち、あなたのニーズに合わせて変更する・・・・。無理だろうなぁ・・・。 このようなバグを見たのは初めてで、理由が わからない。もちろん、ありがとうございます。 やはり、不完全な日は、生理の区切りが標準のものと一致しません。 でも、標準のセパレータを描き直すのではなく、予測領域のセパレータと履歴のセパレータをドッキングさせるようにすればいいと思うので、あまり関係ないですね。 そうすれば、不完全な履歴の日の区切り文字の位置が、予測の区切り文字に影響を与えることはない。 もう一つ、標準の区切り文字とインジケータの重要な違いは、標準の区切り文字はチャート自体のイベントごとに更新されますが、インジケータはOnCalculate()イベントごとに更新されることです。これは目立つのでは......と思ったのですが、実際はほとんど目立ちません。 もちろん、このインジケータは再設計されるべきですが、とにかくありがとうございます。見ていて面白かったです。 Taras Slobodyanik 2018.11.09 16:01 #6889 Ghabo:これは、指定された名前のオブジェクトのバーのインデックスであることが判明した。オブジェクトは1つ以上あり、その名前は「QUADRO」+Time[i+1] 10本の棒にそのようなオブジェクトがないことを知るにはどうすればよいですか? バッファの場合は、値が空の場合、チャートに何も表示されないことは明らかですが、オブジェクトの場合はどうでしょうか。if (ObjectFind(0,"QUADRO"+Time[10])<0) { //объекта нет на 10 баре } Ghabo 2018.11.09 16:02 #6890 Vitaly Muzichenko: この方法で試してみてもいいのでしょうか? int n = Bars(Symbol(), PERIOD_CURRENT, ObjectGetInteger(0,"Rectangle",OBJPROP_TIME,1), TimeCurrent());ありがとうございます。これは、指定された名前のオブジェクトのバーインデックス(120983)であることが判明しました。オブジェクトは1つ以上あり、その名前は「QUADRO」+Time[i+1] 10本の棒にそのようなオブジェクトがないことを知るにはどうすればよいですか?バッファの場合は、値が空の場合、チャートに何も表示されないのはわかりますが、オブジェクトの場合はどうでしょうか? 1...682683684685686687688689690691692693694695696...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MT5で本当に変わったことはありますか?
mt4にもmt5にもそのようなものはありません。
mt5では、H2のタイムオーバーで、現在の期間のセパレータが表示されるバグもあります。
N本のバーにOBJ_RECTANGLEが 存在しないことを確認するには?
mt4にもmt5にもそのようなものはありません。
mt5では、H2以上の時間帯で、現在の期間でのセパレータの表示でエラーが発生することもあります。
この「議論」の中で、私の質問に対する唯一の「建設的な答え」をやっと見ることができました。
エラーに関しては、MT4とMT5の両方で、現在の(最後の)フレームのすべてのセパレータ週で存在します。
先週のセパレーターMT4/MT5では、どこでもセパレーターが5日ではなく7日描画されます。
でも、そんなことはどうでもいいんです。これまでも、これからも、エラーは起こり続ける。デリミタを描画するプログラムコードがあれば、すべて修正できるかもしれません。
驚くのはミスではなく、まったく別のことなのです。
MT4/MT5が存在している間、予測される領域にデリミタを描画するプログラムを 誰も考えなかったのでしょうか?
なんといっても、プログラムが一番シンプルなんです。
必要なのは、最後の仕切りの位置と、X軸に沿った時間の「解」(つまり、1ピクセルにかかる時間間隔)だけです。
そして、これまで誰も、「?
これには本当に驚きました。
今回も全部自分でやらなければならない。
難しいことではないのですが、MTでインジケーターがどのように機能し、どのような利点があるのかを理解していないようです
その通りでしょう。
数学的な逸話がある。
ある数学者が、「やかんの中でどうやってお湯を沸かすのか?
空のやかんを手に取り、水を注ぎ、調理器具の上に置き、調理器具のスイッチを入れて、お湯が沸くのを待ちます。
- OKです。でも、もしヤカンがすでに満杯だったらどうしますか?- と数学者は問う。
- やかんから水を注ぎ、上記の方法で問題を解決します。- が数学者に答える。
それでは、どうぞ。
このジョークは、あなたのことです。
このジョークは、あなたのことです。
うーん、笑っていいのか悪いのか・・・。もし、あなたの気まぐれをすべて満たしてくれる取引端末を知って いたら、何の意味があるのでしょうか?私はMT4/5に100%満足しています。それで何でもできますし、チャートにD1期間を描くインディケータはそのまま、プログラミングに興味を持ったら、自分のニーズに合わせて改造してください・・・。無理だろうなぁ・・・。
すでに試しましたが、なぜかわかりません、初めて見たので、タイムフレームを切り替えるときにバッファを初期化するよう です
この「議論」の中で、私の質問に対する唯一の「建設的な答え」をやっと見ることができました。
エラーに関しては、MT4とMT5の両方で、現在の(最後の)フレームのすべてのセパレータ週で存在します。
先週のセパレーターMT4/MT5では、どこでもセパレーターが5日ではなく7日描画されます。
でも、そんなことはどうでもいいんです。これまでも、これからも、エラーは起こり続ける。デリミタを描画するプログラムコードがあれば、すべて修正できるかもしれません。
驚くのはミスではなく、まったく別のことなのです。
MT4/MT5が存在している間、予測される領域にデリミタを描画するプログラムを 誰も考えなかったのでしょうか?
なんといっても、プログラムが一番シンプルなんです。
必要なのは、最後の仕切りの位置と、X軸に沿った時間の「解」(つまり、1ピクセルにかかる時間間隔)だけです。
そして、これまで誰も、「?
これには本当に驚きました。
もう一度言いますが、すべて自分でやるしかないのです。
言ったでしょー、何度もやってるんです。(とか(市場でも、複数の指標で)。
で、すでにコードを書いたとのことですが、また書いてくれるのでしょうか?)
うーん、笑っていいのか悪いのか......。もし、あなたの気まぐれをすべて満たしてくれる取引端末を知って いたら、何の意味があるのでしょうか? 私はMT4/5に100%満足しています、それで何でもできます、チャートにD1期間を描くインディケータを維持し、プログラミングに興味を持ち、あなたのニーズに合わせて変更する・・・・。無理だろうなぁ・・・。
このようなバグを見たのは初めてで、理由が わからない。
もちろん、ありがとうございます。
やはり、不完全な日は、生理の区切りが標準のものと一致しません。
でも、標準のセパレータを描き直すのではなく、予測領域のセパレータと履歴のセパレータをドッキングさせるようにすればいいと思うので、あまり関係ないですね。
そうすれば、不完全な履歴の日の区切り文字の位置が、予測の区切り文字に影響を与えることはない。
もう一つ、標準の区切り文字とインジケータの重要な違いは、標準の区切り文字はチャート自体のイベントごとに更新されますが、インジケータはOnCalculate()イベントごとに更新されることです。これは目立つのでは......と思ったのですが、実際はほとんど目立ちません。
もちろん、このインジケータは再設計されるべきですが、とにかくありがとうございます。見ていて面白かったです。
これは、指定された名前のオブジェクトのバーのインデックスであることが判明した。オブジェクトは1つ以上あり、その名前は「QUADRO」+Time[i+1] 10本の棒にそのようなオブジェクトがないことを知るにはどうすればよいですか?
バッファの場合は、値が空の場合、チャートに何も表示されないことは明らかですが、オブジェクトの場合はどうでしょうか。
この方法で試してみてもいいのでしょうか?
ありがとうございます。これは、指定された名前のオブジェクトのバーインデックス(120983)であることが判明しました。オブジェクトは1つ以上あり、その名前は「QUADRO」+Time[i+1] 10本の棒にそのようなオブジェクトがないことを知るにはどうすればよいですか?
バッファの場合は、値が空の場合、チャートに何も表示されないのはわかりますが、オブジェクトの場合はどうでしょうか?