กองทุน SPDR GOLD SHARES
ถือทองก่อนหน้า
ถือทองล่าสุด
0.00
*หน่วยตัน / ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
สถิติกองทุน SPDR
ราคาทองคำแท่ง 96.5%
ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
ครั้งที่
ราคาก่อนหน้า
ราคาล่าสุด
0
(หน่วย บาท*) / อัปเดตล่าสุดเมื่อวันที่ 13 ก.ค. 2566 เวลา 13:04 น.
สถิติราคาทองคำ ไทย

ต้องการลบ Label text ที่อยูนในกราฟครับ

  • 3 replies
  • 1,968 views
ต้องการลบ Label text ที่อยูนในกราฟครับ
« เมื่อ: 06, พฤษภาคม 2020, 02:29:33 PM »
ต้องการลบ Label text ที่อยูนในกราฟครับ มันมีอินดิเคเตอร์ตัวหนึ่งที่แสดงตัวเลขไว้บนจอ

เงื่อนไขก็คือ เลขที่อยู่ด้านบนหากมีราคา สูงกว่าหรือเท่ากับ ให้ลบ label นั้น ๆ ออกไป
เลขที่อยู่ด้านล่างราคา หากมีราคาต่ำกว่าหรือเท่ากับ ก็ให้ลบ lebel นั้น ๆ ออกไปเช่นกัน

ในรูปจะมีจุดที่วงกลมเอาไว้ที่มันจะไม่ถูกลบ นอกนั้นจะโดนลบทั้หมดครับ

ผมแนบอินดิเคเตอร์มาและโค๊ดไฟล์บางส่วนที่ผมเขียนค้นหา label บนจอได้แล้ว แต่ยังลบไม่ได้เลยครับ ช่วยแนะวิธี หรือ แนวทางในการแก้ไขให้หน่อยครับ

//+------------------------------------------------------------------+
//|                                                Delete Number.mq4 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window

string   name[1000000];
string   value1[1000000];
string   valTime1[1000000];
string   Time1;
int      cnt,cnt1,N;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{   
   int counted_bars = IndicatorCounted();
   int limit = Bars - counted_bars;
         N=ObjectsTotal()-1;
         for(cnt=N;cnt>=0;cnt--)
         {
            name[cnt]=ObjectName(cnt);
            if (StringFind(name[cnt],"PZDT-+",0)>-1)
               {
                   value1[cnt]     = ObjectGet(name[cnt], OBJPROP_PRICE1);
                   valTime1[cnt]   = TimeToString(ObjectGet(name[cnt], OBJPROP_TIME1));
               }
         }
         
         for(cnt=N;cnt>=0;cnt--)
         {
            for(cnt1=N;cnt1>=1;cnt1--)
               {
                  if(valTime1[cnt1]>valTime1[cnt1-1])
                  {
                  string TempName=name[cnt1];
                  string Tempvalue1=value1[cnt1];
                  string TempvalTime1=valTime1[cnt1];

                  name[cnt1]=name[cnt1-1];
                  value1[cnt1]=value1[cnt1-1];
                  valTime1[cnt1]=valTime1[cnt1-1];
                 
                  name[cnt1-1]=TempName;
                  value1[cnt1-1]=Tempvalue1;
                  valTime1[cnt1-1]=TempvalTime1;
                  }
               }
         }
 
         
         N=20;
         for(cnt=N;cnt>=0;cnt--)
         {
               for(int i=0;i<1000;i++)
                 {
                 }
               Print(cnt," name : ",name[cnt]," value : ",value1[cnt]," valTime1 : ",valTime1[cnt]);
         }
   
//------------------------------   
   return(0);
}
//+------------------------------------------------------------------+

Re: ต้องการลบ Label text ที่อยูนในกราฟครับ
« ตอบกลับ #1 เมื่อ: 06, พฤษภาคม 2020, 03:28:19 PM »
ทดสอบลองใช้ ObjectDelete ลบ ด้วยชื่อของวงกลม ลบออกได้ใหมครับ


Re: ต้องการลบ Label text ที่อยูนในกราฟครับ
« ตอบกลับ #2 เมื่อ: 06, พฤษภาคม 2020, 04:40:59 PM »
ลบได้ครับ แต่เราต้องใชเงื่อนไขในการหาชื่อ และเช็คว่าแท่งเทียนปัจจุบัน มากกว่า หรือ น้อยกว่า label นั้นหรือยัง

ซึ่งตอนนี้ตามที่ผมค้นหาในโค๊ดด้านบนนั้นก็จะทำให้ทราบชื่อ label ทั้งหมดแล้วครับ

Re: ต้องการลบ Label text ที่อยูนในกราฟครับ
« ตอบกลับ #3 เมื่อ: 06, พฤษภาคม 2020, 06:15:46 PM »

เพิ่งจะเปิดดูอินดี้ที่แนบมา

ลองแก้ไขชื่อของ object text ที่จะลบให้มันสั้นๆ ดูสิครับ แล้วลองลบใหม่น่าจะออกนะครับ

ชื่อมันตั้งไว้ยายาก เลยทำให้ลบออกยากหรือเปล่าครับ ลองตั้งชื่อตาม time อย่างเดียวก็ได้ น่าจะทำให้ลบออกง่ายชึ้นนะครับ