0
у меня не получается вставить:
for(int ihist=ObjectsTotal()-1; ihist>=0; ihist--)
     {
      if(StringFind(ObjectName(ihist),"sh",0)>=0);
     }

заместо:
sh569296869 selllimit 0.03 GBPUSD at 1.3561

выдается ошибка if else
Прошу вас помочь вставить, как я понял это и определяет название стрелки, это и есть заказ)
avatar

divelse

  • 6 октября 2018, 14:32
0
     if(lparam==(StringGetChar(KNOPKA_P,0)))
     {
        //тут нужно указать название любой стрелки или же линии которое присутствует на графике
        if(ObjectFind(0,"sh569296869 selllimit 0.03 GBPUSD at 1.3561")>=0)
        {             
           //тут удаление
           for(int ihist=ObjectsTotal()-1; ihist>=0; ihist--)
           {
           if(StringFind(ObjectName(ihist),"sh",0)>=0) ObjectDelete(ObjectName(ihist));
           }
           //тут удаление
        }
      else
        {  
тут создается сам этот индюк(переделка со скрипта)
        }
     }


Андрей, вы недавно переделали скрипт:
zakaz.opentraders.ru/47678.html

я переделял его в индикатор, нанёс его на график и взял название стрелки и вставил в:
sh569296869 selllimit 0.03 GBPUSD at 1.3561

так вот при нажатии на кнопку, сейчас работает показ, но только если вручную добавлено само название (т.е: sh569296869 selllimit 0.03 GBPUSD at 1.3561), и я не могу добавил то что будет автоматически определять название хоть 1-й стрелки из тех что на графике)

как я понял нужно вставить:
заместо: sh569296869 selllimit 0.03 GBPUSD at 1.3561
вставить наверное вот это(Скорее всего это как я понял оно и показывает название):
<code>for(int ihist=ObjectsTotal()-1; ihist>=0; ihist--)
     {
      if(StringFind(ObjectName(ihist),"sh",0)>=0);
     }</code>
avatar

divelse

  • 6 октября 2018, 10:11
0
т.е я вручную посмотрел название и ввел, все работает, но как задать имя чтобы оно работало, не написав в ручную?
avatar

divelse

  • 29 сентября 2018, 10:03
0
Андрей все круто работает, пожалуйста подскажите как правильно сделать, у вас это займет не более минуты, а у меня мозгов нехватает:
<code>
     if(lparam==(StringGetChar(KNOPKA_P,0)))
     {
        //тут нужно указать название любой стрелки или же линии которое присутствует на графике
        if(ObjectFind(0,"sh569296869 selllimit 0.03 GBPUSD at 1.3561")>=0)
        {             
           //тут удаление
           for(int ihist=ObjectsTotal()-1; ihist>=0; ihist--)
           {
           if(StringFind(ObjectName(ihist),"sh",0)>=0) ObjectDelete(ObjectName(ihist));
           }
           //тут удаление
        }
      else
        {  
тут создается сам этот индюк(переделка со скрипта)
        }
     }
</code>
так работает но в коде прописано название: sh569296869 selllimit 0.03 GBPUSD at 1.3561
как можно задать имя? Пожалуйста посмотрите))
пытался пытался ругается if и else
avatar

divelse

  • 29 сентября 2018, 06:52
0
да вроде бы идеально, Спасибо огромное)))
avatar

divelse

  • 29 сентября 2018, 05:26
0
Андрей нашёл причину очень давно)
в этом скрипте удаляются вообще все стрелки:
// Удаление всех стрелок сделок с графика
   ObjectsDeleteAll(0,OBJ_ARROW);
// Удаление всех линий закрытых позиций с графика
   ObjectsDeleteAll(0,OBJ_TREND);


Пожалуйста задайте как то своё личное, бин не знаю как написать, но в скрипте удаляются сразу все стрелки и линии а мне нужно чтобы удалялись только те стрелки и те линии которые работают от индикатора, пожалуйста разберитесь что я написал) Спасибо!
avatar

