初学者的问题 MQL5 MT5 MetaTrader 5 - 页 205 1...198199200201202203204205206207208209210211212...1503 新评论 Vasiliy Smirnov 2014.02.24 05:05 #2041 torblin: 大家好,看来这个帖子不是给新手提问的,哦,天哪,请问用dp200什么顾问会有效果? 任何一个人实际上都是如此。 beginner_mql 2014.02.24 16:03 #2042 亲爱的先生们,我要求对 "第一号尝试 "有一个经验丰富的眼睛。主题是:我通过 "穿越 "用MQL5编写的分形指标 和azzx_larry-2.0指标获得了一个代码,其本质是在搜索极值时排除所谓的 "内部条"(附后)。编译时,我们得到了四个错误,都是在借自azx写在 "4 "中的那部分代码。在解释 "错误 "时出现了问题。1.为什么建议将for语句(在代码中的位置--下划线)放在Global中。('for' - 表达式在全局范围内是不允许的)。2.为什么编译器认为High[bar]和Low[bar](代码中也有下划线)是未声明的,而在代码的上面几行有High[i]和Low[i],它不认为是错误的。('高'-未宣布的标识符,'低'-未宣布的标识符)。3.limit也是如此--为什么编译器认为它是未声明的。('limit'-未声明的标识符)。 PS:部分代码(分形指标)来自mql5文档,部分代码来自azzx_larry2.0指标,来自mql4代码库,作者azzx//+------------------------------------------------------------------+ //| azzx 2.0.mq5 | //| Copyright 2009, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2009, MetaQuotes Software Corp." #property link "http://www.mql5.com" //---- indicator settings #property indicator_chart_window #property indicator_buffers 2 #property indicator_plots 2 #property indicator_type1 DRAW_ARROW #property indicator_type2 DRAW_ARROW #property indicator_color1 White #property indicator_color2 White #property indicator_label1 "azzx Up" #property indicator_label2 "azzx Down" //---- indicator buffers double max[]; double min[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { //---- indicator buffers mapping SetIndexBuffer(0,max,INDICATOR_DATA); SetIndexBuffer(1,min,INDICATOR_DATA); IndicatorSetInteger(INDICATOR_DIGITS,_Digits); //---- sets first bar from what index will be drawn PlotIndexSetInteger(0,PLOT_ARROW,108); PlotIndexSetInteger(1,PLOT_ARROW,108); //---- arrow shifts when drawing PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,0); PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,0); //---- sets drawing line empty value-- PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); //---- initialization done } //+------------------------------------------------------------------+ //| Accelerator/Decelerator Oscillator | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total,const int prev_calculated, const datetime &Time[], const double &Open[], const double &High[], const double &Low[], const double &Close[], const long &TickVolume[], const long &Volume[], const int &Spread[]) { int i,limit; //--- if(rates_total<3) return(0); //--- if(prev_calculated<3) { limit=1; //--- clean up arrays ArrayInitialize(max,EMPTY_VALUE); ArrayInitialize(min,EMPTY_VALUE); } else limit=rates_total-1; for(i=limit;i<rates_total-1 && !IsStopped();i++) { //---- Up azzx if(High[i]>High[i+1] && High[i]>=High[i-1]) max[i]=High[i]; else max[i]=EMPTY_VALUE; //---- Low azzx if(Low[i]<Low[i+1] && Low[i]<=Low[i-1]) min[i]=Low[i]; else min[i]=EMPTY_VALUE; } //--- OnCalculate done. Return new prev_calculated. return(rates_total); } //+------------------------------------------------------------------+ // Поиск краткосрочных экстремумов. for(i=limit-2;i>1;i--) { l = left_bar(i); r = right_bar(i); if((l>0) && (r>0)) { if(((Low[l]>=Low[i]) && (Low[r]>Low[i])) || ((Low[l]>Low[i]) && (Low[r]>Low[i]))) { min[i] =1; } } if((l>0) && (r>0)) { if(((High[l]<= High[i]) && (High[r]<High[i])) || ((High[l]<High[i]) && (High[r]<High[i]))) { max[i] =1; } } // Отметка экстремумов. ArrayInitialize(buf_st_min,0); ArrayInitialize(buf_st_max,0); for(i=limit-1;i>0;i--) { switch(min[i]) { case 1 : buf_st_min[i]=Low[i]; break; } switch(max[i]) { case 1 : buf_st_max[i]=High[i]; break; } } return(0); } // Проверка, что заданный бар - внутренний. bool is_internal(int bar) { return((High[bar] < High[bar + 1]) && (Low [bar] > Low [bar + 1])); } // Возвращает бар слева от заданного бара или -1. int left_bar(int bar) { int i; for(i=bar+1;i<limit-2;i++) { if(is_internal(i)==false) { return(i); } } return(-1); } // Возвращает бар справа от заданного бара или -1. int right_bar(int bar) { int i; for(i=bar-1;i>0;i--) { if(is_internal(i)==false) { return(i); } } return(-1); } //+------------------------------------------------------------------+ //| Indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- почистим график при удалении индикатора Comment(""); } 我认为代码上面有High[i]和Low[i]几行,他认为这不是错误。3.同样关于极限--为什么编译器认为它是未声明的 romadd 2014.02.25 11:36 #2043 Reshetov: А робот случаем не из Маркета? только один. что там продается - ужас. хотя наверное все они такие Viktor Mossekhin 2014.02.25 11:48 #2044 beginner_mql:在代码中存在High[i]和Low[i],它不会被算作错误。3.limit也是如此--为什么编译器认为它是未声明的?你这里有一个提前关闭的大括号。 return(rates_total); } //+------------------------------------------------------------------+ // Поиск краткосрочных экстремумов. for(i=limit-2;i>1;i--) 或者有几行被遗漏了,因为它们没有被声明。 l = left_bar(i); r = right_bar(i); beginner_mql 2014.02.25 18:16 #2045 vicmos:你这里有一个提前关闭的大括号。 或者因为没有公布,所以少了几行谢谢你的参与。括号被移到了代码的末尾,编译时出现了16个错误--需要努力解决。 Newalligator 2014.02.26 05:07 #2046 大家好,你能告诉使用G. Stanilevich的ITrade Chaos软件产品的论坛用户吗?我非常喜欢它,但有一些事情我不明白。如果你不介意,谁在使用或曾经使用过这个产品,请通过Skype与我联系。我的skype是Furkat1962,提前感谢。真诚的Furkat Alexander Lasygin 2014.02.26 10:23 #2047 torblin: 我不认为这个帖子是为初学者准备的,所以你为什么不告诉我在哪里可以问一个拥有200dpa的新手,顾问会做什么? 你不想明白,外汇不是免费的交易,但它和其他交易的工作是一样的,只是当你投入工作的时候,回报率会更高!这就是为什么你的工作是免费的。 YAndrey 2014.02.26 11:08 #2048 我已经从EA中添加了一个指标到图表中,现在如何给这个指标着色?该指标使用3条线,我想让它们都有3种不同的颜色和厚度。 Vasiliy Smirnov 2014.02.26 12:03 #2049 YAndrey: 我已经从EA中添加了一个指标到图表中,现在如何给这个指标着色?该指标使用3条线,我想让它们都有3种不同的颜色和厚度。 你可以在显示器上使用毡尖笔)。 YAndrey 2014.02.26 12:21 #2050 zfs: 你可以在显示器上使用毡尖笔)。 是的,你可以这样做。但我不愿意这样做。而且我想听听聪明人的意见;)。我已经找到了一个办法,创建了一个自定义指标,其输入参数为每行的颜色形式,但我怎样才能使其更简单?因此,再次提出一个问题。我正在我的专家顾问中创建一个iBands指标。我把它附在图表上。我想用不同的颜色来画它的3条线。这有可能吗? 1...198199200201202203204205206207208209210211212...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
大家好,看来这个帖子不是给新手提问的,哦,天哪,请问用dp200什么顾问会有效果?
亲爱的先生们,我要求对 "第一号尝试 "有一个经验丰富的眼睛。主题是:我通过 "穿越 "用MQL5编写的分形指标 和azzx_larry-2.0指标获得了一个代码,其本质是在搜索极值时排除所谓的 "内部条"(附后)。编译时,我们得到了四个错误,都是在借自azx写在 "4 "中的那部分代码。在解释 "错误 "时出现了问题。
1.为什么建议将for语句(在代码中的位置--下划线)放在Global中。('for' - 表达式在全局范围内是不允许的)。
2.为什么编译器认为High[bar]和Low[bar](代码中也有下划线)是未声明的,而在代码的上面几行有High[i]和Low[i],它不认为是错误的。
('高'-未宣布的标识符,'低'-未宣布的标识符)。
3.limit也是如此--为什么编译器认为它是未声明的。('limit'-未声明的标识符)。
PS:部分代码(分形指标)来自mql5文档,部分代码来自azzx_larry2.0指标,来自mql4代码库,作者azzx
А робот случаем не из Маркета?
在代码中存在High[i]和Low[i],它不会被算作错误。3.limit也是如此--为什么编译器认为它是未声明的?
你这里有一个提前关闭的大括号。
或者有几行被遗漏了,因为它们没有被声明。
你这里有一个提前关闭的大括号。
或者因为没有公布,所以少了几行
谢谢你的参与。括号被移到了代码的末尾,编译时出现了16个错误--需要努力解决。
我不认为这个帖子是为初学者准备的,所以你为什么不告诉我在哪里可以问一个拥有200dpa的新手,顾问会做什么?
我已经从EA中添加了一个指标到图表中,现在如何给这个指标着色?该指标使用3条线,我想让它们都有3种不同的颜色和厚度。
你可以在显示器上使用毡尖笔)。