Надо циклом проходить от первого бара влево как будет найдено значение не равное 0 - запомнить время, это будет время конца зигзага, если на следующем баре время изменилось, значит сигналим.
Integer >>:
Надо циклом проходить от первого бара влево как будет найдено значение не равное 0 - запомнить время, это будет время конца зигзага, если на следующем баре время изменилось, значит сигналим.
Надо циклом проходить от первого бара влево как будет найдено значение не равное 0 - запомнить время, это будет время конца зигзага, если на следующем баре время изменилось, значит сигналим.
Простите, я в программировании пока на самом начальном уровне...
Подскажите, пожалуйста, какая функция определяет время, когда значение не равно нулю? И время текущего бара - как его определить?
ElenD писал(а) >>
Простите, я в программировании пока на самом начальном уровне...
Подскажите, пожалуйста, какая функция определяет время, когда значение не равно нулю? И время текущего бара - как его определить?
static datetime lt=0; for(int i=1;i<Bars;i++){ if(ExtMapBuffer1[i]!=0){ if(lt!=Time[i]{ PlaySound(...); lt=Time[i] } break; } }
To DDFedor и Integer - спасибо за помощь!
Пытаюсь поставить звуковой сигнал на ZZ Dinapoli как и вы, но чего-то не получается подскажите как вы это сделали

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
Пытаюсь поставить звуковой сигнал на ZZ Dinapoli, чтобы он сигналил при появлении новой линии, но не получается.
То не сигналит вообще, то сигналит на каждом баре...:(
Посмотрите код плиз - может у кого-то появятся "светлые мысли"... Я уже выдохлась с идеями...
//+------------------------------------------------------------------+
//| Dinapoli ZZ (ZigZag).mq4 |
//| rewritten by CrazyChart |
//| |
//+------------------------------------------------------------------+
#property copyright "rewritten by CrazyChart"
#property link ""
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
//---- input parameters
extern int barn=500;
extern int Length=6;
extern int SoundON=1; // 0=false 1=true
//---- buffers
double ExtMapBuffer1[];
static datetime lastbar;
bool NewBar;
//double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexEmptyValue(0,0.0);
//SetIndexDrawBegin(0, barn);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if (counted_bars < 0)
return (-1);
int shift,Swing,Swing_n,uzl,i,zu,zd,mv;
double LL,HH,BH,BL,NH,NL;
double Uzel[10000][3];
string text;
// loop from first bar to current bar (with shift=0)
Swing_n=0;Swing=0;uzl=0;
BH =High[barn];BL=Low[barn];zu=barn;zd=barn;
for (shift=barn;shift>=0;shift--) {
LL=10000000;HH=-100000000;
for (i=shift+Length;i>=shift+1;i--) {
if (Low[i]< LL) {LL=Low[i];}
if (High[i]>HH) {HH=High[i];}
}
if (Low[shift]<LL && High[shift]>HH){
Swing=2;
if (Swing_n==1) {zu=shift+1;}
if (Swing_n==-1) {zd=shift+1;}
} else {
if (Low[shift]<LL) {Swing=-1;}
if (High[shift]>HH) {Swing=1;}
}
if (Swing!=Swing_n && Swing_n!=0) {
if (Swing==2) {
Swing=-Swing_n;BH = High[shift];BL = Low[shift];
}
uzl=uzl+1;
if (Swing==1) {
Uzel[uzl][1]=zd;
Uzel[uzl][2]=BL;
}
if (Swing==-1) {
Uzel[uzl][1]=zu;
Uzel[uzl][2]=BH;
}
BH = High[shift];
BL = Low[shift];
}
if (Swing==1) {
if (High[shift]>=BH) {BH=High[shift];zu=shift;}}
if (Swing==-1) {
if (Low[shift]<=BL) {BL=Low[shift]; zd=shift;}}
Swing_n=Swing;
}
for (i=1;i<=uzl;i++) {
//text=DoubleToStr(Uzel[i][1],0);
//text=;
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
ExtMapBuffer1[mv]=Uzel[i][2];
}
bool NewBar=isNewBar();
if (SoundON==1 && ExtMapBuffer1[1] != EMPTY_VALUE && NewBar)
{
PlaySound("alert.wav");
}
return(0);
}
bool isNewBar()
{
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else
{
return(false);
}
}
//+------------------------------------------------------------------+