初学者的问题 MQL5 MT5 MetaTrader 5 - 页 31 1...242526272829303132333435363738...1503 新评论 Dimka-novitsek 2012.09.01 14:42 #301 是的,当然我在理论上编码正确,但在五号机上,打印功能不太正常,很乱,而且经常不写。是的!!!。 Yedelkin 2012.09.01 14:43 #302 Dimka-novitsek:是的,这实际上是提供给我写的剧本,显然,我把它插入了我的专家的he tick功能中!"。 不,这不是一个剧本。这些是你的台词。脚本必须输出类似Print(EnumToString((ENUM_TIMEFRAMES)i)+"="+IntegerToString(i))的行。 Yedelkin 2012.09.01 14:46 #303 Dimka-novitsek:......在五号机上,打印功能的工作原理不知为何不太正确,有一个转折,经常不写。是的!!!。 专家 "选项卡可能不会显示一个正在运行的程序的所有信息。要看到所有的信息,你必须看一下日志(鼠标右键,"打开")。 WiND 2012.09.01 15:34 #304 事实证明,CSymbolInfo.Refresh()函数并没有刷新刻度线,而是应该使用CSymbolInfo.RefreshRates()来代替;)CSymbolInfo.Refresh() - 更新符号数据CSymbolInfo.RefreshRates() - 更新引号=)如果用第二种方法一切都很清楚,但第一种方法的目的是什么? Yedelkin 2012.09.01 15:57 #305 WiND:事实证明,CSymbolInfo.Refresh()函数并没有刷新刻度线,而是应该使用CSymbolInfo.RefreshRates()来代替;)CSymbolInfo.Refresh() - 更新符号数据CSymbolInfo.RefreshRates() - 更新引号=)如果用第二种方法一切都很清楚,但第一种方法的目的是什么? 嗯,你永远不知道。也许,有人需要更新掉期的数据,进入市场时检查资金,等等。更多细节见代码。bool CSymbolInfo::Refresh(void) { long tmp=0; //--- if(!SymbolInfoDouble(m_name,SYMBOL_POINT,m_point)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE,m_tick_value)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_PROFIT,m_tick_value_profit)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_LOSS,m_tick_value_loss)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_SIZE,m_tick_size)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_CONTRACT_SIZE,m_contract_size)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_MIN,m_lots_min)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_MAX,m_lots_max)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_STEP,m_lots_step)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_VOLUME_LIMIT,m_lots_limit)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_SWAP_LONG,m_swap_long)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_SWAP_SHORT,m_swap_short)) return(false); if(!SymbolInfoInteger(m_name,SYMBOL_DIGITS,tmp)) return(false); m_digits=(int)tmp; if(!SymbolInfoInteger(m_name,SYMBOL_TRADE_EXEMODE,tmp)) return(false); m_trade_execution=(ENUM_SYMBOL_TRADE_EXECUTION)tmp; if(!SymbolInfoInteger(m_name,SYMBOL_TRADE_CALC_MODE,tmp)) return(false); m_trade_calcmode=(ENUM_SYMBOL_CALC_MODE)tmp; if(!SymbolInfoInteger(m_name,SYMBOL_TRADE_MODE,tmp)) return(false); m_trade_mode=(ENUM_SYMBOL_TRADE_MODE)tmp; if(!SymbolInfoInteger(m_name,SYMBOL_SWAP_MODE,tmp)) return(false); m_swap_mode=(ENUM_SYMBOL_SWAP_MODE)tmp; if(!SymbolInfoInteger(m_name,SYMBOL_SWAP_ROLLOVER3DAYS,tmp)) return(false); m_swap3=(ENUM_DAY_OF_WEEK)tmp; if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_INITIAL,m_margin_initial)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_MAINTENANCE,m_margin_maintenance)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_LONG,m_margin_long)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_SHORT,m_margin_short)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_LIMIT,m_margin_limit)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_STOP,m_margin_stop)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_MARGIN_STOPLIMIT,m_margin_stoplimit)) return(false); if(!SymbolInfoInteger(m_name,SYMBOL_EXPIRATION_MODE,tmp)) return(false); m_trade_time_flags=(int)tmp; if(!SymbolInfoInteger(m_name,SYMBOL_FILLING_MODE,tmp)) return(false); m_trade_fill_flags=(int)tmp; //--- ok return(true); } Документация по MQL5: Торговые функции / OrderCheck www.mql5.com Торговые функции / OrderCheck - Документация по MQL5 Dimka-novitsek 2012.09.01 16:36 #306 谢谢你!!!当然,我的台词。想写我是个傻瓜,它们是我的台词,看到你的评论。你必须看一下日志(鼠标右键,"打开")才能看到所有的帖子。谢谢你!!! WiND 2012.09.02 13:38 #307 在utf8编码中,有一个作为字符串的字符代码(例如:"041e" )。如何在10-系统中得到这个代码的等价物,然后把它转换成一个字符(代码041e=俄罗斯字母O)。真是一团糟,但我也想不明白:) Dimka-novitsek 2012.09.03 06:29 #308 早上好!我不太清楚今天早上我在做什么。请告诉我,这前两个变量,它们有什么问题? Olegs Kucerenko 2012.09.03 06:37 #309 Dimka-novitsek: 早上好,我不太知道我在做什么。请告诉我这前两个变量,它们有什么问题?你定义的第一个字符串变量作为一个函数,使其为空(=NULL或="")。然后在OnInit中你可以使=_Symbol .第二。要么把;放在5后面,要么把第二个int删除。 Dimka-novitsek 2012.09.03 06:40 #310 谢谢你!!! 1...242526272829303132333435363738...1503 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,这实际上是提供给我写的剧本,显然,我把它插入了我的专家的he tick功能中!"。
......在五号机上,打印功能的工作原理不知为何不太正确,有一个转折,经常不写。是的!!!。
事实证明,CSymbolInfo.Refresh()函数并没有刷新刻度线,而是应该使用CSymbolInfo.RefreshRates()来代替;)
CSymbolInfo.Refresh() - 更新符号数据
CSymbolInfo.RefreshRates() - 更新引号=)
如果用第二种方法一切都很清楚,但第一种方法的目的是什么?
事实证明,CSymbolInfo.Refresh()函数并没有刷新刻度线,而是应该使用CSymbolInfo.RefreshRates()来代替;)
CSymbolInfo.Refresh() - 更新符号数据
CSymbolInfo.RefreshRates() - 更新引号=)
如果用第二种方法一切都很清楚,但第一种方法的目的是什么?
谢谢你!!!
当然,我的台词。想写我是个傻瓜,它们是我的台词,看到你的评论。
你必须看一下日志(鼠标右键,"打开")才能看到所有的帖子。谢谢你!!!
在utf8编码中,有一个作为字符串的字符代码(例如:"041e" )。
如何在10-系统中得到这个代码的等价物,然后把它转换成一个字符(代码041e=俄罗斯字母O)。
真是一团糟,但我也想不明白:)
早上好,我不太知道我在做什么。请告诉我这前两个变量,它们有什么问题?
你定义的第一个字符串变量作为一个函数,使其为空(=NULL或="")。然后在OnInit中你可以使=_Symbol .
第二。要么把;放在5后面,要么把第二个int删除。