Группа "Стол заказов MQL"

Рейтинг 1381



РЕКОМЕНДУЮ



дополнить индикатор

есть такой индикатор ZigZagWithPipsValueindicator.ex4 (20 Kb) жаль только в EX4 файле. можно ли добавить к нему алерт пара, т\ф, сел\бай когда цифры меняют цвет ( с зелёного на красный звучит алерт на ТЕКУЩЕЙ СВЕЧКИ. спасибо
  • 0
  • Просмотров: 351
  • 10 июля 2019, 20:27
  • komod
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
Доработка индикатора "Величина отката". (2)
10 июля 2019
12 июля 2019

Комментарии (16)

+
0
skupe:max.celica
имеется открытый код
avatar

  2  Maxix Сообщений: 12

  • 10 июля 2019, 20:33
+
0
скинь сюда или в личку пожалуйста если не жалко
avatar

  9  komod Автор Сообщений: 82

  • 10 июля 2019, 20:47
+
0
Лучше сюда.
avatar

  8  Kuzimich Сообщений: 132 - Андрей

  • 10 июля 2019, 20:49
+
0
Перестань хернёй маятся.Скидывай сюда, если есть.А то везде свой скайп суёшь.Поделись с народом.Мало ли кому пригодится.Тут всё, для всех бесплатно.Если тебя это не устраивает-тогда вали отселева.Без тебя проживём.*evil* 
avatar

  8  Kuzimich Сообщений: 132 - Андрей

  • 10 июля 2019, 20:59
+
0
нужен файл *.mq4
avatar

  28  AM2 Сообщений: 9306 - Андрей

  • 10 июля 2019, 20:51
+
0
ищю. пока не получается
avatar

  9  komod Автор Сообщений: 82

  • 10 июля 2019, 20:59
+
0
нашла, а как теперь сюда закинуть?
он есть в свободном доступе. кто сможет закиньте сюда.
Редактирован: 10 июля 2019, 21:16
avatar

  9  komod Автор Сообщений: 82

  • 10 июля 2019, 21:13
+
0
komod
сегодня читал про императора комода. кадр был похлеще калигулы! *stesnitelno*  :D 
avatar

  28  AM2 Сообщений: 9306 - Андрей

  • 10 июля 2019, 21:19
+
0
я она :D 
avatar

  9  komod Автор Сообщений: 82

  • 10 июля 2019, 21:32
+
0
Андрей здравствуйте, попутно к теме, можно ли*think*  сделать в этом индикаторе обычную буферную стрелку на заданные параметры пипсов и баров при их достижении появляется стрелка ?!
avatar

  2  Maxix Сообщений: 12

  • 10 июля 2019, 21:32
+
0
вот скинули, не пожалели спасибо. подходит?
avatar

  9  komod Автор Сообщений: 82

  • 10 июля 2019, 21:35
+
0
на 16-е
avatar

  28  AM2 Сообщений: 9306 - Андрей

  • 10 июля 2019, 22:06
+
0
#property copyright «Copyright © 2012, Gehtsoft USA LLC»
#property link «fxcodebase.com»

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- indicator parameters
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
extern int FontSize=8;
extern color TextColor=Brown;
//---- indicator buffers
double ExtMapBuffer[];
double ExtMapBuffer2[];
int giSumCounter,giSumTotal;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);
//---- drawing settings
SetIndexStyle(0,DRAW_SECTION);
//---- indicator buffers mapping
SetIndexBuffer(0,ExtMapBuffer);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(0,0.0);
//---- indicator short name
IndicatorShortName(«ZigZag_Counter (»+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
//---- initialization done
return(0);
}
int deinit()
{
ObjectsDeleteAll(0, OBJ_TEXT);
return(0);
}
void DeleteLabels(double startBar, double endBar)
{
int i;
int obj_total=ObjectsTotal();
string obj_name;
datetime obj_time;
for (i=obj_total-1;i>=0;i--)
{
obj_name=ObjectName(i);
if (ObjectType(obj_name)!=OBJ_TEXT) continue;
obj_time=ObjectGet(obj_name, OBJPROP_TIME1);
if ( (obj_time>=startBar) && (obj_time<=endBar) && (StringSubstr(obj_name,0,5)==«Count») )
{
ObjectDelete(obj_name);
}
}
return;
}

string TextFormat(int bars, double pips)
{

giSumCounter = giSumCounter+1;
giSumTotal = giSumTotal+(bars+1);
//Print(«Average bars ~ BarsLast = »,(bars)+1," giSumCounter= ",giSumCounter," giSumTotal= ",giSumTotal, " Ave Bars = ",giSumTotal / giSumCounter);
Comment(
"\n Ave Bars = ",giSumTotal / giSumCounter
//"\n Lots = ",Lots,
//"\n dFracDim = ",dFracDim
);
return (""+(DoubleToStr(MathAbs(bars)+1,0))+" bars, "+DoubleToStr(MathFloor(MathAbs(pips)/Point+0.5),0)+" pips");

}

void DrawLabel(int bar1, int bar2, double price1, double price2)
{
int Nbar1=iBarShift(NULL, 0, bar1);
int Nbar2=iBarShift(NULL, 0, bar2);
string Str=TextFormat(Nbar1-Nbar2, price1-price2);
string obj_name=«Count „+bar2;
ObjectCreate(obj_name, OBJ_TEXT, 0, bar2, price2);
ObjectSetText(obj_name, Str, FontSize, “Arial», TextColor);
ObjectSet(obj_name, OBJPROP_PRICE1, price2);
return;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{

giSumCounter=0;giSumTotal=0;
int shift, back,lasthighpos,lastlowpos;
double val,res;
double curlow,curhigh,lasthigh,lastlow;

for(shift=Bars-ExtDepth; shift>=0; shift--)
{
val=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)];
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ExtMapBuffer[shift+back];
if((res!=0)&&(res>val)) ExtMapBuffer[shift+back]=0.0;
}
}
}
ExtMapBuffer[shift]=val;
//--- high
val=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)];
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ExtMapBuffer2[shift+back];
if((res!=0)&&(res<val)) ExtMapBuffer2[shift+back]=0.0;
}
}
}
ExtMapBuffer2[shift]=val;
}

