[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 44 1...373839404142434445464748495051...652 新评论 demlin 2011.08.03 15:57 #431 artmedia70: 再一次,给我你想把它全部放进去的那部分指标代码。但是...你不需要增加缓冲区--你需要把指针移到你想放值的缓冲区单元。 int k=Vnf2; for (i=Vnf2;i>0;i--) { ArrayResize(Buf_DN,Vnf2+1); Buf_DN[i]= EquationDirect(Vnf2, VMF2, Vnf1,VMF1,k); k--; } 此后,终端挂起 --- 2011.08.03 16:03 #432 demlin: 此后,终端挂起 懒惰,显示整个代码与 EquationDirect demlin 2011.08.03 16:06 #433 sergeev: 懒惰,显示整个代码与 #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window #property indicator_buffers 2 // Количество буферов #property indicator_color1 Green // Цвет первой линии #property indicator_color2 Red // Цвет второй линии double Buf_UP[],Buf_DN[]; // Объявление массивов (под буферы индикатора) extern int History=21; // Колич.баров в расчётной истории extern int M= 3; // начальный бар с которого начинаем поиск фракталов в цикле. int i,k; // номера баров в циклах. int Vnf3,Vnf2,Vnf1; // номера реперных фракталов (1-ый справа на графике на нисходящем тренде). int VnfL3,VnfL2,VnfL1; // номера реперных фракталов (1-ый справа на графике на восходящем тренде). int VFN,VFNL; // счетчик найденных фракталов. int Md,MdL; // счетчики кол-ва модификаций double VMF1,VMF2; // промежуточные значения верхних фракталов на нисходящем тренде. double VMFL1,VMFL2; // промежуточные значения нижних фракталов на восходящем тренде. double VlFl_L; // Min значение ближайшего нижнего фрактала на тренде вниз double VlFl_H; // Max значение ближайшего верхнего фрактала на тренде вверх datetime tim1_L; // Время ближайшего нижнего фрактала после нисходящего тренда datetime timL1_H; // Время ближайшего верхнего фрактала после восходящего тренда datetime tim1,tim2,tim3; // время для построения линий вилки Чувашова. datetime timL1,timL2,timL3;// время для построения линий вилки Чувашова. //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { SetIndexBuffer(0,Buf_UP); // Назначение массива буферу SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1);// Стиль линии SetIndexBuffer(1,Buf_DN); // Назначение массива буферу SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);// Стиль линии return; // Выход из спец. ф-ии init() } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- for (i=2;i<=History;i++) {//цикл if(High[i]>High[i+1] &&High[i]>High[i-1]&&High[i]>Close[i-2]) {//фрактал VFN++; // счетчик найденного фрактала. // ------------------------------------------------------------+ if(VFN==1) // если 1-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f1 Vnf1=i; // запоминаем номер Max бара найденного фрактала. VMF1=High[i]; // запоминаем Max значение 1-ого найденного фрактала. tim1=iTime(NULL,0,i); // запоминаем время 1-ой опорной точки. }//-f1 // --------------------------------------------------------------+ if(VFN==2) // если 2-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f2 VMF2=High[i]; // запоминаем Max значение 2-ого найденного фрактала. if(VMF2>VMF1) // если Max значение 2-го фрактала больше 1-го (т.е. направлена вниз), { Vnf2=i; // запоминаем номер Max бара найденного фрактала. tim2=iTime(NULL,0,i); // запомним время 2-ой опорной точки. } else VFN=VFN-1; }//-f2 // --------------------------------------------------------------+ //int k=0; Comment("2 значение ",EquationDirect(Vnf2, VMF2, Vnf1,VMF1,0)); // Comment("Его значение= ",VMF1); //int k=Vnf2; //for (i=Vnf2;i>0;i--) // { // ArrayResize(Buf_DN,Vnf2+1); // Buf_DN[i]= EquationDirect(Vnf2, VMF2, Vnf1,VMF1,k); // k--; // } // ------------------------------------------------------------------+ if(VFN==2) break; // найдены все 2 фрактала, выходим из цикла. // ------------------------------------------------------------------+ }//-фрактал }//-цикл //---- for (i=2;i<=History;i++) {//цикл if(Low[i]<Low[i+1] &&Low[i]<Low[i-1]&&Low[i]<Close[i-2]) {//фрактал VFNL++; // счетчик найденного фрактала. // ------------------------------------------------------------+ if(VFNL==1) // если 1-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f1 VnfL1=i; // запоминаем номер Max бара найденного фрактала. VMFL1=Low[i]; // запоминаем Max значение 1-ого найденного фрактала. timL1=iTime(NULL,0,i); // запоминаем время 1-ой опорной точки. }//-f1 // --------------------------------------------------------------+ if(VFNL==2) // если 2-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f2 VMFL2=Low[i]; // запоминаем Max значение 2-ого найденного фрактала. if(VMFL2<VMFL1) // если Max значение 2-го фрактала больше 1-го (т.е. направлена вниз), { VnfL2=i; // запоминаем номер Max бара найденного фрактала. timL2=iTime(NULL,0,i); // запомним время 2-ой опорной точки. } else VFNL=VFNL-1; }//-f2 // --------------------------------------------------------------+ // ------------------------------------------------------------------+ if(VFN==2) break; // найдены все 2 фрактала, выходим из цикла. // ------------------------------------------------------------------+ }//-фрактал }//-цикл DelLine();DelLineH();CreateLine();CreateLineH(); return(0); } //+------------------------------------------------------------------+ void DelLine() // Удаление трендовых линий Sell и значков для вилки Чувашова { ObjectDelete("Tr_down1"); // ObjectDelete("Tr_down2"); // ObjectDelete("Frak_1"); //ObjectDelete("Frak_2"); //ObjectDelete("Frak_3"); } void DelLineH() // Удаление трендовых линий BUY и значков для вилки Чувашова { ObjectDelete("Tr_up1"); //ObjectDelete("Tr_up2"); //ObjectDelete("Fr_1"); //ObjectDelete("Fr_2"); //ObjectDelete("Fr_3"); } void CreateLine() // Создание и отрисовка трендовых линий Sell линий вилки Чувашова { ObjectCreate("Tr_down1",OBJ_TREND,0,tim2,VMF2,tim1,VMF1); ObjectSet("Tr_down1",OBJPROP_COLOR,Red); ObjectSet("Tr_down1",OBJPROP_WIDTH,1); // тонкой линией и ObjectSet("Tr_down1",OBJPROP_STYLE,STYLE_SOLID);// пунктиром //ObjectCreate("Tr_down2",OBJ_TREND,0,tim2,VMF2,tim1,VMF1); //ObjectSet("Tr_down2",OBJPROP_COLOR,Aqua); // ObjectSet("Tr_down2",OBJPROP_WIDTH,1); // тонкой линией и // ObjectSet("Tr_down2",OBJPROP_STYLE,STYLE_DOT);// пунктиром } void CreateLineH() // Создание и отрисовка трендовых линий BUY линий вилки Чувашова { ObjectCreate("Tr_up1",OBJ_TREND,0,timL2,VMFL2,timL1,VMFL1); ObjectSet("Tr_up1",OBJPROP_COLOR,Green); ObjectSet("Tr_up1",OBJPROP_WIDTH,1); // тонкой линией и ObjectSet("Tr_up1",OBJPROP_STYLE,STYLE_SOLID);// пунктиром //ObjectCreate("Tr_up2",OBJ_TREND,0,timL2,VMFL2,timL1,VMFL1); //ObjectSet("Tr_up2",OBJPROP_COLOR,Aqua); //ObjectSet("Tr_up2",OBJPROP_WIDTH,1); // тонкой линией и // ObjectSet("Tr_up2",OBJPROP_STYLE,STYLE_DOT);// пунктиром } double EquationDirect(double x1, double y1, double x2, double y2, double x) //прямая линия { if (x2==x1) return(y1); return((y2-y1)/(x2-x1)*(x-x1)+y1);} demlin 2011.08.03 16:09 #434 sergeev: 懒惰,显示整个代码与 我自己想明白了--我把循环放在了错误的地方,我现在才看到它。对不起,打扰你们了 --- 2011.08.03 16:12 #435 顺便说一下,它也不应该在循环内。 ArrayResize(Buf_DN,Vnf2+1); demlin 2011.08.03 16:17 #436 sergeev: 顺便说一下,它也不应该在循环内。 谢谢你的评论,我当然会删除它 --- 2011.08.03 19:31 #437 订单 "寿命 "的图形化显示 1 belperson 03.08.2011 22:44 你好,我有一个问题:如果我的EA开出的订单在停止时被关闭,我是否可以设置我的Mt4像内置策略测试器那样显示仓位的 "生命",即:用箭头显示开仓点和收仓点(这里一切都很清楚),在关闭时用虚线连接它们? 提前感谢在这种情况下的答案) --- 2011.08.03 19:53 #438 按时间排列的开场顺序 1 Mega4alik 03.08.2011 23:45 我如何让我的EA在某一秒内打开交易? 是否有一个每秒钟都要处理的函数? Grigorij 2011.08.03 19:56 #439 日子过得不错。 我在寻找一个指标,可以搜索像图表上的蜡烛(开盘在上,收盘在下,反之亦然)的某一尺寸的蜡烛。在基地似乎打破了一切没有发现的东西。如果有人看到过类似的情况,请告知。提前感谢。 Roman Kutemov 2011.08.04 03:35 #440 下午好。 请帮助我提取ExTrendv2指标(附件)的Up_Line和Down_Line的值到专家顾问中。 我正在尝试以下方式。 对于Up_Line iCustom(NULL, 0, "ExTrendv2", 0, 0,1) 对于Down_Line iCustom(NULL, 0, "ExTrendv2", 0, 1,1) 失败。 附加的文件: extrendv2.mq4 8 kb 1...373839404142434445464748495051...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
再一次,给我你想把它全部放进去的那部分指标代码。但是...你不需要增加缓冲区--你需要把指针移到你想放值的缓冲区单元。
此后,终端挂起
懒惰,显示整个代码与
EquationDirect
懒惰,显示整个代码与
懒惰,显示整个代码与
顺便说一下,它也不应该在循环内。
ArrayResize(Buf_DN,Vnf2+1);
顺便说一下,它也不应该在循环内。
订单 "寿命 "的图形化显示
按时间排列的开场顺序
我如何让我的EA在某一秒内打开交易?
是否有一个每秒钟都要处理的函数?
我在寻找一个指标,可以搜索像图表上的蜡烛(开盘在上,收盘在下,反之亦然)的某一尺寸的蜡烛。在基地似乎打破了一切没有发现的东西。如果有人看到过类似的情况,请告知。提前感谢。
下午好。
请帮助我提取ExTrendv2指标(附件)的Up_Line和Down_Line的值到专家顾问中。
我正在尝试以下方式。
对于Up_Line iCustom(NULL, 0, "ExTrendv2", 0, 0,1)
对于Down_Line iCustom(NULL, 0, "ExTrendv2", 0, 1,1)
失败。