インジケータ内のテキスト - ページ 3 12345 新しいコメント Wolfgang 2010.02.01 09:30 #21 supermagix:OBJPROP_XDISTANCEとOBJPROP_YDISTANCEを動かすと、ベストなポイントが見つかるかもしれません。OBJPROP_YDISTANCEの値を500にすると、ラベルは1ピクセルも動きません。ラベルは1ピクセルも動きません。//--- create object ObjectCreate(0,objectName,OBJ_TEXT,window,0,0); //ObjectSetString(0,objectName,OBJPROP_TEXT,string(ExtRSIBuffer[rates_total-1])); ObjectSetString(0,objectName,OBJPROP_TEXT,DoubleToString(ExtRSIBuffer[rates_total-1],2)); ObjectSetInteger(0,objectName,OBJPROP_COLOR,Red); ObjectSetString(0,objectName,OBJPROP_FONT,"Arial"); ObjectSetInteger(0,objectName,OBJPROP_FONTSIZE,20); //ObjectSetInteger (0,objectName, OBJPROP_CORNER, corner); ObjectSetInteger(0,objectName,OBJPROP_XDISTANCE,0); ObjectSetInteger(0,objectName,OBJPROP_YDISTANCE,500); datetime tm[1]; CopyTime(_Symbol,_Period,0,1,tm); ObjectSetInteger(0,objectName,OBJPROP_TIME,tm[0]); ObjectSetDouble(0,objectName,OBJPROP_PRICE,ExtRSIBuffer[rates_total-1]); Rashid Umarov 2010.02.01 10:23 #22 walb99: 右 上にラベルを入れるにはどうしたらいいですか? この件、検討させていただきます、よろしくお願いします。 antonio 2010.02.01 12:05 #23 Rosh:このようなインジケータを書く前に、少しはMQL5を勉強した方がいいのでは?あなたはとても厄介な間違いを犯しています。 私は学ぼうとしていますが、MQL5の簡単なチュートリアルやコースは存在しません:私は間違いから学び、あなたの助けを求める必要があります。このインストラクションは理解できません。 int i=prev_calculated; if (i>0) prev_calculated--; for(;i<rates_total;i++) コンパイル時にエラーになります。 Rashid Umarov 2010.02.01 16:08 #24 supermagix: 私は学ぼうとしているが、mql5のための簡単なチュートリアルやコースが存在しない:私は間違いから学び、あなたの助けを求める必要があります。私はあなたから書かれたこの命令を理解することはできません。私はコンパイルするときにエラーが発生します。私はmostypedしている、申し訳ありません。右は int i=prev_calculated; if (i>0) i--; for(;i<rates_total;i++) Rashid Umarov 2010.02.01 17:09 #25 Rosh:誤字がありました、すみません。右は ここにもっと正しいコードがあります、使ってください。//+------------------------------------------------------------------+ //| CCIcolor.mq5 | //| Copyright 2009, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2009, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property description "Relative Strength Index" //--- indicator settings #property indicator_separate_window #property indicator_buffers 4 #property indicator_plots 3 //--- input parameters input int CCIPeriod=14; // Period for calculating the CCI input int CCIPeriodTurbo=6; // Period for calculating the TURBOCCI input ENUM_APPLIED_PRICE price1=PRICE_CLOSE; // Method of calculating //---- plot CCI_LINE #property indicator_label1 "CCI_LINE" #property indicator_type1 DRAW_LINE #property indicator_color1 Black #property indicator_style1 STYLE_SOLID #property indicator_width1 3 //---- plot CCI_TURBO_LINE #property indicator_label2 "CCI_TURBO_LINE" #property indicator_type2 DRAW_LINE #property indicator_color2 Navy #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //---- plot CCI_HISTOGRAM #property indicator_label3 "CCI_HISTO" #property indicator_type3 DRAW_COLOR_HISTOGRAM #property indicator_color3 Red,Green #property indicator_style3 STYLE_SOLID #property indicator_width3 2 //----- level #property indicator_level1 -100.0 #property indicator_level2 100.0 #property indicator_level3 -200.0 #property indicator_level4 200.0 #property indicator_level5 -50.0 #property indicator_level6 50.0 //--- indicator buffers double CCI_LINEBuffer[]; // CCI_LINE double CCI_TURBOBuffer[]; // CCI TURBO_LINE double HISTOGRAM[]; // HISTOGRAM double HISTOGRAMColor[]; // HISTOGRAM int copied; int CCIhandle; int CCI_TURBO_handle; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,CCI_LINEBuffer,INDICATOR_DATA);//buffer LINE SetIndexBuffer(1,CCI_TURBOBuffer,INDICATOR_DATA);//buffer Turbo SetIndexBuffer(2,HISTOGRAM,INDICATOR_DATA);//buffer Histogram SetIndexBuffer(3,HISTOGRAMColor,INDICATOR_COLOR_INDEX);//buffer Histogram //name of separate window IndicatorSetString(INDICATOR_SHORTNAME,"MYCCI"); //--- Create the indicator of CCI LINR CCIhandle=iCCI(NULL,0,CCIPeriod,price1); //--- Create the indicator of CCI TURBO CCI_TURBO_handle=iCCI(NULL,0,CCIPeriodTurbo,price1); //--- } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[] ) { //--- not all data may be calculated int calculated=BarsCalculated(CCIhandle); if(calculated<rates_total) { Print("Not all data of CCIhandle is calculated (",calculated,"bars ). Error",GetLastError()); return(0); } //--- not all data may be calculated calculated=BarsCalculated(CCI_TURBO_handle); if(calculated<rates_total) { Print("Not all data of CCI_TURBO_handle is calculated (",calculated,"bars ). Error",GetLastError()); return(0); } //--- we can copy not all data int to_copy; if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total; else { to_copy=rates_total-prev_calculated; if(prev_calculated>0) to_copy++; } //---- get CCI buffers if(CopyBuffer(CCIhandle,0,0,to_copy,CCI_LINEBuffer)<=0) { Print("getting CCIhandle is failed! Error",GetLastError()); return(0); } if(CopyBuffer(CCI_TURBO_handle,0,0,to_copy,CCI_TURBOBuffer)<=0) { Print("getting CCI_TURBO_handle is failed! Error",GetLastError()); return(0); } int i=prev_calculated; if(i>0) i--; for(;i<rates_total;i++) { HISTOGRAM[i]=CCI_LINEBuffer[i]; if(CCI_LINEBuffer[i]<0) { HISTOGRAMColor[i]=0.0;//HISTOGRAM RED } if(CCI_LINEBuffer[i]>0) { HISTOGRAMColor[i]=1.0;//HISTOGRAM Green } } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ antonio 2010.02.01 21:01 #26 Rosh:ここにもっと正しいコードがあります、それを使ってください。私はこの構造を削除しました。 int i=prev_calculated; if(i>0) i--; /////// if(prev_calculated!=0) return(prev_calculated); for(;i<rates_total;i++) ヒストグラムが価格変動 ごとに更新されないので、この構造を削除しました。問題は( return)にあると思うのですが。は正しいですか?あなたの助けをいただきありがとうございます......他の変更もやっているのですが......。 Rashid Umarov 2010.02.01 21:13 #27 supermagix: ヒストグラムが価格変動ごとに更新されないため、この構造を削除しました。は、ヒストグラムが価格変動の たびに更新されなかったためです。この問題は( リターン) にあるのではないかと思っています。ということでよろしいでしょうか?ありがとうございました。......他の変更もやっているのですが......。 おっしゃるとおり、デバッグ用に実装していました。私の投稿からそれを削除しました。 antonio 2010.02.02 22:41 #28 ヒストグラムの色を取得するプログラムを修正したのですが、うまくいきません。カウンタに問題があると思うのですが......周期FORで......正しいですか? //+------------------------------------------------------------------+ //| CCIcolor.mq5 | //| Copyright 2009, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2009, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property description "CCI" //--- indicator settings #property indicator_separate_window #property indicator_buffers 4 #property indicator_plots 3 //--- input parameters input int CCIPeriod=14; // Period for calculating the CCI input int CCIPeriodTurbo=6; // Period for calculating the TURBOCCI input ENUM_APPLIED_PRICE price1=PRICE_CLOSE; // Method of calculating //---- plot CCI_LINE #property indicator_label1 "CCI_LINE" #property indicator_type1 DRAW_LINE #property indicator_color1 Black #property indicator_style1 STYLE_SOLID #property indicator_width1 3 //---- plot CCI_TURBO_LINE #property indicator_label2 "CCI_TURBO_LINE" #property indicator_type2 DRAW_LINE #property indicator_color2 Navy #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //---- plot CCI_HISTOGRAM #property indicator_label3 "CCI_HISTO" #property indicator_type3 DRAW_COLOR_HISTOGRAM #property indicator_color3 Gray,Gold,Red,Green #property indicator_style3 STYLE_SOLID #property indicator_width3 2 //----- level #property indicator_level1 -100.0 #property indicator_level2 100.0 #property indicator_level3 -200.0 #property indicator_level4 200.0 #property indicator_level5 -50.0 #property indicator_level6 50.0 //--- indicator buffers double CCI_LINEBuffer[]; // CCI_LINE double CCI_TURBOBuffer[]; // CCI TURBO_LINE double HISTOGRAM[]; // HISTOGRAM double HISTOGRAMColor[]; // HISTOGRAM int copied; int CCIhandle; int CCI_TURBO_handle; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,CCI_LINEBuffer,INDICATOR_DATA);//buffer LINE SetIndexBuffer(1,CCI_TURBOBuffer,INDICATOR_DATA);//buffer Turbo SetIndexBuffer(2,HISTOGRAM,INDICATOR_DATA);//buffer Histogram SetIndexBuffer(3,HISTOGRAMColor,INDICATOR_COLOR_INDEX);//buffer Histogram //name of separate window IndicatorSetString(INDICATOR_SHORTNAME,"MYCCI"); //--- Create the indicator of CCI LINR CCIhandle=iCCI(NULL,0,CCIPeriod,price1); //--- Create the indicator of CCI TURBO CCI_TURBO_handle=iCCI(NULL,0,CCIPeriodTurbo,price1); //--- } //+------------------------------------------------------------------+ //| 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[]) { //--- not all data may be calculated int calculated=BarsCalculated(CCIhandle); if(calculated<rates_total) { Print("Not all data of CCIhandle is calculated (",calculated,"bars ). Error",GetLastError()); return(0); } //--- not all data may be calculated calculated=BarsCalculated(CCI_TURBO_handle); if(calculated<rates_total) { Print("Not all data of CCI_TURBO_handle is calculated (",calculated,"bars ). Error",GetLastError()); return(0); } //--- we can copy not all data int to_copy; if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total; else { to_copy=rates_total-prev_calculated; if(prev_calculated>0) to_copy++; } //---- get CCI buffers if(CopyBuffer(CCIhandle,0,0,to_copy,CCI_LINEBuffer)<=0) { Print("getting CCIhandle is failed! Error",GetLastError()); return(0); } if(CopyBuffer(CCI_TURBO_handle,0,0,to_copy,CCI_TURBOBuffer)<=0) { Print("getting CCI_TURBO_handle is failed! Error",GetLastError()); return(0); } int i=prev_calculated; if(i>0) i--; for(;i<rates_total;i++) { HISTOGRAM[i]=CCI_LINEBuffer[i]; //--- set color histogram Long if(CCI_LINEBuffer[i+5]<0 && CCI_LINEBuffer[i+4]>0 && CCI_LINEBuffer[i+3]>0 && CCI_LINEBuffer[i+2]>0 && CCI_LINEBuffer[i+1]>0) HISTOGRAMColor[i]=1.0; // set color Yellow (only one histogram) } { if(CCI_LINEBuffer[i+5]>0 && CCI_LINEBuffer[i+4]>0 && CCI_LINEBuffer[i+3]>0 && CCI_LINEBuffer[i+2]>0 && CCI_LINEBuffer[i+1]>0); HISTOGRAMColor[i]=2.0; // set color Green } //--- set color histogram Short { if(CCI_LINEBuffer[i+5]>0 && CCI_LINEBuffer[i+4]<0 && CCI_LINEBuffer[i+3]<0 && CCI_LINEBuffer[i+2]<0 && CCI_LINEBuffer[i+1]<0) HISTOGRAMColor[i]=1.0; // set color Yellow (onli one histogram) } { if(CCI_LINEBuffer[i+5]<0 && CCI_LINEBuffer[i+4]<0 && CCI_LINEBuffer[i+3]<0 && CCI_LINEBuffer[i+2]<0 && CCI_LINEBuffer[i+1]<0) HISTOGRAMColor[i]=3.0; // set color Red } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ これはどうすればいいのでしょうか?助けてくれてありがとうございます。 investeo 2010.02.04 03:49 #29 Rosh: この件について検討します。私は、異なるキーストロークを使用することによって変更される一時的なグローバル変数を通じて、インジケータと対話する概念実証のEAを作りました。 角は機能しますが、下の角はタイムラインではなく、インジケーターフレームに対する相対的なものであることを忘れてはいけません。 残念ながらビデオのアップロードはこのフォーラムではうまくいかないようです :( とりあえず、私はそれを上に置くhttp://www.youshare.com/Guest/c94bb3e9cfe6a424.flv.html(フルスクリーンでご覧ください) ベストリザルトです。 antonio 2010.02.04 11:25 #30 何度もテストした結果、このような結果になりました。黒と緑の値 = ヒストグラムの違い黒は偉大な値=CCIの現在値 しかし、ヒストグラムの色に問題があります。 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
OBJPROP_XDISTANCEとOBJPROP_YDISTANCEを動かすと、ベストなポイントが見つかるかもしれません。
OBJPROP_YDISTANCEの値を500にすると、ラベルは1ピクセルも動きません。
ラベルは1ピクセルも動きません。
右 上にラベルを入れるにはどうしたらいいですか?
このようなインジケータを書く前に、少しはMQL5を勉強した方がいいのでは?あなたはとても厄介な間違いを犯しています。
私は学ぼうとしていますが、MQL5の簡単なチュートリアルやコースは存在しません:私は間違いから学び、あなたの助けを求める必要があります。
このインストラクションは理解できません。
コンパイル時にエラーになります。
私は学ぼうとしているが、mql5のための簡単なチュートリアルやコースが存在しない:私は間違いから学び、あなたの助けを求める必要があります。
私はあなたから書かれたこの命令を理解することはできません。
私はコンパイルするときにエラーが発生します。
私はmostypedしている、申し訳ありません。右は
誤字がありました、すみません。右は
ここにもっと正しいコードがあります、使ってください。
ここにもっと正しいコードがあります、それを使ってください。
私はこの構造を削除しました。
ヒストグラムが価格変動 ごとに更新されないので、この構造を削除しました。
問題は( return)にあると思うのですが。
は正しいですか?
あなたの助けをいただきありがとうございます
......他の変更もやっているのですが......。
ヒストグラムが価格変動ごとに更新されないため、この構造を削除しました。
は、ヒストグラムが価格変動の たびに更新されなかったためです。
この問題は( リターン) にあるのではないかと思っています。
ということでよろしいでしょうか?
ありがとうございました。
......他の変更もやっているのですが......。
ヒストグラムの色を取得するプログラムを修正したのですが、うまくいきません。
カウンタに問題があると思うのですが......周期FORで......正しいですか?
これはどうすればいいのでしょうか?
助けてくれてありがとうございます。
この件について検討します。
私は、異なるキーストロークを使用することによって変更される一時的なグローバル変数を通じて、インジケータと対話する概念実証のEAを作りました。
角は機能しますが、下の角はタイムラインではなく、インジケーターフレームに対する相対的なものであることを忘れてはいけません。
残念ながらビデオのアップロードはこのフォーラムではうまくいかないようです :(
とりあえず、私はそれを上に置く
http://www.youshare.com/Guest/c94bb3e9cfe6a424.flv.html
(フルスクリーンでご覧ください)
ベストリザルトです。
何度もテストした結果、このような結果になりました。
黒と緑の値 = ヒストグラムの違い
黒は偉大な値=CCIの現在値
しかし、ヒストグラムの色に問題があります。