[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 381 1...374375376377378379380381382383384385386387388...631 新评论 ilunga 2012.09.13 11:42 #3801 moskitman:这来自于帮助,但是否可以用NULL作为符号,只 "监视 "EA运行的工具?例如,像这样。NULL似乎不起作用。 但Symbol() 会起作用=) [Deleted] 2012.09.13 13:49 #3802 下午好。我有以下问题。 位于MQL4.community 的MQL4书 ,在 "简单的 MQL 程序 "部分,包含一个 tradingexpert.mq4 的例子 ,内容如下(见附件文件)。外部变量extern double StopLoss =200 和extern double TakeProfit =39 是在第1-2块中声明。8-9块调用New_Stop(StopLoss) 和New_Stop(TakeProfit) 函数来计算SL 和TP 参数。在第11-12块中有关于该功能的描述。问题:New_Stop 函数的正式参数 具有int 类型(int Parametr),而在函数调用 New_Stop(StopLoss)(New_Stop(TakeProfit))中传递的参数具有double 类型。在MQL4 书中,在MQL4.community 的 "语言基础知识 "部分,"函数 "小节,"函数属性 "说"函数调用中传递的参数的数量、类型 和顺序必须与函数描述中传递的正式参数的数量、类型 和顺序一致(有默认参数的函数调用除外--见函数调用和函数描述及返回操作符。如何解释这个矛盾:根据后者,在声明StopLoss 和TakeProfit 变量时,我应该声明int 类型,而不是double(编译器没有产生任何错误)?为了不给论坛添乱,提前感谢您的回答。 附加的文件: tradingexpert.mq4 13 kb faton 2012.09.13 14:20 #3803 你好,你能不能给我一个提示...我在互联网上搜索了一半,信息各不相同 专家顾问的本质是在不同的工具上建仓。"在现实生活中,它可以工作并显示当前的价格,但我不能通过历史来运行它......该函数返回零。 我想显示两种货币的当前报价,例如EURUSD和EURCHF。 我正在用这个函数调用当前的报价(当欧元兑美元图表处于活动状态时,我正在跟踪历史数据)。 MarketInfo("EURUSD",MODE_BID)---> 获得当前价格 MarketInfo("EURCHF",MODE_BID)---> 返回零 我在这个论坛上发现,MarketInfo在历史上不起作用,使用 "iClose"。 但当我用 iClose("EURUSD",PERIOD_M1,0)---> 我得到当前价格 iClose("EURCHF",PERIOD_M1,0)---> 它的返回值为零 我还可以如何在策略测试器中 获得不同工具的当前报价?谢谢你 moskitman 2012.09.13 14:23 #3804 faton: MT4测试器不是多币种的。换句话说,只有单一货币的EA可以被测试。 faton 2012.09.13 14:50 #3805 moskitman: MT4测试器不是多币种的。换句话说,只有单一货币的EA可以被测试。 谢谢 Victor Nikolaev 2012.09.13 16:46 #3806 faton: 谢谢 更确切地说,在一个工具上测试,你可以使用其他工具进行分析。 Lowech 2012.09.13 17:09 #3807 sergeev: 谢谢你的帮助!))。 Lowech 2012.09.13 17:11 #3808 DhP: 或者看起来是这样。 谢谢你的反馈!!!非常有帮助!!。 Vladyslav Goshkov 2012.09.13 18:57 #3809 7777877:下午好。我有以下问题。 位于MQL4.community 的MQL4书 ,在 "简单的 MQL 程序 "部分,包含一个 tradingexpert.mq4 的例子 ,内容如下(见附件文件)。外部变量extern double StopLoss =200 和extern double TakeProfit =39 是在第1-2块中声明。8-9块调用New_Stop(StopLoss) 和New_Stop(TakeProfit) 函数来计算SL 和TP 参数。在11-12块中有关于该功能的描述。问题:New_Stop 函数的正式参数具有int 类型(int Parametr),而在函数调用 New_Stop(StopLoss)(New_Stop(TakeProfit))中传递的参数具有double 类型。在MQL4 书中,在MQL4.community 的 "语言基础 "一章中的 "函数 "部分,"函数属性 "小节说"函数调用中传递的参数的数量、类型 和顺序必须与函数描述中传递的正式参数的数量、类型 和顺序一致(有默认参数的函数调用除外--见函数调用和函数描述及返回操作符。如何解释这个矛盾:根据后者,在声明StopLoss 和TakeProfit 变量时,我应该声明int 类型,而不是double(编译器没有产生任何错误)?提前感谢您的回答,不要在论坛上乱扔垃圾。 外部参数(extern double StopLoss =200; extern double TakeProfit =39;),原则上应该是整数类型(更确切地说,根据作者的想法--它是一个以点为单位的值)。在调用函数时,会使用隐式类型转换。浮点类型被转换为整数类型,并损失了精度。在这种情况下,这并不重要:止损和利润的大小按计划是以点为单位设置的--它始终是整数。 IMHO,这个例子的代码写得很差。 使用常数的绝对值是一种非常糟糕和错误的风格,有记忆性的名称。 if (OrderType()>1) // Попался отложенный { 顺序枚举的最糟糕的实现:很难想出一个更 "弱智 "的实现。它似乎被特别放慢了速度:额外的计算、不必要的函数调用--就时间而言是最昂贵的操作,而且是在循环的每次迭代中。而且,尽管循环内的订单数量没有变化,但这是一个事实。 for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: vitor 2012.09.13 19:48 #3810 对不起,我曾经在Rumuse上工作,现在正在学习MT4。我在这里仍然是一个 "傻瓜"。11 .09 .我不能启动引言。请告诉我什么是错的。我很高兴能帮助你。 1...374375376377378379380381382383384385386387388...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这来自于帮助,但是否可以用NULL作为符号,只 "监视 "EA运行的工具?
例如,像这样。
NULL似乎不起作用。
但Symbol() 会起作用=)
下午好。我有以下问题。 位于MQL4.community 的MQL4书 ,在 "简单的 MQL 程序 "部分,包含一个 tradingexpert.mq4 的例子 ,内容如下(见附件文件)。外部变量extern double StopLoss =200 和extern double TakeProfit =39 是在第1-2块中声明。8-9块调用New_Stop(StopLoss) 和New_Stop(TakeProfit) 函数来计算SL 和TP 参数。在第11-12块中有关于该功能的描述。
问题:New_Stop 函数的正式参数 具有int 类型(int Parametr),而在函数调用 New_Stop(StopLoss)(New_Stop(TakeProfit))中传递的参数具有double 类型。在MQL4 书中,在MQL4.community 的 "语言基础知识 "部分,"函数 "小节,"函数属性 "说"函数调用中传递的参数的数量、类型 和顺序必须与函数描述中传递的正式参数的数量、类型 和顺序一致(有默认参数的函数调用除外--见函数调用和函数描述及返回操作符。如何解释这个矛盾:根据后者,在声明StopLoss 和TakeProfit 变量时,我应该声明int 类型,而不是double(编译器没有产生任何错误)?
为了不给论坛添乱,提前感谢您的回答。
你好,你能不能给我一个提示...我在互联网上搜索了一半,信息各不相同
专家顾问的本质是在不同的工具上建仓。"在现实生活中,它可以工作并显示当前的价格,但我不能通过历史来运行它......该函数返回零。
我想显示两种货币的当前报价,例如EURUSD和EURCHF。
我正在用这个函数调用当前的报价(当欧元兑美元图表处于活动状态时,我正在跟踪历史数据)。
MarketInfo("EURUSD",MODE_BID)---> 获得当前价格
MarketInfo("EURCHF",MODE_BID)---> 返回零
我在这个论坛上发现,MarketInfo在历史上不起作用,使用 "iClose"。
但当我用
iClose("EURUSD",PERIOD_M1,0)---> 我得到当前价格
iClose("EURCHF",PERIOD_M1,0)---> 它的返回值为零
我还可以如何在策略测试器中 获得不同工具的当前报价?谢谢你
MT4测试器不是多币种的。换句话说,只有单一货币的EA可以被测试。
MT4测试器不是多币种的。换句话说,只有单一货币的EA可以被测试。
谢谢
谢谢
更确切地说,在一个工具上测试,你可以使用其他工具进行分析。
或者看起来是这样。
下午好。我有以下问题。 位于MQL4.community 的MQL4书 ,在 "简单的 MQL 程序 "部分,包含一个 tradingexpert.mq4 的例子 ,内容如下(见附件文件)。外部变量extern double StopLoss =200 和extern double TakeProfit =39 是在第1-2块中声明。8-9块调用New_Stop(StopLoss) 和New_Stop(TakeProfit) 函数来计算SL 和TP 参数。在11-12块中有关于该功能的描述。
问题:New_Stop 函数的正式参数具有int 类型(int Parametr),而在函数调用 New_Stop(StopLoss)(New_Stop(TakeProfit))中传递的参数具有double 类型。在MQL4 书中,在MQL4.community 的 "语言基础 "一章中的 "函数 "部分,"函数属性 "小节说"函数调用中传递的参数的数量、类型 和顺序必须与函数描述中传递的正式参数的数量、类型 和顺序一致(有默认参数的函数调用除外--见函数调用和函数描述及返回操作符。如何解释这个矛盾:根据后者,在声明StopLoss 和TakeProfit 变量时,我应该声明int 类型,而不是double(编译器没有产生任何错误)?
提前感谢您的回答,不要在论坛上乱扔垃圾。
外部参数(extern double StopLoss =200; extern double TakeProfit =39;),原则上应该是整数类型(更确切地说,根据作者的想法--它是一个以点为单位的值)。在调用函数时,会使用隐式类型转换。浮点类型被转换为整数类型,并损失了精度。在这种情况下,这并不重要:止损和利润的大小按计划是以点为单位设置的--它始终是整数。
IMHO,这个例子的代码写得很差。
使用常数的绝对值是一种非常糟糕和错误的风格,有记忆性的名称。
顺序枚举的最糟糕的实现:很难想出一个更 "弱智 "的实现。它似乎被特别放慢了速度:额外的计算、不必要的函数调用--就时间而言是最昂贵的操作,而且是在循环的每次迭代中。而且,尽管循环内的订单数量没有变化,但这是一个事实。