どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1043 1...103610371038103910401041104210431044104510461047104810491050...1178 新しいコメント Mihail Marchukajtes 2016.05.09 02:42 #10421 もう少し詳しくしっかり記述します。主な指標は、ユーロドル・ペアにあります。この指標は、金、ドルインデックス、ユーロ通貨の他のペアの指標を呼び出す ものです。このインジケータは1分足で動作し、ドルインデックスに相場がないこともあります。例えば、ユーロには15分足のローソク足があり、ドルインデックスにはそのようなローソク足がない場合、インデックスはフリーズして刻みをつけません。そして、しばらくすると、EURに16分足のローソク足が、USD指数に16分足のローソク足が表示されます。質問は何ですか?インジケーターの計算を同期させ、呼び出されたすべてのシンボルのバーが時間的に一致したときのみカウントされるようにするにはどうすればよいでしょうか。この構造を試してみましたif((iTime(NULL,0,i)==iTime("XAUUSD",0,i))&&(iTime(NULL,0,i)==iTime("EURJPY",0,i))){ 一見クールだが、計算は当日のものだけで、前日のシグナルはない。シンボルの同期については、標準的なソリューションがあるのかもしれませんね。 Artyom Trishkin 2016.05.09 02:54 #10422 nikelodeon:もう少し詳しくしっかり記述します。主な指標は、ユーロドル・ペアにあります。この指標は、金、ドルインデックス、ユーロ通貨の他のペアの指標を呼び出すものです。例えば、ユーロには15分足のローソク足があり、ドルインデックスにはそのようなローソク足がなく、インデックスがフリーズしてティックしないなど、ドルインデックスには相場がないことがあります。そして、しばらくすると、EURに16分足のローソク足が、USD指数に16分足のローソク足が表示されます。質問は何ですか?インジケーターの計算を同期させ、呼び出されたすべてのシンボルのバーが時間的に一致したときのみカウントされるようにするにはどうすればよいでしょうか。この構造を試してみました一見クールだが、計算は当日のものだけで、前日のシグナルはない。もしかしたら、シンボルの同期のための標準的なソリューションがあるかもしれませんね?シンボルのデータを取得するために、ループ内のタイマSymbolInfoTick() で試してみてください。そして、そこにはすでに必要な同期があります。つまり、現在のシンボルでは、このシンボルのティックが到着したときだけプログラムが開始されるのです。そのため、他のシンボルからの刻みが間に合わなくなります。しかし、ティックと独立して動作するタイマーでは、他のシンボルからティックを取得することができるようになります。自分以外のシンボルのティックに高速で反応する必要がある場合は、タイマーをミリ秒に設定することができます。 削除済み 2016.05.09 13:48 #10423 artmedia70: しかも、ひどくぼやけた質問で、自分にしか理解できない。万歳!!!!ありがとうございました。ハッピーホリデーあと2点、あなた。1) インジケータを別ウィンドウで削除できる?2)現在のATRが(H期間の)ATRより高い場合、そのバーの上のATRは、別の色で強調表示されますか? または値は、このバーの上にのみ書き込まれるのでしょうか? Artyom Trishkin 2016.05.09 16:25 #10424 kocunyc89:万歳!!!!ありがとうございました。ハッピーホリデーあと2点、あなた。1)インジケータを別ウィンドウで削除することは可能ですか?2)現在のATRがH期間のATRより大きい場合、そのバーの上のATRを別の色でハイライトする機能を追加する? またはそのバーの上だけに値を書き込む?あらら...ほら、自分で編集して。//+------------------------------------------------------------------+ //| iATRwithData.mq4 | //| Copyright 2016, Artem A. Trishkin, Skype artmedia70 | //| https://login.mql5.com/ru/users/artmedia70 | //+------------------------------------------------------------------+ #property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70" #property link "https://login.mql5.com/ru/users/artmedia70" #property version "1.00" #property strict #property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 //--- plot ATR #property indicator_label1 "ATR" #property indicator_type1 DRAW_LINE #property indicator_color1 clrDodgerBlue #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //+------------------------------------------------------------------+ //| enums | //+------------------------------------------------------------------+ enum enumYN { enYes=1, // Yes enNo=0, // No }; //+------------------------------------------------------------------+ //| input parameters | //+------------------------------------------------------------------+ input int PeriodATR=14; // ATRs calculation period int periodATR=(PeriodATR<1)?1:PeriodATR; sinput enumYN DrawGraphic=enYes; // Drawing ATR data over the candles sinput int StartDrawingBar=100; // Max bar for drawing ATRs data int startDrawingBar; sinput int TextSize=5; // Text size sinput color TextColor=clrDodgerBlue; // Text color //--- indicator buffers double BufferATR[]; string Prefix; //+------------------------------------------------------------------+ //| Classes | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,BufferATR); Prefix="iATRwd("+IntegerToString(periodATR)+")"; IndicatorSetString(INDICATOR_SHORTNAME,Prefix); int bars=Bars(Symbol(),Period()); startDrawingBar=(StartDrawingBar<1)?1:(StartDrawingBar>bars)?bars:StartDrawingBar; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- delete graphics ObjectsDeleteAll(0,Prefix,0); //--- } //+------------------------------------------------------------------+ //| 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(rates_total<periodATR) return(0); int limit=rates_total-prev_calculated; if(limit>1) limit=rates_total-periodATR-1; //--- for(int i=limit; i>=0; i--) { BufferATR[i]=iATR(Symbol(),Period(),periodATR,i); if(DrawGraphic && i<startDrawingBar) { string tm_txt=TimeToString(time[i],TIME_DATE|TIME_MINUTES); string nm=Prefix+"_"+tm_txt; string text=IntegerToString(int(BufferATR[i]/Point())); string tooltip="ATRs period for candle on "+tm_txt+" is "+text; SetArrowText(0,nm,TextColor,text,0,ANCHOR_LOWER,time[i],high[i],"Arial",TextSize,tooltip); } } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ //| Functions | //+------------------------------------------------------------------+ void SetArrowText(long chart_id, string name, color text_color, string text, int sub_window, long text_anchor, long text_time1, double text_price1, string font="Arial", long font_size=5, string tooltip="\n", bool selection=false, bool hidden=true) { if(ObjectFind(chart_id,name)<0) ObjectCreate(chart_id,name,OBJ_TEXT,sub_window,text_time1,text_price1); ObjectSetInteger(chart_id,name,OBJPROP_ANCHOR,text_anchor); ObjectSetInteger(chart_id,name,OBJPROP_WIDTH,font_size); ObjectSetString(chart_id,name,OBJPROP_FONT,font); ObjectSetString(chart_id,name,OBJPROP_TEXT,text); ObjectSetInteger(chart_id,name,OBJPROP_COLOR,text_color); ObjectSetInteger(chart_id,name,OBJPROP_FONTSIZE,font_size); ObjectSetInteger(chart_id,name,OBJPROP_TIME1,text_time1); ObjectSetDouble(chart_id,name,OBJPROP_PRICE1,text_price1); ObjectSetInteger(chart_id,name,OBJPROP_SELECTED,selection); ObjectSetInteger(chart_id,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_id,name,OBJPROP_HIDDEN,hidden); ObjectSetString(chart_id,name,OBJPROP_TOOLTIP,tooltip); } //+------------------------------------------------------------------+それとも、私にも全部やってほしいの? 削除済み 2016.05.09 17:31 #10425 artmedia70:あらら...ここでは、自分でやるのです。それとも、私が代わりにやってあげましょうか? ありがとうございました! いい人 Artyom Trishkin 2016.05.09 18:16 #10426 kocunyc89: ありがとうございました!親切な方ですね。 どういたしまして。 PokrovMT5 2016.05.10 17:36 #10427 こんばんは、インジケータでバッファデータをメインチャートとサブエンドの2つのウィンドウに表示させることは可能でしょうか?その場合、どのようにすればよいのでしょうか。 Nauris Zukas 2016.05.11 08:19 #10428 artmedia70:どういたしまして。秘密でないなら、なぜプログラムの最終実行時刻を示すタイムスタンプが必要なのか - その中の時刻は変わりません。 単なる好奇心で...オフラインのティックチャート用です。 Nauris Zukas 2016.05.11 08:28 #10429 こんにちは。 2つのMT4ターミナル間で変数を送信するために、どのような機能を使用できますか?可能であれば、ドキュメントへのリンクを追加してください。 削除済み 2016.05.11 08:50 #10430 abeiks: 2台のMT4端末間で変数を送信するには、どのような機能がありますか?int Flags=FILE_WRITE+FILE_TXT+FILE_COMMON;int Info = FileOpen(fName,Flags)。FileWrite(Info,What's Up); もう一方の端末で、読みます。FileOpenとF1上のカーソル - ヘルプを見る 1...103610371038103910401041104210431044104510461047104810491050...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もう少し詳しくしっかり記述します。
主な指標は、ユーロドル・ペアにあります。この指標は、金、ドルインデックス、ユーロ通貨の他のペアの指標を呼び出す ものです。このインジケータは1分足で動作し、ドルインデックスに相場がないこともあります。例えば、ユーロには15分足のローソク足があり、ドルインデックスにはそのようなローソク足がない場合、インデックスはフリーズして刻みをつけません。そして、しばらくすると、EURに16分足のローソク足が、USD指数に16分足のローソク足が表示されます。質問は何ですか?インジケーターの計算を同期させ、呼び出されたすべてのシンボルのバーが時間的に一致したときのみカウントされるようにするにはどうすればよいでしょうか。
この構造を試してみました
一見クールだが、計算は当日のものだけで、前日のシグナルはない。シンボルの同期については、標準的なソリューションがあるのかもしれませんね。
もう少し詳しくしっかり記述します。
主な指標は、ユーロドル・ペアにあります。この指標は、金、ドルインデックス、ユーロ通貨の他のペアの指標を呼び出すものです。例えば、ユーロには15分足のローソク足があり、ドルインデックスにはそのようなローソク足がなく、インデックスがフリーズしてティックしないなど、ドルインデックスには相場がないことがあります。そして、しばらくすると、EURに16分足のローソク足が、USD指数に16分足のローソク足が表示されます。質問は何ですか?インジケーターの計算を同期させ、呼び出されたすべてのシンボルのバーが時間的に一致したときのみカウントされるようにするにはどうすればよいでしょうか。
この構造を試してみました
一見クールだが、計算は当日のものだけで、前日のシグナルはない。もしかしたら、シンボルの同期のための標準的なソリューションがあるかもしれませんね?
シンボルのデータを取得するために、ループ内のタイマSymbolInfoTick() で試してみてください。そして、そこにはすでに必要な同期があります。
つまり、現在のシンボルでは、このシンボルのティックが到着したときだけプログラムが開始されるのです。そのため、他のシンボルからの刻みが間に合わなくなります。しかし、ティックと独立して動作するタイマーでは、他のシンボルからティックを取得することができるようになります。
自分以外のシンボルのティックに高速で反応する必要がある場合は、タイマーをミリ秒に設定することができます。
しかも、ひどくぼやけた質問で、自分にしか理解できない。
万歳!!!!ありがとうございました。ハッピーホリデー
あと2点、あなた。1) インジケータを別ウィンドウで削除できる?
2)現在のATRが(H期間の)ATRより高い場合、そのバーの上のATRは、別の色で強調表示されますか? または値は、このバーの上にのみ書き込まれるのでしょうか?
万歳!!!!ありがとうございました。ハッピーホリデー
あと2点、あなた。1)インジケータを別ウィンドウで削除することは可能ですか?
2)現在のATRがH期間のATRより大きい場合、そのバーの上のATRを別の色でハイライトする機能を追加する? またはそのバーの上だけに値を書き込む?
あらら...ほら、自分で編集して。
それとも、私にも全部やってほしいの?
あらら...ここでは、自分でやるのです。
それとも、私が代わりにやってあげましょうか?
ありがとうございました!親切な方ですね。
どういたしまして。秘密でないなら、なぜプログラムの最終実行時刻を示すタイムスタンプが必要なのか - その中の時刻は変わりません。
単なる好奇心で...
オフラインのティックチャート用です。
2つのMT4ターミナル間で変数を送信するために、どのような機能を使用できますか?可能であれば、ドキュメントへのリンクを追加してください。
int Flags=FILE_WRITE+FILE_TXT+FILE_COMMON;
int Info = FileOpen(fName,Flags)。
FileWrite(Info,What's Up); もう一方の端末で、読みます。FileOpenとF1上のカーソル - ヘルプを見る