新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1581 1...157415751576157715781579158015811582158315841585158615871588...1953 新评论 Andrei Sokolov 2021.08.10 09:18 #15801 Artyom Trishkin:ChartIndicatorAdd() 谢谢你。只有在这里,EA才会显示不直接在图表中的指标。我有一个问题,如何显示EA本身的计算结果。 Tretyakov Rostyslav 2021.08.10 10:08 #15802 Andrey Sokolov:谢谢你。只有在这里,EA才会在图表中不直接显示指标。我有一个问题,如何显示EA本身的计算结果。OBJ_LABEL ObjectSetString- 输入数据 ObjectGetString- 获取数据 作为一个例子,我有 Mihail Matkovskij 2021.08.10 10:35 #15803 Andrey Sokolov:谢谢你。只有在这里,EA才会在图表中不直接显示指标。我有一个问题,如何显示EA本身的计算结果。 拿一个画布(CCanvas)来画。使用ChartTimePriceToXY 将时间和价格转换为图表坐标。 законопослушный гражданин 2021.08.10 12:14 #15804 MakarFX:在哪个时间范围内? М1 Galim_V 2021.08.10 17:02 #15805 问候,我不明白为什么SELECT_BY_TICKET选择在这个设计中不起作用,不像SELECT_BY_POS。 void Ticket_Limits (int magic ){ int _GetLastError = 0, k = OrdersTotal(); Ticket_Total = 0; // изменяем размеры массивов под текущее кол-во позиций // (если _OrdersTotal = 0, меняем размер массивов на 1) int temp_value = MathMax( k, 1 ); ArrayResize( _Tacket, temp_value ); ArrayResize( _Type, temp_value ); ArrayResize( _OpenPrice, temp_value ); // обнуляем массивы ArrayInitialize( _Tacket, 0 ); ArrayInitialize( _Type, 0 ); ArrayInitialize( _OpenPrice, 0 ); for ( int z = k-1;z>=0; z -- ) { Print("z =",z); if (!OrderSelect( z, SELECT_BY_POS )) { _GetLastError = GetLastError(); Print( "OrderSelect( ", z, ", SELECT_BY_TICKET ) - Error #", _GetLastError ); continue; } if ( OrderMagicNumber() == magic && OrderSymbol() == Symbol() ) { // заполняем массивы _Tacket [Ticket_Total] = OrderTicket(); _Type [Ticket_Total] = OrderType(); _OpenPrice [Ticket_Total] = NormalizeDouble( OrderOpenPrice(), _Digits ); Ticket_Total++; Print("_Tacket === ",_Tacket[z]," _Type === ",_Type[z]," _OpenPrice === ",_OpenPrice[z]); } } // изменяем размеры массивов под кол-во позиций, принадлежащих эксперту // (если Ticket_Total = 0, меняем размер массивов на 1) temp_value = MathMax( Ticket_Total, 1 ); ArrayResize( _Tacket, temp_value ); ArrayResize( _Type, temp_value ); ArrayResize( _OpenPrice, temp_value ); } Nikolai Gavrilyuk 2021.08.10 17:43 #15806 嗨,如果我走错了方向,我道歉:你能帮助我如何使一个指标放在MT4的手机上,如移动 到时间框架m15,在这个对的时间框架m5,或任何其他TF上不可见。 Andrei Sokolov 2021.08.10 17:45 #15807 MakarFX,Mihail Matkovskij 谢谢你。但我的问题不是关于这个。这是关于如何从数组中提取数据,比如从指标缓冲区中提取,如果可以 的话。 Mihail Matkovskij 2021.08.10 18:39 #15808 Andrey Sokolov: ChartTimePriceToXY 将其转换为像素,你就完成了。绘制点或线或其他基元,或根据你得到的坐标显示箭头(Windings字体)。CCanvas有 所有这方面 的方法。只要创建一个覆盖整个屏幕的画布,你就可以随心所欲地绘画。但与此同时,你必须在OnChartEvent(id:CHARTEVENT_CHART_CHANGE) 中不断重绘Kanvas。总而言之,你需要先学习如何使用CCanvas。但是,如果你是编程新手,而且你懒得去学习这一切,那么自由职业者就是你的帮手。 Mihail Matkovskij 2021.08.10 18:46 #15809 Galim_V:问候!我不明白为什么在这个设计中,SELECT_BY_TICKET选择不工作,不像SELECT_BY_POS。 因为SELECT_BY_TICKET 是通过票据来选择订单。而且你按顺序选择它们(SELECT_BY_POS)。要按票据选择订单,请向OrderSelect函数 报告票据,而不是索引。 Andrei Sokolov 2021.08.10 19:03 #15810 Mihail Matkovskij:使用CCanvas,你可以画出任何你想要的东西。复制时间(用CopyTime) 和数组数据(使时间数组中的单元格与你的数据数组中的单元格明确匹配)。 用ChartTimePriceToXY 将其转换为像素,你就完成了。绘制点或线或其他基元,或根据你得到的坐标显示箭头(Windings字体)。CCanvas有 所有这方面 的方法。只要创建一个覆盖整个屏幕的画布,你就可以随心所欲地绘画。但与此同时,画布必须在OnChartEvent(id:CHARTEVENT_CHART_CHANGE) 中不断重绘。总而言之,你需要先学习如何使用CCanvas。但是,如果你是编程新手,而且你懒得去学习这一切,那么自由职业者就是你的帮手。 谢谢 1...157415751576157715781579158015811582158315841585158615871588...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
ChartIndicatorAdd()
谢谢你。只有在这里,EA才会显示不直接在图表中的指标。我有一个问题,如何显示EA本身的计算结果。
谢谢你。只有在这里,EA才会在图表中不直接显示指标。我有一个问题,如何显示EA本身的计算结果。
ObjectSetString- 输入数据
ObjectGetString- 获取数据
作为一个例子,我有
谢谢你。只有在这里,EA才会在图表中不直接显示指标。我有一个问题,如何显示EA本身的计算结果。
拿一个画布(CCanvas)来画。使用ChartTimePriceToXY 将时间和价格转换为图表坐标。
在哪个时间范围内?
М1
问候,我不明白为什么SELECT_BY_TICKET选择在这个设计中不起作用,不像SELECT_BY_POS。
谢谢你。但我的问题不是关于这个。这是关于如何从数组中提取数据,比如从指标缓冲区中提取,如果可以 的话。
ChartTimePriceToXY 将其转换为像素,你就完成了。绘制点或线或其他基元,或根据你得到的坐标显示箭头(Windings字体)。CCanvas有 所有这方面 的方法。只要创建一个覆盖整个屏幕的画布,你就可以随心所欲地绘画。但与此同时,你必须在OnChartEvent(id:CHARTEVENT_CHART_CHANGE) 中不断重绘Kanvas。总而言之,你需要先学习如何使用CCanvas。但是,如果你是编程新手,而且你懒得去学习这一切,那么自由职业者就是你的帮手。
问候!我不明白为什么在这个设计中,SELECT_BY_TICKET选择不工作,不像SELECT_BY_POS。
因为SELECT_BY_TICKET 是通过票据来选择订单。而且你按顺序选择它们(SELECT_BY_POS)。要按票据选择订单,请向OrderSelect函数 报告票据,而不是索引。
使用CCanvas,你可以画出任何你想要的东西。复制时间(用CopyTime) 和数组数据(使时间数组中的单元格与你的数据数组中的单元格明确匹配)。 用ChartTimePriceToXY 将其转换为像素,你就完成了。绘制点或线或其他基元,或根据你得到的坐标显示箭头(Windings字体)。CCanvas有 所有这方面 的方法。只要创建一个覆盖整个屏幕的画布,你就可以随心所欲地绘画。但与此同时,画布必须在OnChartEvent(id:CHARTEVENT_CHART_CHANGE) 中不断重绘。总而言之,你需要先学习如何使用CCanvas。但是,如果你是编程新手,而且你懒得去学习这一切,那么自由职业者就是你的帮手。
谢谢