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] имеем номера баров двух узлов ===============================================================
现在,主要的不便之处在于,MQ反正只创建100杠杆的美元账户,而例如Alpari只创建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个之字形的极值吗?我正在做这个。
有很多例子,但还搞不清楚。