新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1343 1...133613371338133913401341134213431344134513461347134813491350...1953 新评论 Iurii Tokman 2021.01.08 06:40 #13421 Forallf: 中间是以我为例。将有一个不同的、经过计算的水平。 任何级别都可以在那里设置,而且数量不限。 Tretyakov Rostyslav 2021.01.08 08:14 #13422 Andrey Sokolov:你好。你能告诉我如何计算投标价格吗?我如何计算一个买入价,即几个买入头寸的总利润为零的货币对,其中基础(第一)货币是美元,而点值不是恒定的,取决于价格?对于以美元为报价(第二)货币且点值为常数的货币对,我得出了这个函数。这 将有助于你) Tretyakov Rostyslav 2021.01.08 08:26 #13423 DanilaMactep: 非常感谢你注意到并告诉我,我修复了它,在2年的测试中,有26个错误130。同时,有115笔交易正常开启 如果挂单与当前价格的距离小于STOPLEVEL,将出现错误 130这就是为什么给你这个代码 的原因或如果你必须以某种其他方式考虑到它MarketInfo(_Symbol, MODE_STOPLEVEL); Max330 2021.01.08 11:34 #13424 你好!需要代码在开盘后一定时间(24小时,48小时)后关闭市场订单。时间应该是可以调整的。 Tretyakov Rostyslav 2021.01.08 11:43 #13425 Max330: 你好,我需要代码在开盘后的一定时间内关闭市场订单(24小时,48小时)。时间应该是可以调整的。 像这样 for(int pos=OrdersTotal()-1;pos>=0;pos--) if(OrderSelect(pos,SELECT_BY_POS)==true) if(OrderSymbol()==_Symbol) if(TimeCurrent()-(определенное время в секундах) >= OrderOpenTime()) OrderClose(order_id,1,Ask,3,Red); Andrei Sokolov 2021.01.08 12:38 #13426 MakarFX: 这 将有助于你) 不幸的是,这并没有帮助。这个一般是以开盘价为指导 Tretyakov Rostyslav 2021.01.08 13:06 #13427 Andrey Sokolov:不幸的是,这并没有帮助。这个一般是以开盘价为导向。 那么我不明白你需要什么。 安德烈-索科洛夫。 如何计算几个买入头寸的总利润为零时的买入价? 即收支平衡? Andrei Sokolov 2021.01.08 16:08 #13428 MakarFX:那么我不明白你想要什么。也就是收支平衡? 计算一个或多个单向订单的收盘价(买入价),其总利润+储蓄+佣金==0。 这个问题发生在基础货币为 美元,而点值变化的货币对中。 Aleksei Stepanenko 2021.01.08 19:36 #13429 Forallf: 中间是以我为例。将会有另一个经过计算的水平。 该指标为任何数量的趋势线画 出中间。 #property version "1.00" #property strict #property indicator_chart_window string symbol; ENUM_TIMEFRAMES frame; int digits; long ChartId; int Window; datetime time1, time2; double price; int OnInit() { //идентификатор графика и номер окна индикатора ChartId=ChartID(); Window=0; symbol=Symbol(); frame=(ENUM_TIMEFRAMES)Period(); digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); ChartSetInteger(ChartId,CHART_EVENT_OBJECT_CREATE,true); return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { return(rates_total); } void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if((id==CHARTEVENT_OBJECT_CREATE || id==CHARTEVENT_OBJECT_DRAG) && ObjectGet(sparam,OBJPROP_TYPE)==OBJ_TREND && StringFind(sparam,"Middle")==-1) { price=(ObjectGet(sparam,OBJPROP_PRICE1)+ObjectGet(sparam,OBJPROP_PRICE2))/2; time1=GetPointTimeOnStraight((datetime)ObjectGet(sparam,OBJPROP_TIME1),ObjectGet(sparam,OBJPROP_PRICE1),(datetime)ObjectGet(sparam,OBJPROP_TIME2),ObjectGet(sparam,OBJPROP_PRICE2),price,symbol,frame); time2=time1+PeriodSeconds(frame)*10; RedrawLine(ChartId,Window,sparam+"_Middle",time1,price,time2,price,(color)ObjectGet(sparam,OBJPROP_COLOR),(int)ObjectGet(sparam,OBJPROP_WIDTH),(string)ObjectGet(sparam,OBJPROP_TOOLTIP),digits); } } //находит дату точки (координату X) на прямой, на заданную цену (координата Y) datetime GetPointTimeOnStraight(datetime eTime1, double ePrice1, datetime eTime2, double ePrice2, double ePrice3, string eSymbol, int eTimeFrame) { if(ePrice2-ePrice1==0) return(0.0); //индекс бара соответствующий заданному времени, возможно задавать будующее время int eIndex1=(eTime1>iTime(eSymbol,eTimeFrame,0))?(int)((iTime(eSymbol,eTimeFrame,0)-eTime1)/PeriodSeconds(eTimeFrame)):iBarShift(eSymbol,eTimeFrame,eTime1); int eIndex2=(eTime2>iTime(eSymbol,eTimeFrame,0))?(int)((iTime(eSymbol,eTimeFrame,0)-eTime2)/PeriodSeconds(eTimeFrame)):iBarShift(eSymbol,eTimeFrame,eTime2); int eIndex3=eIndex1+(int)((eIndex2-eIndex1)*(ePrice3-ePrice1)/(ePrice2-ePrice1)); if(eIndex3>=0) { return(iTime(eSymbol,eTimeFrame,eIndex3)); } else { return(iTime(eSymbol,eTimeFrame,0)-eIndex3*PeriodSeconds(eTimeFrame)); } } //перерисовывает линию по новым координатам, если её нет, то создаёт void RedrawLine(long eChartId, int eWindow, string eName, datetime eTime1, double ePrice1, datetime eTime2, double ePrice2, color eColor, int eWidth, string eTooltip, int eDigits) { if(ObjectFind(eChartId,eName)==-1) { if(!ObjectCreate(eChartId,eName,OBJ_TREND,eWindow,0,0)) return; ObjectSetInteger(eChartId,eName,OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(eChartId,eName,OBJPROP_WIDTH,eWidth); ObjectSetInteger(eChartId,eName,OBJPROP_BACK,false); ObjectSetInteger(eChartId,eName,OBJPROP_SELECTABLE,false); ObjectSetInteger(eChartId,eName,OBJPROP_SELECTED,false); ObjectSetInteger(eChartId,eName,OBJPROP_RAY_RIGHT,false); ObjectSetInteger(eChartId,eName,OBJPROP_HIDDEN,true); } if(ObjectFind(eChartId,eName)==-1) return; if(ObjectGetInteger(eChartId,eName,OBJPROP_TIME)!=eTime1) ObjectSetInteger(eChartId,eName,OBJPROP_TIME,eTime1); if(NormalizeDouble(ObjectGetDouble(eChartId,eName,OBJPROP_PRICE)-ePrice1,eDigits)!=0) ObjectSetDouble(eChartId,eName,OBJPROP_PRICE,ePrice1); if(ObjectGetInteger(eChartId,eName,OBJPROP_TIME,1)!=eTime2) ObjectSetInteger(eChartId,eName,OBJPROP_TIME,1,eTime2); if(NormalizeDouble(ObjectGetDouble(eChartId,eName,OBJPROP_PRICE,1)-ePrice2,eDigits)!=0) ObjectSetDouble(eChartId,eName,OBJPROP_PRICE,1,ePrice2); if(ObjectGetInteger(eChartId,eName,OBJPROP_COLOR)!=eColor) ObjectSetInteger(eChartId,eName,OBJPROP_COLOR,eColor); if(ObjectGetString(eChartId,eName,OBJPROP_TOOLTIP)!=eTooltip) ObjectSetString(eChartId,eName,OBJPROP_TOOLTIP,eTooltip); } 595459 2021.01.08 21:35 #13430 大家好。问题:我只能从经纪商列表中选择Just2Trade。当搜索其他经纪公司时,没有任何结果。我试着重新安装,清除了所有的文件夹和文件(包括隐藏的)。有人遇到过这样的问题吗? 附加的文件: Screenshot_1.png 12 kb 1...133613371338133913401341134213431344134513461347134813491350...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
中间是以我为例。将有一个不同的、经过计算的水平。
任何级别都可以在那里设置,而且数量不限。
你好。你能告诉我如何计算投标价格吗?
我如何计算一个买入价,即几个买入头寸的总利润为零的货币对,其中基础(第一)货币是美元,而点值不是恒定的,取决于价格?
对于以美元为报价(第二)货币且点值为常数的货币对,我得出了这个函数。
非常感谢你注意到并告诉我,我修复了它,在2年的测试中,有26个错误130。同时,有115笔交易正常开启
如果挂单与当前价格的距离小于STOPLEVEL,将出现错误 130
这就是为什么给你这个代码 的原因
或如果你必须以某种其他方式考虑到它
MarketInfo(_Symbol, MODE_STOPLEVEL);
你好,我需要代码在开盘后的一定时间内关闭市场订单(24小时,48小时)。时间应该是可以调整的。
像这样
这 将有助于你)
不幸的是,这并没有帮助。这个一般是以开盘价为指导
不幸的是,这并没有帮助。这个一般是以开盘价为导向。
那么我不明白你需要什么。
安德烈-索科洛夫。
如何计算几个买入头寸的总利润为零时的买入价?
即收支平衡?
那么我不明白你想要什么。
也就是收支平衡?
计算一个或多个单向订单的收盘价(买入价),其总利润+储蓄+佣金==0。
这个问题发生在基础货币为 美元,而点值变化的货币对中。
中间是以我为例。将会有另一个经过计算的水平。
该指标为任何数量的趋势线画 出中间。