Подскажите как получить 2 экстремума зигзага? Делаю так:
int zzHandle; // хэндл индикатора ZigZag double zzVal[]; // динамические массивы для хранения численных значений индикатора ZigZag double zz1, zz2; // значения цены 1-го и 2-го зигзага
ArraySetAsSeries(zzVal,true); CopyBuffer(zzHandle,0,0,50,zzVal); // Cкопировали значения индикатора в массив
int ke=0; for (int i=1;i<50;i++) { if (zzVal[i]!=0) { zz1=zzVal[i]; ke++; } if (ke>1) zz2=zzVal[i]; }
Примеров куча а разобраться не получается пока.
//+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 07.10.2006 | //| Описание : Возвращает экстремум ЗигЗага по его номеру. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента (NULL или "" - текущий символ) | //| tf - таймфрейм ( 0 - текущий ТФ) | //| ne - номер экстремума ( 0 - последний) | //| dp - ExtDepth | //| dv - ExtDeviation | //| bs - ExtBackstep | //+----------------------------------------------------------------------------+ double GetExtremumZZPrice(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bs=3) { if (sy=="" || sy=="0") sy=Symbol(); double zz; int i, k=iBars(sy, tf), ke=0;
for (i=0; i<k; i++) { zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, i); if (zz!=0) { ke++; if (ke>ne) return(zz); } } Print("GetExtremumZZPrice(): Экстремум ЗигЗага номер ",ne," не найден"); return(0); ================================================================= double ZZ, arr[7]; int i=0, sh=0; while (sh<1000) { if (iCustom(NULL,0,"ZigZag",12,5,3,0,sh)!=0) { arr[i]=iCustom(NULL,0,"ZigZag",12,5,3,0,sh); Alert("arr[",i+"]=",arr[i]+" Период= "+Period()); i++; } if (i==7) return(0); sh++; } ================================================================= double// экстремумы Зиг-Зага y3=0, //предпоследнего экстремума y2=0,//значение последего экстремума y1=0,//тек. экстр. y0,//кончик посл. луча zz; //кончик 3-го экстр int x3, x2, x1, sh=1;// номера баров double stop; // Comment(zz,"_",y1,"_",y2,"_",y3); y0=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, 1);
} // while (y3==0) //================================================================================= double zz[2]={0,0}; int bzz[2]={0,0}; int i=0; int b=0; while(i<1 && b<Bars-1) { double u=iCustom(NULL,0,..,b); // не знаю с какого ZZ ищем узлы if(u!=EMPTY_VALUE) { zz[i]=u; bzz[i]=b; i++; } b++; } // в zz[0] и zz[1] имеем цены двух узлов // в bzz[0] и bzz[1] имеем номера баров двух узлов ===============================================================
Погодите-ка... Я, конечно, в этом деле нуб, могу завалить тривиальными вопросами, но всё же... Если планируется сделать живую визуализацию сделок на Тестере при прогоне (как в MT4), то доступна ли возможность визуализировать таким же образом, скажем, автоматические скриптовые графические построения? Пока о Тестере я слышал только как об численном обработчике и примитивном визуальном индикаторе открытия/закрытия сделок. А вот как насчёт живого рисования/удаления графических объектов во время тестовых прогонов?
Сейчас, основное неудобство это, то, что MQ в любом случае создают счета только по USD и с плечом 100, а к пример Альпари только с плечом в 500...
На нашем демо-сервере уже есть мультивалютные демо-счета с большим выбором кредитного плеча:
Инсталлируйте терминал заново с обновленного дистрибутива: https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe
На нашем демо-сервере уже есть мультивалютные демо-счета с большим выбором кредитного плеча:
Инсталлируйте терминал заново с обновленного дистрибутива: https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe
Странно, может быть я уже совсем того....
Выбор сервера
Выбор типа счета
Выбор размера плеча
PS
Это на 294 релизе, недели не прошло как ставил...
Странно, может быть я уже совсем того....
Просто скачайте дистрибутив заново - он был обновлен.
Начальные условия для регистраций демо-счетов задаются именно в лейбле дистрибутива и не обновляются при апдейтах.
Просто скачайте дистрибутив заново - он был обновлен.
Начальные условия для регистраций демо-счетов задаются именно в лейбле дистрибутива и не обновляются при апдейтах.
Подскажите как получить 2 экстремума зигзага? Делаю так:
Примеров куча а разобраться не получается пока.
Сделал!
Подскажите как получить 2 экстремума зигзага? Делаю так:
Примеров куча а разобраться не получается пока.