初学者的问题 MQL5 MT5 MetaTrader 5 - 页 664 1...657658659660661662663664665666667668669670671...1503 新评论 Aleksey Vyazmikin 2016.11.04 16:50 #6631 Alexey Kozitsyn: 是的,输入参数不能被修改。说实话,我不明白为什么你需要根据3/5位数的报价来改变这个值?你确实在输入参数中设置了这个值。你不能只写100(如果是3/5位数)而不去管吗?事实上,我在5位数上进行优化--更多的历史,但在4位数上交易,使用不同的设置,包括点数。我不想混淆设置--这就是为什么这是一个解决方案。 Vitaly Muzichenko 2016.11.04 17:03 #6632 -Aleks-:事实上,我在5位数上进行优化--更多的历史,但在4位数上交易,使用不同的设置,包括点数。我不想混淆设置--这就是为什么这是一个解决方案。它应该像这样工作int Sign = 1;int OnInit() {// Округлим огрызки - 3 и 5 знак Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;// Приведем к терминальному количеству знаков TakeProfit*=Sign; StopLoss*=Sign; TrailingShift*=Sign; TrailingStep*=Sign; Slippage*=Sign;} Aleksey Vyazmikin 2016.11.04 17:07 #6633 Vitaly Muzichenko:这应该是可行的int Sign = 1;int OnInit() {// Округлим огрызки - 3 и 5 знак Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;// Приведем к терминальному количеству знаков TakeProfit*=Sign; StopLoss*=Sign; TrailingShift*=Sign; TrailingStep*=Sign; Slippage*=Sign;} 谢谢 - 只要我能够让EA运行起来,我就会试一试...... Aleksey Vyazmikin 2016.11.04 17:09 #6634 我也得到了这个错误--如何纠正它?'MODE_MAIN' - 枚举器标识已经定义 initmql4__1.mqh 223 24 ENUM_STO_PRICE StoFieldMigrate(int field) { switch(field) { case 0: return(STO_LOWHIGH); case 1: return(STO_CLOSECLOSE); default: return(STO_LOWHIGH); } }//+------------------------------------------------------------------+ enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS }; enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI }; enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER }; enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN }; enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+ double CopyBufferMQL4(int handle,int index,int shift) { double buf[]; switch(index) { case 0: if(CopyBuffer(handle,0,shift,1,buf)>0) return(buf[0]); break; case 1: if(CopyBuffer(handle,1,shift,1,buf)>0) return(buf[0]); break; case 2: if(CopyBuffer(handle,2,shift,1,buf)>0) return(buf[0]); break; case 3: if(CopyBuffer(handle,3,shift,1,buf)>0) return(buf[0]); break; case 4: if(CopyBuffer(handle,4,shift,1,buf)>0) return(buf[0]); break; default: break; } return(EMPTY_VALUE); }//+------------------------------------------------------------------+ Questions from Beginners MQL5 EA999 Strong K BreakOut Indicators: Deviation Rate BIAS fxsaber 2016.11.04 17:20 #6635 -Aleks-:这样的情况下,我得到了一个错误 - 帮助我理解为什么会出现这个错误 - 在MQL5中,你不能改变用户输入的变量的值?你不能这样做!如果你决定使用MQL4_to_MQL5.mqh,我强烈建议你不要这样做。因为它是为例子而写的,那是在图书馆描述中。也就是说,它根本不具有普遍性。特别是,有一个非常有限的MarketInfo版本(只做例子的工作)。但好的解决方案是存在的。因此,最好不要使用这个mqh本身,而只从其中提取有用的东西。 fxsaber 2016.11.04 17:23 #6636 -Aleks-:我也得到了这个错误--如何纠正它?'MODE_MAIN' - 枚举器标识已经定义 initmql4__1.mqh 223 24 ENUM_STO_PRICE StoFieldMigrate(int field) { switch(field) { case 0: return(STO_LOWHIGH); case 1: return(STO_CLOSECLOSE); default: return(STO_LOWHIGH); } }//+------------------------------------------------------------------+ enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS }; enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI }; enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER }; enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN }; enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+ double CopyBufferMQL4(int handle,int index,int shift) { double buf[]; switch(index) { case 0: if(CopyBuffer(handle,0,shift,1,buf)>0) return(buf[0]); break; case 1: if(CopyBuffer(handle,1,shift,1,buf)>0) return(buf[0]); break; case 2: if(CopyBuffer(handle,2,shift,1,buf)>0) return(buf[0]); break; case 3: if(CopyBuffer(handle,3,shift,1,buf)>0) return(buf[0]); break; case 4: if(CopyBuffer(handle,4,shift,1,buf)>0) return(buf[0]); break; default: break; } return(EMPTY_VALUE); }//+------------------------------------------------------------------+ 重新命名。所有枚举器的字段都必须是不同的。而你在枚举ADX_MODE 和枚举MAIN_SIGNAL_MODE 中有相同的字段。 Aleksey Vyazmikin 2016.11.04 17:40 #6637 fxsaber: 重新命名。所有枚举的字段都应该是不同的。而你在枚举ADX_MODE 和枚举MAIN_SIGNAL_MODE 中有相同的字段。我已经暂时把它评论掉了...我不认为这很关键...然而,使用两个库编译了一个EA--交易功能 和其他功能的翻译,从4到5。我仍然对5中的测试器感到厌恶--我找不到可以在可视化中添加指标的地方,也找不到如何过滤日志的方法...还不能看到公开的订单,嗯。 Aleksey Vyazmikin 2016.11.04 17:45 #6638 如何解释这一点。2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756 2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder 发送了一个设置订单的请求。类型:买入止损 lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0 2016.11.04 20:42:25.224 2016.02.11 14:04:30 买入止损1.00 RTS-12.16 在68180 sl: 67260 tp: 68200 [无效的到期日] 2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756 Questions from Beginners MQL5 Indicator won't fire alerts Flexible Time Charts for fxsaber 2016.11.04 17:48 #6639 -Aleks-:如何解释这一点。2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756 2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder 发送了一个设置订单的请求。类型:买入止损 lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0 2016.11.04 20:42:25.224 2016.02.11 14:04:30 买入止损1.00 RTS-12.16 在68180 sl: 67260 tp: 68200 [无效的到期日] 2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756 过期设置有问题。 fxsaber 2016.11.04 17:55 #6640 -Aleks-:到目前为止,我对5个测试器感到厌恶--我找不到在哪里可以将指标添加到可视化中,也找不到如何过滤日志......还没有办法看到开放的订单,嗯。 我正在使用2006年的MT4转换脚本来查看测试者的历史。它和MT4一样方便地显示一切。 1...657658659660661662663664665666667668669670671...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,输入参数不能被修改。说实话,我不明白为什么你需要根据3/5位数的报价来改变这个值?你确实在输入参数中设置了这个值。你不能只写100(如果是3/5位数)而不去管吗?
事实上,我在5位数上进行优化--更多的历史,但在4位数上交易,使用不同的设置,包括点数。我不想混淆设置--这就是为什么这是一个解决方案。
事实上,我在5位数上进行优化--更多的历史,但在4位数上交易,使用不同的设置,包括点数。我不想混淆设置--这就是为什么这是一个解决方案。
它应该像这样工作
int OnInit() {
// Округлим огрызки - 3 и 5 знак
Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}
这应该是可行的
int OnInit() {
// Округлим огрызки - 3 и 5 знак
Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}
我也得到了这个错误--如何纠正它?
'MODE_MAIN' - 枚举器标识已经定义 initmql4__1.mqh 223 24
ENUM_STO_PRICE StoFieldMigrate(int field)
{
switch(field)
{
case 0: return(STO_LOWHIGH);
case 1: return(STO_CLOSECLOSE);
default: return(STO_LOWHIGH);
}
}
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER };
enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
{
double buf[];
switch(index)
{
case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
return(buf[0]); break;
case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
return(buf[0]); break;
case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
return(buf[0]); break;
case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
return(buf[0]); break;
case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
return(buf[0]); break;
default: break;
}
return(EMPTY_VALUE);
}
//+------------------------------------------------------------------+
这样的情况下,我得到了一个错误 - 帮助我理解为什么会出现这个错误 - 在MQL5中,你不能改变用户输入的变量的值?
你不能这样做!
如果你决定使用MQL4_to_MQL5.mqh,我强烈建议你不要这样做。因为它是为例子而写的,那是在图书馆描述中。也就是说,它根本不具有普遍性。特别是,有一个非常有限的MarketInfo版本(只做例子的工作)。但好的解决方案是存在的。因此,最好不要使用这个mqh本身,而只从其中提取有用的东西。
我也得到了这个错误--如何纠正它?
'MODE_MAIN' - 枚举器标识已经定义 initmql4__1.mqh 223 24
ENUM_STO_PRICE StoFieldMigrate(int field)
{
switch(field)
{
case 0: return(STO_LOWHIGH);
case 1: return(STO_CLOSECLOSE);
default: return(STO_LOWHIGH);
}
}
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER };
enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
{
double buf[];
switch(index)
{
case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
return(buf[0]); break;
case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
return(buf[0]); break;
case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
return(buf[0]); break;
case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
return(buf[0]); break;
case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
return(buf[0]); break;
default: break;
}
return(EMPTY_VALUE);
}
//+------------------------------------------------------------------+
重新命名。所有枚举的字段都应该是不同的。而你在枚举ADX_MODE 和枚举MAIN_SIGNAL_MODE 中有相同的字段。
我已经暂时把它评论掉了...我不认为这很关键...
然而,使用两个库编译了一个EA--交易功能 和其他功能的翻译,从4到5。
我仍然对5中的测试器感到厌恶--我找不到可以在可视化中添加指标的地方,也找不到如何过滤日志的方法...
还不能看到公开的订单,嗯。
如何解释这一点。
2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder 发送了一个设置订单的请求。类型:买入止损 lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 买入止损1.00 RTS-12.16 在68180 sl: 67260 tp: 68200 [无效的到期日]
2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756
如何解释这一点。
2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder 发送了一个设置订单的请求。类型:买入止损 lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 买入止损1.00 RTS-12.16 在68180 sl: 67260 tp: 68200 [无效的到期日]
2016.11.04 20:42:25.224 2016.02.11 14:04:30 设置待定时出现不可预见的错误 - 4756
到目前为止,我对5个测试器感到厌恶--我找不到在哪里可以将指标添加到可视化中,也找不到如何过滤日志......
还没有办法看到开放的订单,嗯。