初学者的问题 MQL5 MT5 MetaTrader 5 - 页 757 1...750751752753754755756757758759760761762763764...1503 新评论 igorbel 2017.07.05 09:29 #7561 User_mt5: 一般来说,有一个概念叫做 "梯度"。它是一个描述(图形)"陡峭度 "的指标。对于这个行业,这个指标可以用点/时间 来表示。它本质上是一种比率。这个指标将不取决于规模,因为它没有附在图表上。使用梯度,不要使用角度。你是如何计算这个梯度的?你有没有办法详细说明你的想法?请注意我在哪个论坛上写了我的问题。 User_mt5 2017.07.05 09:53 #7562 igorbel: 你是如何计算这个梯度的?你有没有办法详细说明你的想法?请注意我在哪个论坛上写了我的问题。我没有什么想法。 我说的是简单的数学。梯度就是速度。速度本身就是当时间在分母中。在熟悉的用法中,它是指汽车的速度,以公里/小时表示。但一般来说,速度可以是不同的。例如,编写软件 代码的速度是以每天的行数来衡量的。在价格图表的情况下,速度是以每分钟的点数来衡量的。按照惯例,我们可以认为,如果图表的某个部分的梯度(斜率,上升率)高于,例如,100点/分钟,那么这部分可以被认为是一个趋势,如果低于,则是一个平坦的。 Николай Никитюк 2017.07.07 13:15 #7563 你好 2017.07.07_15:55 GMT+3.我不明白。似乎应该有一个信号,但在策略测试器中 却没有。那么你所称赞的MT5测试器与MT4测试器有什么不同?我几乎是像在标准移动平均线.mq5中那样写的。但我成功地在我的模拟账户上测试了专家顾问。它打开了一个交易,但不得不自己关闭它。我修复了关闭。但我写了些别的东西,EA又停止了开仓交易。零错误和零警告并不代表专家顾问的良好状况。我被困在这里了。我怎么知道它说的是专家顾问不工作?我必须再次打扰卡尔普托夫。如果我收到了全部的禁令清单,我就会自己动手了。我正在张贴这些文件,虽然不是全部的。16:06 GMT+3。 附加的文件: teqqki_aa0f4u_sudww_f_ywj.png 109 kb hsh9vi_m9wca5_h993r_t_gqg_c2t.png 106 kb Open1.mqh 4 kb Init.mqh 9 kb 20170707.log 1574 kb Aleksey Vyazmikin 2017.07.08 00:14 #7564 请帮助我们!要在MQL4中获得指标值,只需使用以下函数即可double CMAf(int index) { return NormalizeDouble(iMA(Symbol(),0,period_CMA,0,0,0,index),Digits); } 如何获得MQL5的模拟物? Vladimir Karputov 2017.07.08 04:38 #7565 -Aleks-:请帮助我们!要在MQL4中获得一个指标的名称,一个简单的函数就可以了 如何获得MQL5的模拟物?你看了iMA 的帮助吗?第一步:在 "头 "中,声明一个变量,用于存储iMA指标手柄。第二步:在OnInit()中创建指标句柄。//+------------------------------------------------------------------+ //| iMAGet.mq5 | //| Copyright © 2017, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2017, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //--- input parameters input int ma_period=10; // period of ma input int ma_shift=0; // shift input ENUM_MA_METHOD ma_method=MODE_SMA; // type of smoothing input ENUM_APPLIED_PRICE applied_price=PRICE_CLOSE; // type of price input ENUM_TIMEFRAMES period=PERIOD_CURRENT; // timeframe //--- int handle_iMA; // variable for storing the handle of the iMA indicator //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- create handle of the indicator iMA handle_iMA=iMA(Symbol(),period,ma_period,ma_shift,ma_method,applied_price); //--- if the handle is not created if(handle_iMA==INVALID_HANDLE) { //--- tell about the failure and output the error code PrintFormat("Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d", Symbol(), EnumToString(Period()), GetLastError()); //--- the indicator is stopped early return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- double ma_0=iMAGet(0); double ma_1=iMAGet(1); Comment("MA #0: ",DoubleToString(ma_0,Digits()+1),"\n", "MA #1: ",DoubleToString(ma_1,Digits()+1)); } //+------------------------------------------------------------------+ //| Get value of buffers for the iMA | //+------------------------------------------------------------------+ double iMAGet(const int index) { double MA[1]; //--- reset error code ResetLastError(); //--- fill a part of the iMABuffer array with values from the indicator buffer that has 0 index if(CopyBuffer(handle_iMA,0,index,1,MA)<0) { //--- if the copying fails, tell the error code PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError()); //--- quit with zero result - it means that the indicator is considered as not calculated return(0.0); } return(MA[0]); } //+------------------------------------------------------------------+ 而结果是(截图上的十字准线被设置在1号栏)。 附加的文件: iMAGet.mq5 7 kb Aleksey Vyazmikin 2017.07.08 09:32 #7566 Vladimir Karputov: 你看过iMA 的帮助吗?第一步:在 "头 "中声明一个变量,以存储iMA指标手柄。第二步:在OnInit()中创建指标句柄。而结果是(截图中的十字准线被设置为1号栏)。谢谢你的答复。在MQL4中,一切都在一个函数中声明 - 所以有一组函数,根据EA的设置被激活。如果我没有弄错的话,在你的情况下,内存将被分配给TS允许使用的几十个不同的指标,这是不合理的,还是内存不会被分配? xronx 2017.07.08 12:47 #7567 是否有可能在没有该类的具体对象的情况下调用该类函数?因此,它将是这样的。class test { public: test(void); ~test(void); public: void PrintInfo (){Print ("Class test");} }; //--- void OnStart() { test.PrintInfo() ; }还是有必要创建一个对象?即使这个函数指的是类本身的定义,而不是它的一个实例。 Koldun Zloy 2017.07.08 15:34 #7568 如果该函数不需要访问 类的变量,就把它变成静态的。class test { public: test(); ~test(); static void PrintInfo() { Print( "Class test" ); } }; void OnStart() { test::PrintInfo(); } xronx 2017.07.08 16:01 #7569 Koldun Zloy:如果该函数不需要访问 类的变量,就把它变成静态的。 谢谢你,这正是我们需要的。 Aleksey Vyazmikin 2017.07.08 18:44 #7570 出现错误--什么是错的?在MQL4中,它是有效的... double arrFibo[17]= { 0, 0.236, 0.382, 0.5, 0.618, 0.764, 1, 1.236, 1.382, 1.5, 1.618, 2.0, 2.236, 2.382, 2.5, 2.618, 2.764, 3 //Всего уровней 17 + 0 }; '{' - 太多的初始化器 TZ_Sky_and_Ground_V_04.mq5 2484 6 1...750751752753754755756757758759760761762763764...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一般来说,有一个概念叫做 "梯度"。它是一个描述(图形)"陡峭度 "的指标。对于这个行业,这个指标可以用点/时间 来表示。它本质上是一种比率。这个指标将不取决于规模,因为它没有附在图表上。使用梯度,不要使用角度。
你是如何计算这个梯度的?
你有没有办法详细说明你的想法?请注意我在哪个论坛上写了我的问题。
你是如何计算这个梯度的?
你有没有办法详细说明你的想法?请注意我在哪个论坛上写了我的问题。
我没有什么想法。
我说的是简单的数学。梯度就是速度。速度本身就是当时间在分母中。在熟悉的用法中,它是指汽车的速度,以公里/小时表示。但一般来说,速度可以是不同的。例如,编写软件 代码的速度是以每天的行数来衡量的。在价格图表的情况下,速度是以每分钟的点数来衡量的。按照惯例,我们可以认为,如果图表的某个部分的梯度(斜率,上升率)高于,例如,100点/分钟,那么这部分可以被认为是一个趋势,如果低于,则是一个平坦的。
你好 2017.07.07_15:55 GMT+3.我不明白。似乎应该有一个信号,但在策略测试器中 却没有。那么你所称赞的MT5测试器与MT4测试器有什么不同?我几乎是像在标准移动平均线.mq5中那样写的。但我成功地在我的模拟账户上测试了专家顾问。它打开了一个交易,但不得不自己关闭它。我修复了关闭。但我写了些别的东西,EA又停止了开仓交易。零错误和零警告并不代表专家顾问的良好状况。我被困在这里了。我怎么知道它说的是专家顾问不工作?我必须再次打扰卡尔普托夫。如果我收到了全部的禁令清单,我就会自己动手了。我正在张贴这些文件,虽然不是全部的。16:06 GMT+3。
请帮助我们!
要在MQL4中获得指标值,只需使用以下函数即可
如何获得MQL5的模拟物?请帮助我们!
要在MQL4中获得一个指标的名称,一个简单的函数就可以了
如何获得MQL5的模拟物?你看了iMA 的帮助吗?
第一步:在 "头 "中,声明一个变量,用于存储iMA指标手柄。
第二步:在OnInit()中创建指标句柄。
而结果是(截图上的十字准线被设置在1号栏)。
你看过iMA 的帮助吗?
第一步:在 "头 "中声明一个变量,以存储iMA指标手柄。
第二步:在OnInit()中创建指标句柄。
而结果是(截图中的十字准线被设置为1号栏)。
谢谢你的答复。
在MQL4中,一切都在一个函数中声明 - 所以有一组函数,根据EA的设置被激活。如果我没有弄错的话,在你的情况下,内存将被分配给TS允许使用的几十个不同的指标,这是不合理的,还是内存不会被分配?
是否有可能在没有该类的具体对象的情况下调用该类函数?因此,它将是这样的。
还是有必要创建一个对象?即使这个函数指的是类本身的定义,而不是它的一个实例。
如果该函数不需要访问 类的变量,就把它变成静态的。
如果该函数不需要访问 类的变量,就把它变成静态的。
出现错误--什么是错的?在MQL4中,它是有效的...