初学者的问题 MQL5 MT5 MetaTrader 5 - 页 585 1...578579580581582583584585586587588589590591592...1503 新评论 Vasiliy Sokolov 2016.05.24 08:55 #5841 barudkinarseniy: 同志们好!请告诉我是什么错误,编译器给出的警告是可能的数据丢失( 需要一个明确的类型转换。int ts = (int)SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL); Arseniy Barudkin 2016.05.24 09:04 #5842 Vasiliy Sokolov: 需要一个明确的类型转换。 谢谢你!我无法记住所有这些转换的细微差别))。 Vladimir Karputov 2016.05.24 09:09 #5843 barudkinarseniy: 谢谢你!我无法记住所有这些转换的细微差别))。 往往是这个:SymbolInfoInteger 会产生误导。这就是为什么最好再看一次帮助。 Arseniy Barudkin 2016.05.24 11:47 #5844 请告诉我问题出在哪里。编译器没有给出任何错误。在测试器中,大多数交易是好的,但有时打印机中的错误处理程序会写出错误的止损和开盘价 写出小数点后6位:无效价格(止损) OrderSendX(symbol=AUDCAD,cmd=SELL,volume=0.29,price=0.995120,slipppage=50,stoploss=0.996470,takeeprofit=0.991070)//+------------------------------------------------------------------+ //Открытие ордеров void OrderOpen(int otype, double OpenPriceW1) { int msl = (int) MarketInfo(Symbol(),MODE_STOPLEVEL); int stsl = (int) SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL); if(otype == OP_BUY) { StepSTBAY = (int)(Ask/Point - OpenPriceW1/Point); if(StepSTBAY < msl) StepSTBAY = msl; if(StepSTBAY < stsl) StepSTBAY = StepSTBAY + stsl; lots = LotsByRisk(OP_BUY,StepSTBAY); ST_BAY = NormalizeDouble(Ask - StepSTBAY*Point,Digits); TP_BAY = NormalizeDouble(Ask + StepSTBAY*RR*Point,Digits); OrderSendX(Symbol(),OP_BUY,lots,Ask,slipage,ST_BAY,TP_BAY,"",Magic,0,clrGreen); } if(otype == OP_SELL) { StepSTSELL = (int)(OpenPriceW1/Point - Bid/Point); if(StepSTSELL < msl) StepSTSELL = msl; if(StepSTSELL < stsl) StepSTSELL = StepSTSELL + stsl; lots = LotsByRisk(OP_SELL,StepSTSELL); ST_SELL = NormalizeDouble(Bid + StepSTSELL*Point,Digits); TP_SELL = NormalizeDouble(Bid - StepSTSELL*RR*Point,Digits); OrderSendX(Symbol(),OP_SELL,lots,Bid,slipage,ST_SELL,TP_SELL,"",Magic,0,clrRed); } } //+------------------------------------------------------------------+ Sergey Gritsay 2016.05.24 15:50 #5845 barudkinarseniy: 请告诉我问题出在哪里。编译器没有给出任何错误。在测试器中,大多数交易是好的,但有时打印机中的错误处理程序会写出错误的止损,开盘价 会写出小数点后6位:Invalid price (stop) OrderSendX(symbol=AUDCAD,cmd=SELL,volume=0.29,price=0.995120,slipage=50,stoploss=0.996470,takeeprofit=0.991070) 首先引起我注意的是这个代码片段,这两个函数是一样的 int msl = (int) MarketInfo(Symbol(),MODE_STOPLEVEL); int stsl = (int) SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL); 前者为旧,后者为新 Ivan Molchanov 2016.05.24 19:55 #5846 请您告知,如果我在MT4中改变了配置文件,EA是否会继续工作?还是所有的EA窗口都必须在同一个配置文件中打开才能永久工作? fvdtrejder 2016.05.24 22:18 #5847 亲爱的程序员们,你们好!是否可以在MQL4中编写一个程序,根据不同时间段的计算值,以蜡烛图的形式绘制图表?也许有现成的代码来解决此类问题? Alexey Viktorov 2016.05.25 06:52 #5848 Ivan Molchanov: 请您告诉我,当我在MT4中改变配置文件时,该EA是否会继续工作?还是所有的EA窗口都必须在一个配置文件中打开才能永久工作?工具 => 设置和做你想做的事... Arseniy Barudkin 2016.05.25 07:01 #5849 你好,请你告诉我如何在设定的参数中规定外部的时间框架选择?这正是一种选择,而不是手动打印。 [删除] 2016.05.25 07:36 #5850 barudkinarseniy: 你好,请你告诉我,如何在设置参数的extern中写上选择时间框架?这正是一个选择,而不是手动打印。使用ENUM_TIMEFRAMES枚举类型变量。 1...578579580581582583584585586587588589590591592...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
同志们好!请告诉我是什么错误,编译器给出的警告是可能的数据丢失(
需要一个明确的类型转换。
谢谢你!我无法记住所有这些转换的细微差别))。
请告诉我问题出在哪里。编译器没有给出任何错误。在测试器中,大多数交易是好的,但有时打印机中的错误处理程序会写出错误的止损,开盘价 会写出小数点后6位:Invalid price (stop) OrderSendX(symbol=AUDCAD,cmd=SELL,volume=0.29,price=0.995120,slipage=50,stoploss=0.996470,takeeprofit=0.991070)
亲爱的程序员们,你们好!
是否可以在MQL4中编写一个程序,根据不同时间段的计算值,以蜡烛图的形式绘制图表?也许有现成的代码来解决此类问题?
请您告诉我,当我在MT4中改变配置文件时,该EA是否会继续工作?还是所有的EA窗口都必须在一个配置文件中打开才能永久工作?
工具 => 设置
和做你想做的事...
你好,请你告诉我,如何在设置参数的extern中写上选择时间框架?这正是一个选择,而不是手动打印。
使用ENUM_TIMEFRAMES枚举类型变量。