错误、漏洞、问题 - 页 2392 1...238523862387238823892390239123922393239423952396239723982399...3184 新评论 fxsaber 2019.02.26 22:03 #23911 你在哪里可以看到通过图形对象实现的交易水平 需要尽可能地接近终端本身的工作。 Andrey Khatimlianskii 2019.02.26 23:09 #23912 fxsaber:你在哪里可以看到通过图形对象实现的交易水平 需要尽可能地接近终端本身的工作。具有DASHDOT风格的水平线和OBJPROP_TEXT中的描述。 fxsaber 2019.02.27 05:08 #23913 Andrey Khatimlianskii:具有DASHDOT风格的水平线和OBJPROP_TEXT中的描述。谢谢,我不知道有文本属性。 它不起作用。我做错了什么? void OnStart() { const string Name = __FUNCTION__; ObjectCreate(0, Name, OBJ_HLINE, 0, 0, SymbolInfoDouble(_Symbol, SYMBOL_BID)); ObjectSetString(0, Name, OBJPROP_TEXT, "12345"); ObjectSetString(0, Name, OBJPROP_LEVELTEXT, "12345"); } 我无法看到文字。 Artyom Trishkin 2019.02.27 06:51 #23914 fxsaber:谢谢,我不知道有文本属性。 它不起作用。我做错了什么? 我无法看到文字。 在图表设置中,打开显示图形对象的文字说明。 fxsaber 2019.02.27 06:51 #23915 Artyom Trishkin: 在图表设置中,打开显示图形对象的文字说明。谢谢你! Artyom Trishkin 2019.02.27 06:52 #23916 fxsaber:谢谢你! 你也可以通过编程来做。 Vladimir Karputov 2019.02.27 08:12 #23917 与本主题无关的评论已被移至 "MQL4 MT4 MetaTrader 4初学者的问题"。 Ilyas 2019.02.27 09:25 #23918 Ilya Malev:MQL5 ME 2006 在MQL4中也有同样的代码,因为它应该是"函数'f'必须有一个主体"谢谢你的留言。 纠正了,正确的错误将被显示出来。 [删除] 2019.02.27 14:34 #23919 Ilyas:你们什么时候能解决网站上的个人信息 问题? 1.产品更新信息不断出现(在网站和终端上)。同一产品。你读了,他们又来了,再读。 2.我自己的信息被突出显示(在终端)。我知道我写了什么,我也知道我写给谁。我自己的信息不需要突出显示为新的信息! Dmitriy Burlachenko 2019.02.28 07:09 #23920 大家好。 试图将几个文本标签合并成一个长字符串。由于某些原因,在没有刻度线的情况下(日间休息),在通常模式下,函数ObjectGetInteger(0,name,OBJPROP_XSIZE)不时返回0(并非总是),尽管 "name "对象肯定存在。在测试人员中,错误发生的频率较低,但也会发生。 错误代码为0,但没有获得数值。 向开发者和专家提问。为什么?我做错了什么,还是这是个错误? 2019.02.28 13:58:16.922 DBS_Bug3 (RTS-3.19,M4) DBS_Bug3: GetLastX: Не удалось получить размер объекта dbs_inf_11! Код ошибки: 0. Операция выполнена успешно. 测试专家顾问的代码如下 //+------------------------------------------------------------------+ //| DBS_Bug3.mq5 | //| Copyright © 2019, DBS | //+------------------------------------------------------------------+ #include "Include\Errors.mqh" //+------------------------------------------------------------------+ //| Входные параметры эксперта | //+------------------------------------------------------------------+ sinput int Renew_Interval=5; //Интервал обновления, сек. sinput string iFontName="Tahoma"; //Название шрифта sinput int iFontSize=9; //Размер шрифта sinput color iColorBase=clrYellow; //Основной цвет sinput int iText_X=300; //Смещение от левого края графика, пикс. sinput int iText_Y=5; //Смещение от верхнего края графика, пикс. sinput string iName_pref="dbs_inf_"; //Префикс имени объектов текста //+------------------------------------------------------------------+ //| Глобальные переменные | //+------------------------------------------------------------------+ datetime LastCalculateTime=0; //время последнего расчёта //+------------------------------------------------------------------+ //| Обработчик события OnInit | //+------------------------------------------------------------------+ int OnInit() { EventSetTimer(Renew_Interval); //установка таймера ShowInfo(); //отобразить информацию return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Обработчик события Deinit | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectsDeleteAll(0,iName_pref); //удаляем все свои объекты текста ChartRedraw(); } //+------------------------------------------------------------------+ //| Обработчик событий таймера | //+------------------------------------------------------------------+ void OnTimer() { if(SymbolInfoInteger(_Symbol,SYMBOL_TIME)>LastCalculateTime) //проверка периода перерасчёта ShowInfo(); //вывести информацию } //+------------------------------------------------------------------+ //| Выводит на экран информацию про некоторые параметры эксперта | //+------------------------------------------------------------------+ void ShowInfo() { string t10="Прибыль: "+IntegerToString(MathRand())+" "; string t11="Убыток: "+IntegerToString(MathRand())+" "; string t12="Баланс: "+IntegerToString(MathRand())+" "; TextCreate(10,t10,iText_X,iText_Y); TextCreate(11,t11,GetLastX(10),iText_Y); TextCreate(12,t12,GetLastX(11),iText_Y); LastCalculateTime=TimeCurrent(); //запомним время последнего пересчёта } //+------------------------------------------------------------------+ //| Функция получает значение координаты X конца заданного объекта | //+------------------------------------------------------------------+ int GetLastX(int a_idx) { string name=iName_pref+IntegerToString(a_idx); //имя объекта long x=ObjectGetInteger(0,name,OBJPROP_XDISTANCE); long size=ObjectGetInteger(0,name,OBJPROP_XSIZE); if(size==0) PrintFormat("%s: %s: Не удалось получить размер объекта %s! Код ошибки: %i. %s.",EXPERT_NAME,__FUNCTION__,name,_LastError,ErrorDescription(_LastError)); return(int(x+size)); } //+------------------------------------------------------------------+ //| Создает объект "Текстовая метка" | //+------------------------------------------------------------------+ bool TextCreate(const int name_idx, //индекс имени объекта const string text, //текст const int x=0, //координата по оси X const int y=0, //координата по оси Y const color a_color=clrNONE) //цвет текста { string name=iName_pref+IntegerToString(name_idx); //формируем имя объёкта if(!ObjectCreate(0,name,OBJ_LABEL,0,0,0)) // создадим объект "Текстовая метка" { PrintFormat("%s: %s: Не удалось создать объект %s! Код ошибки: %i. %s.",EXPERT_NAME,__FUNCTION__,name,_LastError,ErrorDescription(_LastError)); return(false); } ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); //установим координаты привязки объекта ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y); ObjectSetString(0,name,OBJPROP_TEXT,text); //установим текст ObjectSetString(0,name,OBJPROP_TOOLTIP,text); ObjectSetString(0,name,OBJPROP_FONT,iFontName); //установим шрифт текста ObjectSetInteger(0,name,OBJPROP_FONTSIZE,iFontSize); //установим размер шрифта color font_color=(a_color==clrNONE)?iColorBase:a_color; //если цвет не задан - используем установленный в настройках ObjectSetInteger(0,name,OBJPROP_COLOR,font_color); //установим цвет объекта ObjectSetInteger(0,name,OBJPROP_BACK,false); //отобразим на переднем (false) или заднем (true) плане ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); //включим (true) или отключим (false) режим перемещения объекта мышью ObjectSetInteger(0,name,OBJPROP_SELECTED,false); //включим (true) или отключим (false) режим выделенности объекта ObjectSetInteger(0,name,OBJPROP_HIDDEN,true); //скроем (true) или отобразим (false) имя графического объекта в списке объектов ChartRedraw(); //обновим график return(true); } //+------------------------------------------------------------------+ P.S. 顺便说一下,没有一个开发者回答我之前的问题 附加的文件: DBS_Bug3.mq5 13 kb 1...238523862387238823892390239123922393239423952396239723982399...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你在哪里可以看到通过图形对象实现的交易水平
需要尽可能地接近终端本身的工作。
你在哪里可以看到通过图形对象实现的交易水平
需要尽可能地接近终端本身的工作。
具有DASHDOT风格的水平线和OBJPROP_TEXT中的描述。
具有DASHDOT风格的水平线和OBJPROP_TEXT中的描述。
谢谢,我不知道有文本属性。
它不起作用。我做错了什么?
我无法看到文字。
谢谢,我不知道有文本属性。
它不起作用。我做错了什么?
我无法看到文字。
在图表设置中,打开显示图形对象的文字说明。
谢谢你!
谢谢你!
MQL5 ME 2006
在MQL4中也有同样的代码,因为它应该是"函数'f'必须有一个主体"
谢谢你的留言。
纠正了,正确的错误将被显示出来。
你们什么时候能解决网站上的个人信息 问题?
1.产品更新信息不断出现(在网站和终端上)。同一产品。你读了,他们又来了,再读。
2.我自己的信息被突出显示(在终端)。我知道我写了什么,我也知道我写给谁。我自己的信息不需要突出显示为新的信息!
大家好。
试图将几个文本标签合并成一个长字符串。由于某些原因,在没有刻度线的情况下(日间休息),在通常模式下,函数ObjectGetInteger(0,name,OBJPROP_XSIZE)不时返回0(并非总是),尽管 "name "对象肯定存在。在测试人员中,错误发生的频率较低,但也会发生。
错误代码为0,但没有获得数值。 向开发者和专家提问。为什么?我做错了什么,还是这是个错误?
测试专家顾问的代码如下
P.S. 顺便说一下,没有一个开发者回答我之前的问题