//+------------------------------------------------------------------+ //| text win 2.mq5 | //| Copyright CREATE BY DK | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "CREATE BY DK" #property link "http://www.mql5.com" #property version "1.00" #property indicator_separate_window #property indicator_plots 1
string ddock = "try it out"; int windows = -1; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ intOnInit() { //--- indicator buffers mapping /* if ((ENUM_PROGRAM_TYPE)MQL5InfoInteger(MQL5_PROGRAM_TYPE)==PROGRAM_INDICATOR) windows=ChartWindowFind();
if (ObjectFind(0,ddock)<0) { ObjectCreate(0,ddock,OBJ_LABEL,windows,0,0); ObjectSetInteger(0,ddock,OBJPROP_XDISTANCE,200); ObjectSetInteger(0,ddock,OBJPROP_YDISTANCE,20); ObjectSetInteger(0,ddock,OBJPROP_CORNER, CORNER_RIGHT_UPPER); ObjectSetInteger(0,ddock,OBJPROP_COLOR,LightBlue); ObjectSetString(0,ddock,OBJPROP_FONT,"Arial"); ObjectSetInteger(0,ddock,OBJPROP_FONTSIZE,14); ObjectSetString(0,ddock,OBJPROP_TEXT, "TRYING VERY HARD"); } else Print("ddock already exists"); */ /* if((ENUM_PROGRAM_TYPE)MQL5InfoInteger(MQL5_PROGRAM_TYPE)==PROGRAM_INDICATOR) windows=ChartWindowFind(); */ // check if label object does not already exist and create it if(ObjectFind(0,ddock)<0) { // Create label in indicator's window ObjectCreate(0,ddock,OBJ_TEXT,windows,0,0); // Set X and Y distance from UPPER RIGHT CORNER ObjectSetInteger(0,ddock,OBJPROP_XDISTANCE,200); ObjectSetInteger(0,ddock,OBJPROP_YDISTANCE,20); ObjectSetInteger(0,ddock,OBJPROP_CORNER, CORNER_RIGHT_UPPER); // Set text properties: colour, font and font size ObjectSetInteger(0,ddock,OBJPROP_COLOR,LightPink); ObjectSetString(0,ddock,OBJPROP_FONT,"Arial"); ObjectSetInteger(0,ddock,OBJPROP_FONTSIZE,14); // Set text to display ObjectSetString(0,ddock,OBJPROP_TEXT,"TRYING VERY HARD"); } elsePrint("ddock already exists");
//--- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ intOnCalculate(constint rates_total, constint prev_calculated, constdatetime& time[], constdouble& open[], constdouble& high[], constdouble& low[], constdouble& close[], constlong& tick_volume[], constlong& volume[], constint& spread[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ /* void OnDeinit(const int reason) { if (!ObjectFind(0,ddock)<0) ObjectDelete(0,ddock); } /* void OnDeinit(const int reason) { //--- if(!ObjectFind(0,ddock)<0) ObjectDelete(0, ddock); } */
ありがとうwald99 : 私は試しています。
私はMetaquotesに、可能であればmq5に特化した、いくつかのビデオを含む、ベース(構文)から始まるコースの作成を提案します:これは、プログラミングを始める人のために非常に有用です。
こんにちは、Investeo
ラベルは表示されるのですが、値が更新されないのです。私は間違っていたのでしょうか?
以下は私のコードです。
walb99です。
これを試してみてください。問題は、ラベルオブジェクトが 利用できない場合にのみ、値を更新しようとしたことです。ラベルにタイムスタンプを追加して、ティックごとに更新される時間を確認できるようにしました。
walb99です。
これを試してみてください。ラベルオブジェクトが ない場合にのみ値を更新しようとしたのが問題でした。ラベルにタイムスタンプを追加して、ティックごとに更新される時間を見ることができるようにしました。
ありがとうございます。
ラベルの色の情報を括弧の中に入れると、ラベルの色も正しく更新されます。
上のrsiの例では、そのオブジェクト名をどこに代入しているのでしょうか?コード全体を読みましたが、理解できません。
私はただ単純なテキストをインジケータウィンドウに入れたいだけなのですが、上記のRSIの例のような同じ結果を得ることができません。
私のコード。
結果
OK、テキストを表示するところまではできたので、次はインジケータでやってみます。