ต้องการลบ 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);
}
//+------------------------------------------------------------------+