初学者的问题 MQL5 MT5 MetaTrader 5 - 页 170 1...163164165166167168169170171172173174175176177...1503 新评论 forexman77 2014.01.07 10:16 #1691 barabashkakvn: 在指标代码中查看,OnCalculate()函数。做到以下几点。int limit=rates_total-prev_calculated; double pr=close[0]; //---- if(rates_total-prev_calculated>=Period_) limit=limit-Period_; //---- for(int i=limit-1;i>=0;i--) { CopyBuffer(ma1Handle,0,i,1,ma1Val); ExtMapBuffer1[i]=ma1Val[0]-pr; } 什么都没有用。在MQL4中一切都很清楚。我对MQL5不是很了解。我想应该调用一些函数来获取价格? Vladimir Karputov 2014.01.07 10:26 #1692 forexman77:我的做法如下。 什么都没有用。在MQL4中一切都很清楚。我对MQL5不是很了解。也许,必须调用一些函数才能获得价格?写在OnInit中。//--- установим индексацию для буфера как в таймсерии ArraySetAsSeries(ma1Val,true); Automated-Trading 2014.01.07 10:32 #1693 forexman77:我的做法如下。 什么都没有用。在MQL4中一切都很清楚。我对MQL5不是很了解。也许,为了获得价格,必须调用一些函数?你可以使用CopyRates(类似于CopyBuffer)来访问价格历史。 当前的卖出价、买入价可以通过SymbolInfoTick 或SymbolInfoDouble(如Spread指标)获得。 forexman77 2014.01.07 10:56 #1694 barabashkakvn:写在OnInit中。自动交易。 你可以使用CopyRates(类似于CopyBuffer)来访问价格历史。卖出价、买入价的当前值可以通过SymbolInfoTick 获得。什么都没有用。这里是所有的代码。#property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 #property indicator_type1 DRAW_LINE #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_label1 "BUY TP" input int Period_=34; int ma1Handle; double ma1Val[1]; double ExtMapBuffer1[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { SetIndexBuffer(0,ExtMapBuffer1,INDICATOR_DATA); PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0); PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,Period_); ArraySetAsSeries(ExtMapBuffer1,true); ma1Handle=iMA(_Symbol,_Period,Period_,0,MODE_EMA,PRICE_CLOSE); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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 &tick_volume[], const long &volume[], const int &spread[]) { int limit=rates_total-prev_calculated; //---- if(rates_total-prev_calculated>=Period_) limit=limit-Period_; //---- for(int i=limit-1;i>=0;i--) { MqlTick latest_price; // Будет использоваться для текущих котировок if(!SymbolInfoTick(_Symbol,latest_price)) { Alert("Ошибка получения последних котировок - ошибка:",GetLastError(),"!!");return(0); } double iclose=latest_price.bid; CopyBuffer(ma1Handle,0,i,1,ma1Val); ExtMapBuffer1[i]=iclose - ma1Val[0]; } return(rates_total); } //+------------------------------------------------------------------+ Vladimir Karputov 2014.01.07 14:09 #1695 forexman77:什么都没有用。这里是所有的代码。为什么不呢?这对我来说是有效的。 附加的文件: test.mq5 3 kb forexman77 2014.01.07 17:56 #1696 Вbarabashkakvn:我不明白为什么不可以。这对我来说很有效。在视觉上,乍一看,它看起来是正确的。但是当我重新计算价格和移动平均线之间的差异时,我得到了一个完全不同的数字。我在欧元兑美元/1.36421-1.36168=0.00253上检查,指标显示为0.00157。 Nauris Zukas 2014.01.08 19:23 #1697 下午好。 在MQL5语言 中是否有任何现成的函数代码,就像KimIV在MQL4中的http://forum.mql4.com/ru/38949? Только "Полезные функции от KimIV". - MQL4 форум www.mql5.com Только "Полезные функции от KimIV". - MQL4 форум Vladimir Karputov 2014.01.08 19:27 #1698 forexman77:在视觉上,乍一看,它看起来是正确的。但是,在重新计算了价格和移动平均线之间的差异后,我们得到了一个完全不同的数字。我检查了欧元兑美元/1.36421-1.36168=0.00253,指标显示0.00157截图附后。 啊,好吧,你需要在你的要求中更加准确。现在它正在正确计数。 附加的文件: test.mq5 3 kb Yury Reshetov 2014.01.08 19:29 #1699 abeiks: 下午好。 在MQL5语言 中是否有任何现成的函数代码,就像KimIV在MQL4中的http://forum.mql4.com/ru/38949? 在mql5中使用的不是函数代码,而是对象库。函数很难连接,在OOP中则比较容易:连接所需的库,创建一个对象并在其中获得必要的方法--类似于算法语言中的函数。 Legando 2014.01.08 19:43 #1700 我注册了一个信号,你能告诉我是否需要终端运行和账户开放? 1...163164165166167168169170171172173174175176177...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在指标代码中查看,OnCalculate()函数。
做到以下几点。
什么都没有用。在MQL4中一切都很清楚。我对MQL5不是很了解。我想应该调用一些函数来获取价格?我的做法如下。
什么都没有用。在MQL4中一切都很清楚。我对MQL5不是很了解。也许,必须调用一些函数才能获得价格?写在OnInit中。
我的做法如下。
什么都没有用。在MQL4中一切都很清楚。我对MQL5不是很了解。也许,为了获得价格,必须调用一些函数?你可以使用CopyRates(类似于CopyBuffer)来访问价格历史。
当前的卖出价、买入价可以通过SymbolInfoTick 或SymbolInfoDouble(如Spread指标)获得。
写在OnInit中。
你可以使用CopyRates(类似于CopyBuffer)来访问价格历史。卖出价、买入价的当前值可以通过SymbolInfoTick 获得。
什么都没有用。这里是所有的代码。
什么都没有用。这里是所有的代码。
为什么不呢?这对我来说是有效的。
我不明白为什么不可以。这对我来说很有效。
在视觉上,乍一看,它看起来是正确的。但是当我重新计算价格和移动平均线之间的差异时,我得到了一个完全不同的数字。
我在欧元兑美元/1.36421-1.36168=0.00253上检查,指标显示为0.00157。
下午好。
在MQL5语言 中是否有任何现成的函数代码,就像KimIV在MQL4中的http://forum.mql4.com/ru/38949?
在视觉上,乍一看,它看起来是正确的。但是,在重新计算了价格和移动平均线之间的差异后,我们得到了一个完全不同的数字。
我检查了欧元兑美元/1.36421-1.36168=0.00253,指标显示0.00157截图附后。
下午好。
在MQL5语言 中是否有任何现成的函数代码,就像KimIV在MQL4中的http://forum.mql4.com/ru/38949?