来自一个 "傻瓜 "的问题 - 页 243 1...236237238239240241242243244245246247248249250...277 新评论 Pavel Tsatsenko 2013.02.20 14:48 #2421 paladin800: 做ArrayResize(Buf, rates_total)。也要这样做,那么至少不会有错误。int start=10;而它将在欧元M1上画出一条直线=0,014。 panker 2013.02.20 16:09 #2422 下午好。有一个代码,由于某些原因不能工作。m_symbol.Ask()方法中的价格返回0。严厉地判断代码。我只是在学习。准备听取任何充分的批评意见。而目的是开设一个职位的事实。数量还不多(容易实现)。//+------------------------------------------------------------------+ //| probe.mq5 | //| Copyright 2012, MetaQuotes Software Corp. | //| | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link "" #property version "1.00" #include <Trade\Trade.mqh> #include <Trade\SymbolInfo.mqh> //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ input int perMA1=3; input int perMA2=7; input double DifMANeed=0; input double InpLots=0.1; double DifMAN=0; CTrade m_trade; CSymbolInfo m_symbol; class MATest{ private: int MA1; //First MA int MA2; //Two MA public: double DifMA; //Diference of MA bool TradeAllowed(); }; bool MATest::TradeAllowed(){ MA1=iMA(NULL,0,perMA1,0,MODE_SMA,PRICE_CLOSE); MA2=iMA(NULL,0,perMA2,0,MODE_SMA,PRICE_CLOSE); double price=m_symbol.Ask(); m_trade.SetDeviationInPoints(5); DifMA=MathAbs(MA1-MA2); Print(price); if(DifMA>DifMAN){ if(MA1>MA2){ if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,InpLots,m_symbol.Ask(),0,0)){ Print("Open Sell"); } else Print("Cant not open Sell"); } if(MA1<MA2){ if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,m_symbol.Bid(),0,0)){ Print("Open Buy"); } else Print("Cant not open Buy",m_symbol.Name(),m_symbol.Bid()); } return(true); } else return(false); }; MATest g_trade; int OnInit() { //--- string symb=Symbol(); m_symbol.Name(symb); Alert(m_symbol.Name()," ",NormalizeDouble(m_symbol.Bid(),m_symbol.Digits())); double close_array[]; CopyClose(NULL,0,1,200,close_array); double high_array[]; CopyHigh(NULL,0,1,200,high_array); double low_array[]; CopyLow(NULL,0,1,200,low_array); double volant; for(int i=ArraySize(close_array);i<0;i--){ volant+=(close_array[i]+high_array[i]+low_array[i])/3; volant=volant/ArraySize(close_array); } if(DifMANeed==0||DifMANeed>volant){ DifMAN=volant; } //--- return(0); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(g_trade.TradeAllowed())Comment(g_trade.DifMA," Trade Allowed"); else Comment(g_trade.DifMA," Trade Not Allowed"); } //+------------------------------------------------------------------+ Denis Lazarev 2013.02.20 18:27 #2423 panker:下午好。有一个代码,由于某些原因不能工作。m_symbol.Ask()方法中的价格返回0。严厉地判断代码。我只是在学习。准备听取任何充分的批评意见。而目的是开设一个职位的事实。数量还不多(容易实现)。也许你缺少一个函数,像SymbolSelect这样的东西。在这种情况下,它是一个命令名称https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/csymbolinfo/csymbolinfoask - 见注释 Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / Ask www.mql5.com Стандартная библиотека / Торговые классы / CSymbolInfo / Ask - Документация по MQL5 Olegs Kucerenko 2013.02.20 18:32 #2424 需要刷新率https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/csymbolinfo/csymbolinforefreshrates Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates www.mql5.com Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates - Документация по MQL5 Yedelkin 2013.02.20 18:40 #2425 panker: 有一些代码由于某种原因而不能工作。m_symbol.Ask()方法中的价格返回0。 看一下库的实现本身。Ask()方法愚蠢地返回m_tick.ask值。RefreshRates()方法用于刷新m_tick值。) [删除] 2013.02.20 21:10 #2426 谁能给出一个代码例子。如何创建一个 "小数点滚动条"?我使用了MQL5类CScroll。https://www.mql5.com/en/docs/standardlibrary/controls/cscroll Documentation on MQL5: Standard Library / Classes for Control Panels and Dialogs / CScroll www.mql5.com Standard Library / Classes for Control Panels and Dialogs / CScroll - Documentation on MQL5 Maxim Khrolenko 2013.02.24 21:27 #2427 如果我没记错的话,OnDeinit()函数有2.5秒的执行时间。问题1:如果在这段时间内不是所有的指标手柄都是自由的,会发生什么?问题2:OnInit()有时间限制吗? --- 2013.02.25 07:42 #2428 paladin800:如果我没记错的话,OnDeinit()函数需要2.5秒来执行。 问题1:如果在这段时间内没有释放所有的指标手柄,会发生什么?在MT5中,指标句柄是一个单独的话题,因为它们的释放与其说是由专家顾问本身控制的(它只能发送一个不需要它们的消息并重置句柄值),不如说是由终端本身控制的(它最终决定是否完全删除整个指标句柄)。问题2:OnInit()有时间限制吗? 不 Артем Иванов 2013.02.27 05:50 #2429 你能告诉我每年的 "利润走廊 "应该是多少吗?(в %%) 附加的文件: 12.png 45 kb Maxim Khrolenko 2013.03.03 14:25 #2430 我正在编写一个多货币专家顾问,在输入参数中,我设置了工具名称,如字符串 Symbol0="EURUSD"。如果我写错了名字,交易就不会进行。问题:是否有这样一个功能,可以将工具名称与经纪人提供的工具进行比较? Документация по MQL5: Основы языка / Типы данных / Тип string www.mql5.com Основы языка / Типы данных / Тип string - Документация по MQL5 1...236237238239240241242243244245246247248249250...277 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
做ArrayResize(Buf, rates_total)。
也要这样做,那么至少不会有错误。
而它将在欧元M1上画出一条直线=0,014。
下午好。
有一个代码,由于某些原因不能工作。
m_symbol.Ask()方法中的价格返回0。
严厉地判断代码。我只是在学习。准备听取任何充分的批评意见。
而目的是开设一个职位的事实。数量还不多(容易实现)。
下午好。
有一个代码,由于某些原因不能工作。
m_symbol.Ask()方法中的价格返回0。
严厉地判断代码。我只是在学习。准备听取任何充分的批评意见。
而目的是开设一个职位的事实。数量还不多(容易实现)。
也许你缺少一个函数,像SymbolSelect这样的东西。
在这种情况下,它是一个命令名称
https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/csymbolinfo/csymbolinfoask - 见注释
需要
刷新率
https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/csymbolinfo/csymbolinforefreshrates
谁能给出一个代码例子。
如何创建一个 "小数点滚动条"?
我使用了MQL5类CScroll。https://www.mql5.com/en/docs/standardlibrary/controls/cscroll
如果我没记错的话,OnDeinit()函数需要2.5秒来执行。
问题1:如果在这段时间内没有释放所有的指标手柄,会发生什么?
在MT5中,指标句柄是一个单独的话题,因为它们的释放与其说是由专家顾问本身控制的(它只能发送一个不需要它们的消息并重置句柄值),不如说是由终端本身控制的(它最终决定是否完全删除整个指标句柄)。
问题2:OnInit()有时间限制吗?
你能告诉我每年的 "利润走廊 "应该是多少吗?(в %%)