[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 328 1...321322323324325326327328329330331332333334335...432 新评论 Сергей 2013.05.07 07:13 #3271 问题为什么在指标窗口中不显示文本标签?// -- Процедура void SetText(string name, string Vl, datetime t1, double p1, color c) { // if (ObjectFind(name)!=-1) ObjectDelete(name); ObjectCreate(name,OBJ_TEXT,WindowFind("Awesome_super_volumes"),0,0,0,0); ObjectSetText(name, Vl, 10, "Times New Roman", c); ObjectSet(name, OBJPROP_TIME1 , t1); ObjectSet(name, OBJPROP_PRICE1, p1); ObjectSet(name, OBJPROP_COLOR, c); } // -- Обращение SetText("Awesome_super_volumes", DoubleToStr(VLUP,0), tmhgh, dist, Black);https://www.mql5.com/ru/forum/142582/page325 06.05.2013 17:01. PapaYozh 2013.05.07 08:57 #3272 Merincool: 我还想,根据你的逻辑,该工具应该从极限和0条计算RSI,但从最后还是从开始计算RSI有区别吗? 它应该在一个给定的范围内计算每个条形的RSI,并将该值放入一个缓冲区(我是指一个数组),然后将数组中的三个连续值相互比较。还是说情况并非如此? 是的,在我的匆忙中,我错了。 我没有注意到,你有2个循环,彼此相随。 通常,一个指标中使用一个周期,因此,它被用于计算和比较。如果一切都在一个周期内实现,当然,阵列元素[i+1]是否被计算出来并不重要 :) PapaYozh 2013.05.07 08:59 #3273 amurik61: 解释:"在周期中,你指的是指标的未计算值 " 的意思。 我急忙提出建议,见以前的帖子。 Сергей 2013.05.07 12:14 #3274 伙计们,请告诉我这个程序有什么问题!本页的第一个帖子。 Valeriy Korobeynik 2013.05.07 12:27 #3275 Fox_RM: 伙计们,请告诉我这个程序有什么问题!本页的第一个帖子。ObjectSetText(name," Vl" ,10,"Times New Roman", c); Рустам 2013.05.07 12:50 #3276 看看对象清单,也许它们就在那里,但价格歪歪扭扭的,而且,或者是时间 cimbir_mt5 2013.05.07 13:17 #3277 如何恢复编译器? MetaEditor 4写道,编译器无法启动。 david2 2013.05.07 13:45 #3278 你能告诉我为什么该指标在测试器中不工作吗?//+------------------------------------------------------------------+ //| ProfitLine.mq4 | //| Copyright © 2010, Evgeniy Trofimov | //| https://www.mql5.com/ru/users/evgetrofi | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, Evgeniy Trofimov" #property link "https://www.mql5.com/ru/users/evgetrofi" #property indicator_chart_window extern double Profit=0.0; extern int MagicNumber = 0; extern string NameBuy = "LineBuy"; extern string NameSell = "LineSell"; extern color ColorBuy = DarkBlue; extern color ColorSell = FireBrick; double LotsBuy, LotsSell; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void init() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void deinit() { if (ObjectFind(NameBuy)!=-1) ObjectDelete(NameBuy); if (ObjectFind(NameSell)!=-1) ObjectDelete(NameSell); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ void start() { int counted_bars=IndicatorCounted(); int Window; double PB = ProfitPrice(Symbol(), OP_BUY, MagicNumber, Profit); double PS = ProfitPrice(Symbol(), OP_SELL, MagicNumber, Profit); //double P = (PB*LotsBuy + PS*LotsSell) / (LotsBuy+LotsSell); //Window=WindowFind(Shortname); Window=0; if (ObjectFind(NameBuy)==-1) ObjectCreate(NameBuy,OBJ_HLINE,Window,0,PB); ObjectSet(NameBuy,OBJPROP_PRICE1,PB); ObjectSet(NameBuy,OBJPROP_COLOR,ColorBuy); if (ObjectFind(NameSell)==-1) ObjectCreate(NameSell,OBJ_HLINE,Window,0,PS); ObjectSet(NameSell,OBJPROP_PRICE1,PS); ObjectSet(NameSell,OBJPROP_COLOR,ColorSell); } //start() //+------------------------------------------------------------------+ double ProfitPrice(string fSymbol, int fType, int fMagic=0, double MyProfit=0.0){ //Функция возвращает цену, на которую необходимо установить уровень TakeProfit, чтобы получить прибыль MyProfit double SummPrice=0.0, SummLots=0.0, Formula=0.0; int k; int total = OrdersTotal(); for (int i = total-1; i >= 0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol()==fSymbol) { if(OrderMagicNumber()==fMagic || fMagic==0) { if(OrderType()==fType) { k++; SummLots=SummLots+OrderLots(); SummPrice=SummPrice+OrderOpenPrice()*OrderLots(); } } } }//Next i if(k>0){ if(fType==OP_BUY){ Formula = SummPrice/SummLots + MyProfit * MarketInfo(fSymbol, MODE_POINT) / (MarketInfo(fSymbol, MODE_TICKVALUE) * SummLots) + MarketInfo(fSymbol, MODE_SPREAD) * MarketInfo(fSymbol, MODE_POINT); LotsBuy = SummLots; } else { Formula = SummPrice/SummLots - MyProfit * MarketInfo(fSymbol, MODE_POINT) / (MarketInfo(fSymbol, MODE_TICKVALUE) * SummLots) - MarketInfo(fSymbol, MODE_SPREAD) * MarketInfo(fSymbol, MODE_POINT); LotsSell = SummLots; } } return(Formula); }//ProfitPrice() //+------------------------------------------------------------------+ Victor Nikolaev 2013.05.07 13:55 #3279 david2:你能告诉我为什么该指标在测试器中不工作吗? 为什么它应该在测试器中工作? Сергей 2013.05.07 14:04 #3280 valeryk: ObjectSetText(name," Vl" ,10,"Times New Roman", c); 报价并没有帮助。 1...321322323324325326327328329330331332333334335...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
问题为什么在指标窗口中不显示文本标签?
https://www.mql5.com/ru/forum/142582/page325 06.05.2013 17:01.
我还想,根据你的逻辑,该工具应该从极限和0条计算RSI,但从最后还是从开始计算RSI有区别吗? 它应该在一个给定的范围内计算每个条形的RSI,并将该值放入一个缓冲区(我是指一个数组),然后将数组中的三个连续值相互比较。还是说情况并非如此?
是的,在我的匆忙中,我错了。
我没有注意到,你有2个循环,彼此相随。
通常,一个指标中使用一个周期,因此,它被用于计算和比较。如果一切都在一个周期内实现,当然,阵列元素[i+1]是否被计算出来并不重要 :)
解释:"在周期中,你指的是指标的未计算值 " 的意思。
我急忙提出建议,见以前的帖子。
伙计们,请告诉我这个程序有什么问题!本页的第一个帖子。
ObjectSetText(name," Vl" ,10,"Times New Roman", c);
你能告诉我为什么该指标在测试器中不工作吗?
你能告诉我为什么该指标在测试器中不工作吗?
为什么它应该在测试器中工作?
ObjectSetText(name," Vl" ,10,"Times New Roman", c);
报价并没有帮助。