对开发者的帮助。 - 页 3 12345678910...19 新评论 Sofiia Butenko 2017.11.17 17:45 #21 Sergey Chalyshev: 帮助解决延迟报价的问题。我不明白谁在拖延,为什么拖延,这里有一个很好的例子。指标可以延迟报价的到来(直到它们被计算出来,报价才会到来)。 Реter Konow 2017.11.17 17:49 #22 Vladimir Pastushak: 如果它是一个按钮,属性将是按钮,如果它是一个方形,属性将是方形。这里是图形引擎的一部分,它可能是解决你的问题的方法的一个例子。 if(!Объект_в_нажатом_состоянии && Идентификатор_события == _STANDART_EVENT_OBJECT_POINTED) { if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_MAIN_CATEGORY] == _OBJECT_MAIN_CATEGORY_STANDART) { if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_WINDOW_APPEARENCE_BUTTON) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,255); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,clrWhite); } if(G_CORE[Номер_окна_под_событием][_W_Properties][_WINDOW_CURRENT_STATUS] == _WINDOW_CURRENT_STATUS_AWAKE) { if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_SCROLL_BAR_BUTTON) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,clrSilver); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,clrSilver); } if( G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_MENU_ITEM //&& !(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_INTERFACE_MAIN_MENU_ITEM && Открыто_окно_меню) ) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,clrLightSkyBlue); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BORDER_COLOR,clrBlue); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,clrWhite); //---------------- if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_INTERFACE_MAIN_MENU_ITEM && Открыто_окно_меню) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BORDER_COLOR,0); } //---------------- } if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_TOOL_BOX_ITEM) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,clrSilver); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,clrSilver); } if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_TEXT_EDIT_BOX) { if(G_CORE[Номер_окна_под_событием][_W_Properties][_WINDOW_CATEGORY] == _WINDOW_CATEGORY_MENU) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,C'226,226,226'); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BORDER_COLOR,clrLightSkyBlue); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,0); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_FONTSIZE,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_FONTSIZE] + 1); } else { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,C'226,226,226');//clrLightSkyBlue ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BORDER_COLOR,clrLightSkyBlue);//clrBlue ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,0); //clrWhite // ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_FONTSIZE,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_FONTSIZE] + 1); } } if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_SET_VALUE_BUTTON) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,clrLightSkyBlue); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,clrBlue); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,clrWhite); } if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_CATEGORY] == _OBJECT_CATEGORY_WINDOW_HANDLE) { if(G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_VERTICAL_SCROLL_BAR_HANDLE) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,8421504); ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_COLOR,8421504); } if( G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_WINDOW_RIGHT_HANDLE || G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_WINDOW_BOTTOM_HANDLE || G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_OBJECT_SUBCATEGORY] == _OBJECT_SUBCATEGORY_WINDOW_HW_HANDLE ) { ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,clrDarkGray); } } 注意该条目 G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME]所需的窗口、所需的对象和所需的属性被插入数组中。然后,新的值,马上就被函数设定为 ObjectSetInteger(0,G_CORE[Номер_окна_под_событием][Номер_объекта_под_событием][_NAME],OBJPROP_BGCOLOR,Свойство); 这就是我所理解的 "引擎"。 Renat Akhtyamov 2017.11.17 17:52 #23 我有一个最简单的问题。如何制作一个圣杯,需要什么:代码碎片和其他东西,采取什么策略? Реter Konow 2017.11.17 17:54 #24 Renat Akhtyamov:我有一个最简单的问题。你如何制作一个圣杯,你需要什么:代码碎片之类的东西? 我的意见是--没有必要做一个圣 杯。在市场上做交易员的时候,你应该忘记这个词。)) Renat Akhtyamov 2017.11.17 17:54 #25 Реter Konow: 我的意见是--没有必要做一个圣杯。在市场上作为交易员工作时,你应该忘记这个词。)) 而如果你周围的人都在亏损,没有人学习有利可图的策略或开发专家顾问,你如何工作呢? Реter Konow 2017.11.17 17:56 #26 Renat Akhtyamov: 如果其他人都在漏水,你怎么能工作? 那么你的工作方式就必须与其他人不同)。 Renat Akhtyamov 2017.11.17 17:58 #27 Реter Konow: 所以你必须以不同于其他人的方式工作)。 无论你在这里问谁,每个人都在工作。不像其他人那样不工作? Реter Konow 2017.11.17 18:01 #28 Renat Akhtyamov: 无论你在这里问谁,每个人都在工作。不像其他人那样--他们不工作吗? 就个人而言,我喜欢中长期的股票策略。我不喜欢外汇。一项战略必须建立在对市场、其参与者的了解和对数据的正确解释之上。没有这一点,任何战略都是 "猜测的游戏"。 Renat Akhtyamov 2017.11.17 18:03 #29 Реter Konow: 就个人而言,我喜欢中长期的股票策略。外汇是不符合我的要求的。一项战略必须建立在对市场、其参与者的了解以及对数据的正确解释之上。没有这一点,任何战略都是 "猜测的游戏"。 是的,你是对的。谢谢你! Vladimir Pastushak 2017.11.17 18:05 #30 Реter Konow: 所以,你必须以不同的方式来工作)。 这就是我的工作方式,CButton 允许你创建不同的按钮,有的有名字,有的没有名字,只改变按钮的属性。//|==================================================================| //| CButton.mqh | //| Copyright 2016, Trading-go Project. | //| Author: Voldemar, Version: 13.04.2016, Site http://trading-go.ru | //|------------------------------------------------------------------| //| Класс для работы с простой кнопкой | //|==================================================================| #property strict #include "CObject.mqh" //|==================================================================| //| CREATE("Opens",7000,7000,60,20,CORNER_LEFT_UPPER,"","Sans Serif",7,clrWhite,C'71,71,71',C'200,200,200',false,false,false,true,0,"\n"); //|==================================================================| class CButton { protected: CObject obj; public: bool SetXDISTANCE(int aX) { return obj.SetXDistance(aX);} //--- установим координаты кнопки bool SetXDISTANCE(string aName,int aX) { return obj.SetXDistance(aName,aX);} //--- установим координаты кнопки int GetXDISTANCE(void) { return (int)obj.GetXDistance();} //--- установим координаты кнопки int GetXDISTANCE(string aName) { return (int)obj.GetXDistance(aName);} //--- установим координаты кнопки void SetSUB_WINDOW(int aWindow) { obj.SetSubWindow(aWindow);} //--- установим координаты кнопки int GetSUB_WINDOW(void) { return obj.GetSubWindow();} //--- установим координаты кнопки //--- bool SetNEW_NAME(string aName,string aNewName) { return obj.SetNewName(aName,aNewName);} //--- void SetNAME(string aName) { obj.SetName(aName);} //--- string GetNAME(void) { return obj.GetName();} //--- //--- void SetHIDE(string aName) { obj.SetHide(aName);} //--- void SetHIDE(void) { obj.SetHide();} //--- //--- bool SetKILL(void) { return obj.SetDellName();} //--- bool SetKILL(string aName) { return obj.SetDellName(aName);} //--- //--- bool GetOBJECT_FIND(void) { return obj.GetObject_Find();} //--- bool GetOBJECT_FIND(string aName) { return obj.GetObject_Find(aName);} //--- // ================ bool SetXYToTimePrice(string aName,int aX,int aY,int &aSubWindow,datetime &aTime,double &aPrice) { return obj.SetXYToTimePrice(aName,aX,aY,aSubWindow,aTime,aPrice); } bool SetXYToTimePrice(int aX,int aY,int &aSubWindow,datetime &aTime,double &aPrice) { return obj.SetXYToTimePrice(aX,aY,aSubWindow,aTime,aPrice); } // ================ bool SetTimePriceToXY(string aName,datetime aTime,double aPrice,int aXSIZE=0,int aYSIZE=0) { return obj.SetTimePriceToXY(aName,aTime,aPrice,aXSIZE,aYSIZE); } bool SetTimePriceToXY(datetime aTime,double aPrice,int aXSIZE=0,int aYSIZE=0) { return obj.SetTimePriceToXY(aTime,aPrice,aXSIZE,aYSIZE); } void Debug(bool aDebug=false) { obj.Debug(aDebug);} //--- Режим дебага // ================ //CREATE("Opens",7000,7000,60,20,CORNER_LEFT_UPPER,"","Sans Serif",7,clrWhite,C'71,71,71',C'200,200,200',false,false,false,true,0,"\n"); // ================ bool CREATE( const string aName = "Button", // имя кнопки const int aX = 20, // координата по оси X const int aY = 20, // координата по оси Y const int aWidth = 50, // ширина кнопки const int aHeight = 18, // высота кнопки const ENUM_BASE_CORNER aCorner = CORNER_LEFT_UPPER, // угол графика для привязки const string aText = "Button", // текст const string aFont = "Arial", // шрифт const int aFont_size = 10, // размер шрифта const color aClr = clrWhite, // цвет текста const color aBack_clr = C'71,71,71', // цвет фона const color aBorder_clr = C'200,200,200', // цвет границы const bool aState = false, // нажата/отжата const bool aBack = false, // на заднем плане const bool aSelection = false, // выделить для перемещений const bool aHidden = true, // скрыт в списке объектов const int aZ_order = 0, // приоритет на нажатие мышью const string aTooltip = "\n" // комментарий ) { if(obj.CreateObject(aName,OBJ_BUTTON)) //--- создадим кнопку { SetXDISTANCE(aX); //--- установим координаты кнопки SetYDISTANCE(aY); //--- установим координаты кнопки SetXSIZE(aWidth); //--- установим размер кнопки SetYSIZE(aHeight); //--- установим размер кнопки SetCORNER(aCorner); //--- установим угол графика, относительно которого будут определяться координаты точки SetTEXT(aText); //--- установим текст SetFONT(aFont); //--- установим шрифт текста SetFONTSIZE(aFont_size); //--- установим размер шрифта SetCOLOR(aClr); //--- установим цвет текста SetBGCOLOR(aBack_clr); //--- установим цвет фона SetBORDER_COLOR(aBorder_clr); //--- установим цвет границы SetBACK(aBack); //--- отобразим на переднем (false) или заднем (true) плане SetSTATE(aState); //--- переведем кнопку в заданное состояние SetSELECTABLE(aSelection); //--- включим (true) или отключим (false) режим перемещения кнопки мышью SetSELECTED(aSelection); //--- включим (true) или отключим (false) режим перемещения кнопки мышью SetHIDDEN(aHidden); //--- скроем (true) или отобразим (false) имя графического объекта в списке объектов SetZORDER(aZ_order); //--- установим приоритет на получение события нажатия мыши на графике SetTOOLTIP(aTooltip); //--- комментарий } else return false; return true; } }; //|==================================================================| //| | //|==================================================================| 12345678910...19 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
帮助解决延迟报价的问题。我不明白谁在拖延,为什么拖延,这里有一个很好的例子。
指标可以延迟报价的到来(直到它们被计算出来,报价才会到来)。
如果它是一个按钮,属性将是按钮,如果它是一个方形,属性将是方形。
这里是图形引擎的一部分,它可能是解决你的问题的方法的一个例子。
注意该条目
所需的窗口、所需的对象和所需的属性被插入数组中。然后,新的值,马上就被函数设定为
这就是我所理解的 "引擎"。我有一个最简单的问题。
如何制作一个圣杯,需要什么:代码碎片和其他东西,采取什么策略?
我有一个最简单的问题。
你如何制作一个圣杯,你需要什么:代码碎片之类的东西?
我的意见是--没有必要做一个圣杯。在市场上作为交易员工作时,你应该忘记这个词。))
如果其他人都在漏水,你怎么能工作?
所以你必须以不同于其他人的方式工作)。
无论你在这里问谁,每个人都在工作。不像其他人那样--他们不工作吗?
就个人而言,我喜欢中长期的股票策略。外汇是不符合我的要求的。一项战略必须建立在对市场、其参与者的了解以及对数据的正确解释之上。没有这一点,任何战略都是 "猜测的游戏"。
所以,你必须以不同的方式来工作)。