// final cutting
lasthigh=-1; lasthighpos=-1;
lastlow=-1; lastlowpos=-1;

for(shift=Bars-ExtDepth; shift>=0; shift--)
{
curlow=ExtMapBuffer[shift];
curhigh=ExtMapBuffer2[shift];
if((curlow==0)&&(curhigh==0)) continue;
//---
if(curhigh!=0)
{
if(lasthigh>0)
{
if(lasthigh<curhigh) ExtMapBuffer2[lasthighpos]=0;
else ExtMapBuffer2[shift]=0;
}
//---
if(lasthigh<curhigh || lasthigh<0)
{
lasthigh=curhigh;
lasthighpos=shift;
}
lastlow=-1;
}
//----
if(curlow!=0)
{
if(lastlow>0)
{
if(lastlow>curlow) ExtMapBuffer[lastlowpos]=0;
else ExtMapBuffer[shift]=0;
}
//---
if((curlow<lastlow)||(lastlow<0))
{
lastlow=curlow;
lastlowpos=shift;
}
lasthigh=-1;
}
}
DeleteLabels(Time[Bars-1], Time[0]);
double LastPrice=EMPTY_VALUE;
int LastBar=EMPTY_VALUE;
for(shift=Bars-1; shift>=0; shift--)
{
if(shift>=Bars-ExtDepth) ExtMapBuffer[shift]=0.0;
else
{
res=ExtMapBuffer2[shift];
if(res!=0.0)
{
ExtMapBuffer[shift]=res;
}
else
{
res=ExtMapBuffer[shift];
}

if (res!=0)
{
if (LastPrice!=EMPTY_VALUE)
{
DrawLabel(Time[LastBar], Time[shift], LastPrice, res);
}
LastPrice=res;
LastBar=shift;
}
}
}
return(0);
}
avatar

  2  Maxix Сообщений: 12

  • 10 июля 2019, 21:22
+
0
*drinks* ,*hi* 
avatar

  8  Kuzimich Сообщений: 132 - Андрей

  • 10 июля 2019, 21:44
+
0
можно ли добавить к нему алерт пара, т\ф, сел\бай когда цифры меняют цвет ( с зелёного на красный


а когда цифры меняют цвет? даже в коде прописано что цвет текста всегда постоянный:


void DrawLabel(int bar1,int bar2,double price1,double price2)
  {
   int Nbar1=iBarShift(NULL, 0, bar1);
   int Nbar2=iBarShift(NULL, 0, bar2);
   string Str=TextFormat(Nbar1-Nbar2,price1-price2);
   string obj_name="Count "+bar2;
   ObjectCreate(obj_name,OBJ_TEXT,0,bar2,price2);
   ObjectSetText(obj_name,Str,FontSize,"Arial",TextColor);
   ObjectSet(obj_name,OBJPROP_PRICE1,price2);
   return;
  }
avatar

  28  AM2 Сообщений: 9306 - Андрей

  • 14 июля 2019, 09:08
+
0
просто файл в mg немного другой тот что скинули. а мой файл меняет цвет. что можно сделать в таком случае? может скомплимировать мой файл ex4? ребятки помогите кто знающий?
avatar

  9  komod Автор Сообщений: 82

  • 15 июля 2019, 09:56

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари