如何编码? - 页 301 1...294295296297298299300301302303304305306307308...347 新评论 tkuan77 2012.07.15 07:16 #3001 嗨,Mladen。 谢谢你的解释,但是你说的第一个闭合的条形图是什么意思?是指第一个收盘价还是当前的收盘价或之后的收盘价?那么current+0或current+1的含义是什么? 问候 Terrance mladen: 邓丽君MODE_MAIN意味着你正在读取随机线的值。MODE_SIGNAL意味着你正在读取随机信号线的值。 至于SHIFT:它对每个指标都是一样的(甚至是自定义的指标)。举个例子:SHIFT=0表示当前条形图值,SHIFT=1表示第一个封闭条形图值,以此类推...... Mladen Rakic 2012.07.15 07:33 #3002 ... 特伦斯 根据定义,当前的条形图仍然不是一个封闭条形图 在当前条形图之前的第一个条形图是第一个封闭条形图 tkuan77: 你好,Mladen。谢谢你的解释,但你说的第一个闭合条形图是什么意思?是第一个闭合条形图的值还是当前条形图的值,还是之后的?那么current+0或current+1的含义是什么? 问候 Terrance tkuan77 2012.07.15 08:09 #3003 你好,姆拉登。 那么我是不是可以这样说。 current+0与0的值相同。 current+1与值1相同。 current+2与数值2相同。 以此类推,..... 为SHIFT? 例如 iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); 与iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1)相同。 我这样说对吗? 谢谢 Terrance mladen: Terrance根据定义,当前的条形图仍然不是一个封闭的条形图。 在当前栏位之前的第一个栏位是第一个封闭栏位 Mladen Rakic 2012.07.15 08:21 #3004 ... Terrance iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); 是当前的 iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); 是第一个关闭的(上一个)。 ... ... iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); 是图表中最老的一个。 PS:在这个帖子里,你已经看到了更多关于条形图的信息:https://www.mql5.com/en/forum/173124 tkuan77: Hi Mladen,那么我是否可以这样说。 current+0与0的值相同。 current+1与数值1相同。 current+2与值2相同。 以此类推..... 为SHIFT? 例如 iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); 与iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1)相同。 我这样说对吗? 谢谢 特伦斯 tkuan77 2012.07.15 09:09 #3005 嗨,姆拉登。 谢谢你一如既往地提供了巨大的帮助! 谢谢 Terrance mladen: 特伦斯iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); 是当前的 iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); 是第一次关闭(上一次) ... ... iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); 是图表上最老的一个 PS: 在这个帖子里,你可以看到更多关于酒吧的信息:https://www.mql5.com/en/forum/173124。 [删除] 2012.07.15 09:52 #3006 几个问题 大家好。 我已经测试了我的代码,它非常接近于此。我有几个问题,希望你们能帮我解决。 我在int init()中写了这个。 如果(Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod) { Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART")。 return(0); } SlowMAPeriod是200。当我从2009年1月1日开始回测时,即使我在图表上清楚地看到有足够的条形图来计算2008年的200SMA,也会出现这个错误。我在这里错过了什么吗? 2.2.我在H4图表上进行交易,但只在每日趋势的方向上进行。我通过使用以下代码得出数值。 SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1)。 FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1); 然后,当我搜索一个多头头寸时,我通过使用来引用它。 if (FastMACurrent > SlowMACurrent && ... 等 ... ) 这是否正确,因为它似乎没有正确过滤我的交易? 3.我还在H4图表上使用了一个趋势过滤器,只在价格超过过去120期的前一个高点(然后保持在120期的低点之上)时才做多头。我使用这个代码。 Donchian_Low = Low。 Donchian_High = High。 static bool UpTrend = FALSE。 静态 bool DownTrend = FALSE。 如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;} if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. 然后我使用以下代码(比如说对于多头头寸)。 如果(FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ...等等 ... ) 但它似乎不起作用,因为当我用120个周期的唐吉诃德通道检查我的回测图时,它没有结尾。有什么想法吗? 谢谢。 How to code? 贸易在... 问吧! Mladen Rakic 2012.07.15 14:26 #3007 ... 1.把它放在start()函数 的开头。当涉及到像Bars这样的数据时,Init是不可靠的 2.只要FastMACurrent>SlowMACurrent,该条件就为真。这是你想要的,还是你在寻找交叉点? 3.这可能与第2点有关。你必须 "缩小 "可以输入订单的条件,因为这种方式涵盖了太多的可能性。 crsnape@btinternet.com: 大家好。我已经测试了我的代码,它非常接近于此。我有几个问题,希望你能帮我解决。 我在int init()中写了这个。 如果(Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod) { Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART")。 return(0); } SlowMAPeriod是200。当我从2009年1月1日开始回测时,即使我在图表上清楚地看到有足够的条形图来计算2008年的200SMA,也会出现这个错误。我在这里错过了什么吗? 2.2.我在H4图表上进行交易,但只在每日趋势的方向上进行。我通过使用以下代码得出数值。 SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1)。 FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1); 然后,当我搜索一个多头头寸时,我通过使用来引用它。 if (FastMACurrent > SlowMACurrent && ... 等 ... ) 这是否正确,因为它似乎没有正确过滤我的交易? 3.我还在H4图表上使用了一个趋势过滤器,只在价格超过过去120期的前一个高点(然后保持在120期的低点之上)时才做多头。我使用这个代码。 Donchian_Low = Low。 Donchian_High = High。 static bool UpTrend = FALSE。 静态 bool DownTrend = FALSE。 如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;} if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. 然后我使用以下代码(比如说对于多头头寸)。 如果(FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ...等等 ... ) 但它似乎不起作用,因为当我用120个周期的唐吉诃德通道检查我的回测图时,它没有结尾。有什么想法吗? 提前感谢。 [删除] 2012.07.15 14:47 #3008 你好mladen。 1.好的会做。 2.是的,没错,我不想在十字星上进场,只是在短期图表上使用它作为多/空过滤器,例如,如果日线图上的快速MA高于慢速MA,我只希望它在H4图表上考虑多头。所以我认为我的编码是正确的? 3.我不知道我是否知道你的意思,但我在init start()下面放了这个东西 static bool UpTrend = FALSE; 静态 bool DownTrend = FALSE。 如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;} if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. 我是否应该把静态的bool变量放在最开始,让它们成为全局变量?会不会是这个原因造成的? How to code? 需要帮助创建一个非常简单的EA Ema Cross! Mladen Rakic 2012.07.15 14:51 #3009 ... 3.当问唐奇安_低 时,会发生什么(这是在大多数时候)。你的静态变量仍然显示 "旧的 "状态,即使它不再有效(它 "继承 "了状态,这样它就发出信号说它在上面或下面,即使它不再有效了)。检查一下 这是否是造成你问题的原因 crsnape@btinternet.com: 嗨 mladen, 1.确定就可以了。2.是的,没错,我不想在十字架上进场,只是在短期图表上使用它作为多/空过滤器,例如,如果日线图上的快速MA高于慢速MA,我只希望它在H4图表上考虑多头。所以我认为我的编码是正确的?3.我不知道我是否知道你的意思,但我在init start()下放了这个东西static bool UpTrend = FALSE;静态 bool DownTrend = FALSE。如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}如果 (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}. 我是否应该把静态的bool变量放在最开始,使它们成为全局变量?这是否会造成这种情况? [删除] 2012.07.15 17:56 #3010 说得好。我会研究一下。 关于函数 的一个问题,是否可以在一个函数中调用一个函数?例如,我有这样一个函数。 string GetWinLossPreviousShort (int LastOpenTicket, string WinLossPreviousShort) { 如果(......等 然后我再调用它。 double GetLotsLong (int LowRisk, int HighRisk, double SLDistanceLong, string GetWinLossPreviousShort) 1...294295296297298299300301302303304305306307308...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗨,Mladen。
谢谢你的解释,但是你说的第一个闭合的条形图是什么意思?是指第一个收盘价还是当前的收盘价或之后的收盘价?那么current+0或current+1的含义是什么?
问候
Terrance
邓丽君
MODE_MAIN意味着你正在读取随机线的值。MODE_SIGNAL意味着你正在读取随机信号线的值。
至于SHIFT:它对每个指标都是一样的(甚至是自定义的指标)。举个例子:SHIFT=0表示当前条形图值,SHIFT=1表示第一个封闭条形图值,以此类推.........
特伦斯
根据定义,当前的条形图仍然不是一个封闭条形图
在当前条形图之前的第一个条形图是第一个封闭条形图
你好,Mladen。
谢谢你的解释,但你说的第一个闭合条形图是什么意思?是第一个闭合条形图的值还是当前条形图的值,还是之后的?那么current+0或current+1的含义是什么?
问候
Terrance你好,姆拉登。
那么我是不是可以这样说。
current+0与0的值相同。
current+1与值1相同。
current+2与数值2相同。
以此类推,..... 为SHIFT?
例如
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); 与iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1)相同。
我这样说对吗?
谢谢
Terrance
Terrance
根据定义,当前的条形图仍然不是一个封闭的条形图。
在当前栏位之前的第一个栏位是第一个封闭栏位...
Terrance
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); 是当前的
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); 是第一个关闭的(上一个)。
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); 是图表中最老的一个。
PS:在这个帖子里,你已经看到了更多关于条形图的信息:https://www.mql5.com/en/forum/173124
Hi Mladen,
那么我是否可以这样说。
current+0与0的值相同。
current+1与数值1相同。
current+2与值2相同。
以此类推..... 为SHIFT?
例如
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, Current + 1); 与iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1)相同。
我这样说对吗?
谢谢
特伦斯嗨,姆拉登。
谢谢你一如既往地提供了巨大的帮助!
谢谢
Terrance
特伦斯
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,0); 是当前的
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,1); 是第一次关闭(上一次)
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL,Bars-1); 是图表上最老的一个
PS: 在这个帖子里,你可以看到更多关于酒吧的信息:https://www.mql5.com/en/forum/173124。几个问题
大家好。
我已经测试了我的代码,它非常接近于此。我有几个问题,希望你们能帮我解决。
我在int init()中写了这个。
如果(Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod)
{
Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART")。
return(0);
}
SlowMAPeriod是200。当我从2009年1月1日开始回测时,即使我在图表上清楚地看到有足够的条形图来计算2008年的200SMA,也会出现这个错误。我在这里错过了什么吗?
2.2.我在H4图表上进行交易,但只在每日趋势的方向上进行。我通过使用以下代码得出数值。
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1)。
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
然后,当我搜索一个多头头寸时,我通过使用来引用它。
if (FastMACurrent > SlowMACurrent && ... 等 ... )
这是否正确,因为它似乎没有正确过滤我的交易?
3.我还在H4图表上使用了一个趋势过滤器,只在价格超过过去120期的前一个高点(然后保持在120期的低点之上)时才做多头。我使用这个代码。
Donchian_Low = Low。
Donchian_High = High。
static bool UpTrend = FALSE。
静态 bool DownTrend = FALSE。
如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}
if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
然后我使用以下代码(比如说对于多头头寸)。
如果(FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ...等等 ... )
但它似乎不起作用,因为当我用120个周期的唐吉诃德通道检查我的回测图时,它没有结尾。有什么想法吗?
谢谢。
...
1.把它放在start()函数 的开头。当涉及到像Bars这样的数据时,Init是不可靠的
2.只要FastMACurrent>SlowMACurrent,该条件就为真。这是你想要的,还是你在寻找交叉点?
3.这可能与第2点有关。你必须 "缩小 "可以输入订单的条件,因为这种方式涵盖了太多的可能性。
大家好。
我已经测试了我的代码,它非常接近于此。我有几个问题,希望你能帮我解决。
我在int init()中写了这个。
如果(Bars < D1FastMAPeriod || Bars < D1SlowMAPeriod)
{
Alert("ERROR- INSUFFICIENT BARS TO CALCULATE SMA ON DAILY CHART")。
return(0);
}
SlowMAPeriod是200。当我从2009年1月1日开始回测时,即使我在图表上清楚地看到有足够的条形图来计算2008年的200SMA,也会出现这个错误。我在这里错过了什么吗?
2.2.我在H4图表上进行交易,但只在每日趋势的方向上进行。我通过使用以下代码得出数值。
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1)。
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
然后,当我搜索一个多头头寸时,我通过使用来引用它。
if (FastMACurrent > SlowMACurrent && ... 等 ... )
这是否正确,因为它似乎没有正确过滤我的交易?
3.我还在H4图表上使用了一个趋势过滤器,只在价格超过过去120期的前一个高点(然后保持在120期的低点之上)时才做多头。我使用这个代码。
Donchian_Low = Low。
Donchian_High = High。
static bool UpTrend = FALSE。
静态 bool DownTrend = FALSE。
如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}
if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
然后我使用以下代码(比如说对于多头头寸)。
如果(FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ...等等 ... )
但它似乎不起作用,因为当我用120个周期的唐吉诃德通道检查我的回测图时,它没有结尾。有什么想法吗?
提前感谢。你好mladen。
1.好的会做。
2.是的,没错,我不想在十字星上进场,只是在短期图表上使用它作为多/空过滤器,例如,如果日线图上的快速MA高于慢速MA,我只希望它在H4图表上考虑多头。所以我认为我的编码是正确的?
3.我不知道我是否知道你的意思,但我在init start()下面放了这个东西
static bool UpTrend = FALSE;
静态 bool DownTrend = FALSE。
如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}
if (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
我是否应该把静态的bool变量放在最开始,让它们成为全局变量?会不会是这个原因造成的?
...
3.当问唐奇安_低 时,会发生什么(这是在大多数时候)。你的静态变量仍然显示 "旧的 "状态,即使它不再有效(它 "继承 "了状态,这样它就发出信号说它在上面或下面,即使它不再有效了)。检查一下 这是否是造成你问题的原因
嗨 mladen,
1.确定就可以了。
2.是的,没错,我不想在十字架上进场,只是在短期图表上使用它作为多/空过滤器,例如,如果日线图上的快速MA高于慢速MA,我只希望它在H4图表上考虑多头。所以我认为我的编码是正确的?
3.我不知道我是否知道你的意思,但我在init start()下放了这个东西
static bool UpTrend = FALSE;
静态 bool DownTrend = FALSE。
如果 (Ask > Donchian_High) {UpTrend = TRUE; DownTrend = FALSE;}
如果 (Bid < Donchian_Low) {UpTrend = FALSE; DownTrend = TRUE;}.
我是否应该把静态的bool变量放在最开始,使它们成为全局变量?这是否会造成这种情况?说得好。我会研究一下。
关于函数 的一个问题,是否可以在一个函数中调用一个函数?例如,我有这样一个函数。
string GetWinLossPreviousShort (int LastOpenTicket, string WinLossPreviousShort)
{
如果(......等
然后我再调用它。
double GetLotsLong (int LowRisk, int HighRisk, double SLDistanceLong, string GetWinLossPreviousShort)