ZUP Проект "Феникс"

Тема в разделе "Зиг-Заг. Системы с использованием ZigZag.", создана пользователем nen, 15 сен 2013.

  1. Putnik_odessa

    Putnik_odessa Профи форума

    Именно ручная и сделана (автоматика как пожелание для контроля), обмен файлами также:

    USDJPYDaily.png

    В MT5 можно вставлять - иллюстрации есть!
    Жалко что в новом MT4 нельзя вызывать такие подсказки на график: просто как из каталога !!!

    Хотя в новом тоже можно опробовать....
     
  2. Putnik_odessa

    Putnik_odessa Профи форума

    Пока не вижу иного варианта как начальный треугольник с удлинением в волне-i:

    USDJPYH1.png

    принцип подтверждения на рисунке, отмена - по вилам.
     
  3. nen

    nen Профи форума

    Balbesik, ты хоть иногда задумываешься, куда ты пишешь и что ты делаешь?


    Или ты живешь в вакууме ?
    Пиши в профильные ветки.
     
  4. DmitriyX

    DmitriyX Активный пользователь

    В версии ZUPp_146.mq4 необходимо удалить строку 6774:

    Слушаемся и сделаем.. Не вопрос.

    Вопрос в другом ведь есть Eq...., ему и подчиняемся, а дракон, со своими фибами...
    Для советника да ... если включен... ,а так....

    А так, как всегда большое спасибо.. Следим... Верим...
     
  5. поручик

    поручик настоящий полковник

    по таблице

    надо что бы работали соотношения в колонках F,G (желтым)
    H,I (зеленым) - или 0 или (если нельзя - вставлю сам)
    ===========
    в таком виде (как сейчас) паттерн TEST - не будет работать?
     

    Вложения:

    • ЕРК.png
      ЕРК.png
      Размер файла:
      48,7 КБ
      Просмотров:
      7
  6. поручик

    поручик настоящий полковник

    ZUP 150
    ФуЙ Н1

    Задан поиск классических паттернов, (без Total)
    выводится и 5-0

    может 5-0 и (А 5-0) вставить в то место в коде где стоит дракон, 3 драйва, паттерн Джима?
     

    Вложения:

  7. поручик

    поручик настоящий полковник

    Можно ли добавить push уведомления для 150 (151)
    Одному челу надо - двое маленьких детей, не может все время сидеть перед стационарным компом
    Это он добавил в 148 push уведомления. http://www.onix-trad...ushки-заряжены/
    По работе их вопросов нет, но 150 лучше дает уведомления о появлении паттерна

    строки кода ZUP 148

    (я нашел 5 строчек в коде и сделал метки там. Запросил у доработчика уточнения)

    805 extern bool ExtPushNotification = true; // push тут
    1853 if(ExtPushNotification) SendNotification("ZUP148 " +Symbol()+" , "+Period()+" , "+vBullBear+", "+vNamePattern); // push тут
    1990 if(ExtPushNotification) SendNotification("ZUP148 " +Symbol()+" , "+Period()+ "a new ray ZigZag");// push тут
    2694 if(ExtPushNotification) SendNotification("ZUP148 " +Symbol()+" , "+Period()+" , "+vBullBear+", "+vNamePattern);// push тут
    6876 if(ExtPushNotification) SendNotification ("ZUP148 " +Symbol()+" , "+Period()+" , "+vBullBear+", "+vNamePattern); // push тут

    Это для 1 версии.

    ===========
    последняя 7 версия, я ее еще не тестил
     

    Вложения:

    1 человеку нравится это.
  8. dombo

    dombo Новичок

    Здравствуйте, nen!

    Извините меня за мой плохой русский язык.

    я добавил в код ZUP 148, (см. файл выше (вставил поручик) attached in the post above)


    extern bool ExtPushNotification = true; // push тут
    extern bool ExtPushNotificationZigZag = true; // push тут

    где ExtPlayAlert , ExtAlert , sendemail
    я вставил для нового паттерна

    if(ExtPushNotification) SendNotification(Symbol()+", "+Period()+", "+vBullBear+", "+DoubleToStr(LevelForDminToNumberPattern,Digits)+" < ENTRY < "+DoubleToStr(LevelForDmaxToNumberPattern,Digits));

    для нового луча зигзага

    if(ExtPushNotificationZigZag) SendNotification(Symbol()+", "+Period()+ ", a new ray ZigZag");

    но я не получаю push уведомление когда новый паттерн появляется,
    зигзаг работает Ок

    Можно ли вставить в код push уведомление о появления нового паттерна?
    СПАСИБО БОЛЬШОЕ!!!
     
  9. nen

    nen Профи форума

    Сейчас делаю не простую корректировку кода ZUP.
    Очень медленно происходит внедрение изменений.
    За 10 лет накопилось много взаимосвязанных алгоритмов.
    Сложно не допустить ошибок при корректировке кода.
    Про пуш уведомеления. Посмотрю, что можно сделать.
    ====================

    С другой стороны, сейчас ввожу в код преимущественно то, чем сам пользуюсь.
    Ниже на картинке представлено все, чем сам пользуюсь:

    EURUSDH4.png

    А это уже давно реализовано.
     
    1 человеку нравится это.
  10. поручик

    поручик настоящий полковник

  11. nen

    nen Профи форума

    <p>
    Никогда не пользовался уведомлениями о возникновении паттернов.
    Поэтому не знаю, как они работают. Хорошо или плохо.

    Можно вставить в код пуш уведомление о появлении паттерна так:
    Код:
     //---------------------------------------------
    // Вывод сообщения о паттерне
    if((m==1 && t_alarm {
    t_alarm=iTime(NULL,0,0);
    if(ExtPlayAlert)
    {
    Alert (Symbol()," ",Period()," "+AlertText," "+ vBullBear + " " + vNamePattern + " bar point D = ",__D[0][0]," ExtComplekt = ", ExtComplekt);
    PlaySound("alert.wav");
    }
    if (ExtSendMail) _SendMail("There was a pattern",StringConcatenate("on ",Symbol()," ",Period()," pattern ",vBullBear," ",vNamePattern));
    if(ExtPushNotification) SendNotification(Symbol()+", "+Period()+", "+vBullBear+", "+DoubleToStr(LevelForDminToNumberPattern,Digits)+" < ENTRY < "+DoubleToStr(LevelForDmaxToNumberPattern,Digits));
    }
    //---------------------------------------------
    
    Для нахождения места вставки кода с уведомлениями привожу большой кусок кода с участком, где вставляются уведомления:

    Код:
     else
    {
    saveParametersZZ=true;
    
    colorPattern=ExtColorPatterns;
    
    LevelForDminToNumberPattern=LevelForDmin;
    LevelForDmaxToNumberPattern=LevelForDmax;
    
    if (vNamePattern==vDragon) {if (vBullBear==vBull) vBullBear=vBear; else vBullBear=vBull;}
    vBullBearToNumberPattern = vBullBear;
    vNamePatternToNumberPattern = vNamePattern;
    
    if (picture || writeInfoPatternsToFileXML>0 || writeInfoPatternsToFileCSV>0)
    {
    m=0;
    if (vNamePattern==v4Point || StringFind(vNamePattern,vABCD,0)>-1)
    {
    if (PeakCenaX[m]==0 && PeakCenaA[m]==azz[aXABCD[A]] && PeakCenaB[m]==azz[aXABCD[B]] && PeakCenaC[m]==azz[aXABCD[C]] && PeakCenaD[m]==azz[aXABCD[D]])
    {
    if (PeakTimeX[m]==0 && PeakTimeA[m]==Time[aNumBarPeak[aXABCD[A]]] && PeakTimeB[m]==Time[aNumBarPeak[aXABCD[B]]] && PeakTimeC[m]==Time[aNumBarPeak[aXABCD[C]]] && PeakTimeD[m]==Time[aNumBarPeak[aXABCD[D]]]) m=1;
    }
    }
    else if (vNamePattern==vDragon)
    {
    if (PeakCenaX[m]==azz[aXABCD[X]] && PeakCenaA[m]==azz[aXABCD[A]] && PeakCenaB[m]==azz[aXABCD[B]] && PeakCenaC[m]==azz[aXABCD[C]] && PeakCenaD[m]==0)
    {
    if (PeakTimeX[m]==Time[aNumBarPeak[aXABCD[X]]] && PeakTimeA[m]==Time[aNumBarPeak[aXABCD[A]]] && PeakTimeB[m]==Time[aNumBarPeak[aXABCD[B]]] && PeakTimeC[m]==Time[aNumBarPeak[aXABCD[C]]] && PeakTimeD[m]==0) m=1;
    }
    }
    else
    {
    if (PeakCenaX[m]==azz[aXABCD[X]] && PeakCenaA[m]==azz[aXABCD[A]] && PeakCenaB[m]==azz[aXABCD[B]] && PeakCenaC[m]==azz[aXABCD[C]] && PeakCenaD[m]==azz[aXABCD[D]])
    {
    if (PeakTimeX[m]==Time[aNumBarPeak[aXABCD[X]]] && PeakTimeA[m]==Time[aNumBarPeak[aXABCD[A]]] && PeakTimeB[m]==Time[aNumBarPeak[aXABCD[B]]] && PeakTimeC[m]==Time[aNumBarPeak[aXABCD[C]]] && PeakTimeD[m]==Time[aNumBarPeak[aXABCD[D]]]) m=1;
    }
    }
    }
    
    if (m==1)
    {
    if (StringFind(vNamePattern,vDragon,0)>=0) __D[0][0]=iBarShift(NULL,Period(),tDragonE,false);
    else __D[0][0]=aXABCD[D];
    }
    
    // запись координат нового паттерна в массивы
    if(m==0)
    {
    if (vNamePattern==v4Point || StringFind(vNamePattern,vABCD,0)>-1)
    {
    PeakCenaX[0]=0;
    PeakTimeX[0]=0;
    PeakCenaD[0]=azz[aXABCD[D]];
    PeakTimeD[0]=Time[aNumBarPeak[aXABCD[D]]];
    }
    else if (vNamePattern==vDragon)
    {
    PeakCenaX[0]=azz[aXABCD[X]];
    PeakTimeX[0]=Time[aNumBarPeak[aXABCD[X]]];
    PeakCenaD[0]=0;
    PeakTimeD[0]=0;
    }
    else
    {
    PeakCenaX[0]=azz[aXABCD[X]];
    PeakTimeX[0]=Time[aNumBarPeak[aXABCD[X]]];
    PeakCenaD[0]=azz[aXABCD[D]];
    PeakTimeD[0]=Time[aNumBarPeak[aXABCD[D]]];
    }
    
    PeakCenaA[0]=azz[aXABCD[A]];
    PeakCenaB[0]=azz[aXABCD[B]];
    PeakCenaC[0]=azz[aXABCD[C]];
    
    PeakTimeA[0]=Time[aNumBarPeak[aXABCD[A]]];
    PeakTimeB[0]=Time[aNumBarPeak[aXABCD[B]]];
    PeakTimeC[0]=Time[aNumBarPeak[aXABCD[C]]];
    
    __NamePatterns[0][0]=StringConcatenate(vBullBear," ",vNamePattern);
    
    string tmp=__NamePatterns[0][1];
    
    // XD-XB-AC-BD
    if (StringFind(vNamePattern,vABCD,0)>=0) __NamePatterns[0][1]=StringConcatenate("----","-",ret[2,1],"-",ret[3,1]);
    else if (StringFind(vNamePattern,vDragon,0)>=0) __NamePatterns[0][1]=StringConcatenate("---",ret[1,1],"-",ret[2,1],"--");
    // else if (vNamePattern==v4Point) __NamePatterns[0][1]=StringConcatenate(ret[0,1],"-",ret[1,1],"-",ret[2,1],"-",ret[3,1]);
    else if (StringFind(vNamePattern,v3Drives,0)>=0)
    {
    if (countDots==5) __NamePatterns[0][1]=StringConcatenate("--",ret[1,1],"-",ret[2,1],"-",ret[3,1]);
    // else if (countDots==6) __NamePatterns[0][1]=StringConcatenate(ret[4,1],"-",ret[1,1],"-",ret[2,1],"-",ret[3,1]);
    else __NamePatterns[0][1]=StringConcatenate(ret[4,1],"-",ret[1,1],"-",ret[2,1],"-",ret[3,1]);
    }
    else __NamePatterns[0][1]=StringConcatenate(ret[0,1],"-",ret[1,1],"-",ret[2,1],"-",ret[3,1]);
    
    if (StringFind(vNamePattern,vDragon,0)>=0) __D[0][0]=iBarShift(NULL,Period(),tDragonE,false);
    else __D[0][0]=aNumBarPeak[aXABCD[D]];
    
    if (AlgorithmSearchPatterns==0) // стандартный зигзаг
    {
    __D[0][1]=Depth; // Depth
    if (noBackstep) __D[0][2]=0;
    else __D[0][2]=StrToInteger(StringSubstr(_Depth,StringFind(_Depth,"/",0)+1)); // Backstep
    }
    else if (AlgorithmSearchPatterns==1) // зигзаг Алекса, изменяется размер луча в пунктах
    {
    __D[0][1]=StrToInteger(StringSubstr(_Depth,16,StringFind(_Depth,"/",0)-15)); // Size
    __D[0][2]=0;
    }
    else if (AlgorithmSearchPatterns==2) // зигзаг Алекса, изменяется размер луча в процентах
    {
    __D[0][1]=MathRound(StrToDouble(StringSubstr(_Depth,StringFind(_Depth,"/",0)+1))*100); // Percent*100
    __D[0][2]=0;
    }
    else if (AlgorithmSearchPatterns==3) // зигзаг Ensign, изменяется размер луча в пунктах
    {
    __D[0][1]=StrToInteger(StringSubstr(_Depth,StringFind(_Depth,"/",0)+1)); // Size
    __D[0][2]=0;
    }
    else if (AlgorithmSearchPatterns==4) // зигзаг tauber
    {
    __D[0][1]=0; //
    __D[0][2]=0;
    }
    else if (AlgorithmSearchPatterns==5) // зигзаг свинги Ганна
    {
    __D[0][1]=StrToInteger(StringSubstr(_Depth,16)); // Bars
    __D[0][2]=0;
    }
    else if (AlgorithmSearchPatterns==6) // зигзаг Talex
    {
    __D[0][1]=StrToInteger(StringSubstr(_Depth,16)); // Bars
    __D[0][2]=0;
    }
    
    __D[0][3]=0;
    
    __PatColor[0]=ExtColorPatterns;
    
    vWriteToFilePattern=true; vpicture=true;
    }
    countGartley=1;
    
    //---------------------------------------------
    // Вывод сообщения о паттерне
    if((m==1 && t_alarm {
    t_alarm=iTime(NULL,0,0);
    if(ExtPlayAlert)
    {
    Alert (Symbol()," ",Period()," "+AlertText," "+ vBullBear + " " + vNamePattern + " bar point D = ",__D[0][0]," ExtComplekt = ", ExtComplekt);
    PlaySound("alert.wav");
    }
    if (ExtSendMail) _SendMail("There was a pattern",StringConcatenate("on ",Symbol()," ",Period()," pattern ",vBullBear," ",vNamePattern));
    if(ExtPushNotification) SendNotification(Symbol()+", "+Period()+", "+vBullBear+", "+DoubleToStr(LevelForDminToNumberPattern,Digits)+" < ENTRY < "+DoubleToStr(LevelForDmaxToNumberPattern,Digits));
    }
    //---------------------------------------------
    }
    
     
  12. nen

    nen Профи форума

    Вставил в код так, как показано в предыдущем посте. Проверять не буду.
     
    Последнее редактирование модератором: 5 ноя 2018
  13. yarikbes

    yarikbes Активный пользователь

    Не перестаю следить за веткой, с того момента как скачал последний доступный ZUP 150. Вижу разработки продолжаются, а всплывающие окна с подсказками - это вообще бомба. Уважаемый Nen - будет ли для нас, простых обывателей в свободном или платном доступе новая версия ZUP с такими полезными фишками или все что нам остается, это ZUP 150 и на большее уже не стоит рассчитывать?
     
  14. kshadu

    kshadu незнайка

    присоединяюсь к последнему вопросу
     
  15. nen

    nen Профи форума

    Будет.
    Задачи были поставлены не простые.
    Решаются задачи поэтому не быстро.
    Выпускать полуфабрикат не хочется.

    Хотелось бы завершить модификацию ZUP в этом году.

    Описание новшеств может потянуть на книгу. Если подробно.
     
    kshadu, Alfazavr, RamAdis и 2 другим нравится это.
  16. Peshexod

    Peshexod Активный пользователь

    А разве это на флаг не похоже?
     
  17. Pomidor

    Pomidor Новичок

    Добрый день! Подскажите пожалуйста в чем может быть дело, речь про ТФ Дневка,ценовая структура поменялась, но на графике ZigZag и Вилы не перерисовываются, пока на перейдешь на другой ТФ и вернешься обратно, т.е. пока не обновишь график?
     
    Последнее редактирование модератором: 5 ноя 2018
  18. Baffet13

    Baffet13 Активный пользователь

    Класс, очень похоже на гармонические модели Гартли
     

Поделиться этой страницей