divelse

  • 28 сентября 2018, 18:13
0
а можно ли в этом скрипте задать своё имя которое бы точно не было ни в 1 из индикаторов тобишь своё
А удалять по префиксу(может чушь написал)
avatar

divelse

  • 28 сентября 2018, 18:10
0
Спасибо, сейчас попробую узнать
avatar

divelse

  • 28 сентября 2018, 18:09
0
Андрей спасибо что отписались, при удалении скрипта удаляются все стрелки помимо стрелок этого индикатора, пожалуйста исправьте
avatar

divelse

  • 28 сентября 2018, 15:19
0
Спасибо но нужно именно индюк, смотреть закрытые сделки
я понимаю что можно перебросить, но могли бы вы найти или же сделать индикатор который показывает закрытые сделки. Пожалуйтста
avatar

divelse

  • 23 сентября 2018, 16:57
0
Андрей Спасибо большое, но в прифмере выше поулчается что каждый последующий увеличивается мне такое не подходит.
Пожалуйста подскажите как прописать новый прямоугольник с трочку, т.е чтобы не нужно было всё время писать:
ObjectCreate(0,"info2",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(0,"HELP", OBJPROP_SELECTABLE, true);
   ObjectSetInteger(0,"HELP",OBJPROP_WIDTH,0); 
   ObjectSetInteger(0,"HELP",OBJPROP_XDISTANCE,13);
   ObjectSetInteger(0,"HELP",OBJPROP_YDISTANCE,gk+30);
   ObjectSetInteger(0,"HELP",OBJPROP_XSIZE,298);
   ObjectSetInteger(0,"HELP",OBJPROP_YSIZE,480);
   ObjectSetInteger(0,"HELP",OBJPROP_BGCOLOR,DimGray);
   ObjectSetInteger(0,"HELP",OBJPROP_BORDER_TYPE,BORDER_SUNKEN);
   ObjectSetInteger(0,"HELP",OBJPROP_CORNER,0);
   ObjectSetInteger(0,"HELP",OBJPROP_BORDER_TYPE, 0);
   ObjectSetInteger(0,"HELP",OBJPROP_COLOR,DimGray);
   ObjectSetInteger(0,"HELP",OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,"HELP",OBJPROP_WIDTH,1);
   ObjectSetInteger(0,"HELP",OBJPROP_BACK,false);


Может можно как то указать:
void PutRectLabel(string name,int y1,int y2)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_RECTANGLE_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,11);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y1);
//--- установим размеры метки
   ObjectSetInteger(0,name,OBJPROP_XSIZE,55);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,y2);
//--- установим цвет фона
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,Red);
//--- установим тип границы
   ObjectSetInteger(0,name,OBJPROP_BORDER_TYPE,BORDER_RAISED);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,0);
  }


А дальше код для построения прямоугольника в 1 строку

Спасибо
avatar

divelse

  • 13 августа 2018, 10:23
0
спасибо, я если не ошибаюсь уже видел это! Но как задать разные размеры прямоугольникам?
avatar

divelse

  • 12 августа 2018, 14:59
0
Самый фиговый советник который я когда то видел, слил пару моих счетов((((( эхххх
avatar

divelse

  • 10 августа 2018, 08:32
0
Спасибо, могли бы вы написать пример:
Если х = 1 { 1 действие }
Если х = 2 { 2 действие }
если х = 8 { 3 действие }
avatar

divelse

  • 7 мая 2018, 17:38
0
так тут же 2 условия? а мне нужно 3
avatar

divelse

  • 7 мая 2018, 15:42
0
это не заказ, это вопрос, что можно сделать?
avatar

divelse

  • 2 мая 2018, 15:56
0
да, так и есть) что посоветуете?
avatar

divelse

  • 2 мая 2018, 15:47
0
Спасибо огромное Андрей, Благодарю, Спасибо еще раз
avatar

divelse

  • 2 мая 2018, 14:57