新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1839 1...183218331834183518361837183818391840184118421843184418451846...1953 新评论 EVGENII SHELIPOV 2022.01.01 13:00 #18381 下午好!!!。祝大家新年快乐!!!。 以下是显示网格中订单平均价格的截图 以下是创建平均价格和铭文的水平线的代码 //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; { for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType()==ot||ot<0) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,100); ObjectSet("signal4",OBJPROP_YDISTANCE,260); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); if(ot==1) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 100); ObjectSet("signal3",OBJPROP_YDISTANCE, 280); ObjectSetText("signal3", "- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); return(avg_price); } 以下是删除横线的代码 //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if(CountTrade() == 0) { if(ObjectFind(0,"AveragePriceLine" + IntegerToString(0))==0&&CountTrade(0)<1)//для бай { ObjectDelete(0,"AveragePriceLine"+ IntegerToString(0)); } if(ObjectFind(0,"AveragePriceLine" + IntegerToString(1))==0&&CountTrade(1)<1)//для селл { ObjectDelete(0,"AveragePriceLine" + IntegerToString(1)); } } 请帮助重做代码,使题词出现在行的上方,并在行被移除时被移除。 谢谢你的帮助。 Andrei Sokolov 2022.01.01 14:08 #18382 EVGENII SHELIPOV #:请帮助我重写代码,以便 如果你能帮忙,到底是什么事你不能做? EVGENII SHELIPOV 2022.01.01 14:26 #18383 Andrey Sokolov #:如果你能帮忙,到底是什么事你不能做? 我们不要太粗鲁,如果我知道怎么做,我就不会来这里了。 这个问题很简单,你需要知道铭文与水平线的坐标,因为我不知道如何计算。 Andrei Sokolov 2022.01.01 14:37 #18384 EVGENII SHELIPOV #:我们不要太粗鲁,如果我知道怎么做,我就不会来这里了。这个问题很简单,我需要知道铭文与水平线的坐标,因为我不知道如何计算它。 你的意思是 "让我们不要粗鲁"?我是否写了 "帮助 "而不是 "做我"。 Tretyakov Rostyslav 2022.01.01 17:22 #18385 EVGENII SHELIPOV #:下午好!!!。大家新年快乐!!!。水代码删除水平线谢谢你的帮助。 这已经绰绰有余了。 //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if(CountTrade() == 0) { ObjectsDeleteAll(0,"AveragePriceLine"); } evgenii shelipov#: 这个问题很简单,你需要知道铭文与水平线的坐标,因为我不知道如何计算。 在这里你可以帮助 计时价格到XY ChartXYToTimePrice EVGENII SHELIPOV 2022.01.02 09:51 #18386 Tretyakov Rostyslav #:这已经绰绰有余了。这里是你可以得到帮助的地方。计时价格到XYChartXYToTimePrice 谢谢你的提示,但我做错了。 我只需要改变0Y轴,但铭文不愿意与水平线联姻。 我附上了代码和截图,请告知错误在哪里? //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; int x = 0, y = 0; { for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType()==ot||ot<0) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,500); ChartTimePriceToXY(0, 0, 0,avg_price, x, y); ObjectSet("signal4",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); if(ot==1) ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 500); ChartTimePriceToXY(0, 0, 0, avg_price, x, y); ObjectSet("signal3",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal3","- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); return(avg_price); } Tretyakov Rostyslav 2022.01.02 10:37 #18387 EVGENII SHELIPOV #:Rostislav,谢谢你的提示,但我做错了。我只需要改变0Y轴,但铭文不愿意与水平线联姻。我附上了代码和截图,你能告诉我错误在哪里吗? 不要忘了支架的作用。 //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice(int ot=-1) { double order_lots = 0, order_price = 0, avg_price = 0; int x = 0, y = 0; { for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType()==ot||ot<0) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble(order_price / order_lots, Digits); if(ObjectFind(0,"AveragePriceLine"+IntegerToString(ot))!=0) ObjectCreate(0,"AveragePriceLine"+IntegerToString(ot),OBJ_HLINE, 0, 0, avg_price); else ObjectSetDouble(0,"AveragePriceLine"+IntegerToString(ot),OBJPROP_PRICE,avg_price); if(ot==0) { ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrLime); ObjectCreate("signal4",OBJ_LABEL,0,0,0,0,0); ObjectSet("signal4",OBJPROP_XDISTANCE,500); ChartTimePriceToXY(0, 0, 0,avg_price, x, y); ObjectSet("signal4",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal4","- Средняя цена сетки ордеров на покупку",14,"Times New Roman", clrLime); } if(ot==1) { ObjectSet("AveragePriceLine"+IntegerToString(ot),OBJPROP_COLOR, clrRed); ObjectCreate("signal3",OBJ_LABEL,0, 0, 0, 0, 0); ObjectSet("signal3",OBJPROP_XDISTANCE, 500); ChartTimePriceToXY(0, 0, 0, avg_price, x, y); ObjectSet("signal3",OBJPROP_YDISTANCE, y + 10); ObjectSetText("signal3","- Средняя цена сетки ордеров на продажу", 14, "Times New Roman", clrRed); } return(avg_price); } EVGENII SHELIPOV 2022.01.02 11:18 #18388 Tretyakov Rostyslav #:不要忘了支架的作用。 不,还缺少其他东西。 Tretyakov Rostyslav 2022.01.02 13:26 #18389 EVGENII SHELIPOV #:不,还缺少其他东西 记录本中一定有错误 Vitaly Muzichenko 2022.01.04 11:30 #18390 复制到一个数组 MqlRates CopySymb[]; if(CopyRates(mSymbol,PERIOD_CURRENT,0,6,CopySymb)<0) return; Print( ArrayMaximum(???) ); 如何获得一个数组中的最大高度? 1...183218331834183518361837183818391840184118421843184418451846...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好!!!。祝大家新年快乐!!!。
以下是显示网格中订单平均价格的截图
以下是创建平均价格和铭文的水平线的代码
以下是删除横线的代码
请帮助重做代码,使题词出现在行的上方,并在行被移除时被移除。
谢谢你的帮助。
请帮助我重写代码,以便
如果你能帮忙,到底是什么事你不能做?
如果你能帮忙,到底是什么事你不能做?
我们不要太粗鲁,如果我知道怎么做,我就不会来这里了。
这个问题很简单,你需要知道铭文与水平线的坐标,因为我不知道如何计算。
我们不要太粗鲁,如果我知道怎么做,我就不会来这里了。
这个问题很简单,我需要知道铭文与水平线的坐标,因为我不知道如何计算它。
你的意思是 "让我们不要粗鲁"?我是否写了 "帮助 "而不是 "做我"。
下午好!!!。大家新年快乐!!!。
水代码删除水平线
谢谢你的帮助。
这已经绰绰有余了。
这个问题很简单,你需要知道铭文与水平线的坐标,因为我不知道如何计算。
在这里你可以帮助
计时价格到XY
ChartXYToTimePrice
这已经绰绰有余了。
这里是你可以得到帮助的地方。
计时价格到XY
ChartXYToTimePrice
谢谢你的提示,但我做错了。
我只需要改变0Y轴,但铭文不愿意与水平线联姻。
我附上了代码和截图,请告知错误在哪里?
Rostislav,谢谢你的提示,但我做错了。
我只需要改变0Y轴,但铭文不愿意与水平线联姻。
我附上了代码和截图,你能告诉我错误在哪里吗?
不要忘了支架的作用。
不要忘了支架的作用。
不,还缺少其他东西。
不,还缺少其他东西
复制到一个数组
如何获得一个数组中的最大高度?