错误、漏洞、问题 - 页 2194

 
Dmytro Zelenskyy:

认真的做法))

那么,在你想筛选的那个人身上,运行一次小脚本,在一个全局变量(最好是一个临时的全局变量)中给出id。

而你的脚本是按id筛选的。

聪明的举动!

谢谢你!
 
Dmytro Zelenskyy:

即使你以像素计算出屏幕的准确宽度,屏幕也会部分覆盖价格栏。

而在不同的屏幕分辨率上,它是不同的,对我来说(1280x1024)从50到60,取决于货币的数字数量。在另一个屏幕上将是不同的。

那就是如何计算出列的宽度,将这些像素加到屏幕的宽度上?(在截图中打开什么栏目已经关闭)


fxsaber你好。

//+------------------------------------------------------------------+
#define  TOSTRING(A) #A + " = " + (string)(A) + "\n"
// Ширина вертикальной шкалы графика
int GetWidthScale(const long chartID=0)
  {
   const string Name=__FUNCTION__+(string)MathRand();

   ObjectCreate(chartID,Name,OBJ_CHART,0,0,0);
   ObjectSetInteger(chartID,Name,OBJPROP_XDISTANCE,-1 e3);

   const long chart=ObjectGetInteger(chartID,Name,OBJPROP_CHART_ID);

   const int Res=(int)(ChartGetInteger(chart,CHART_WIDTH_IN_PIXELS) -
                  (ChartSetInteger(chart,CHART_SHOW,false) ? ChartGetInteger(chart,CHART_WIDTH_IN_PIXELS) : 0));

   ObjectDelete(chartID,Name);

   return(-Res);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print(TOSTRING(GetWidthScale()));
  }
//+------------------------------------------------------------------+
 
Artyom Trishkin:

来自fxsaber的问候。

这个案子打败了大师!!!。

酷!

 
Artyom Trishkin:

fxsaber你好。

这段代码当然非常有趣,但事实证明它并没有解决问题...

 
问题是,不清楚如何获得一个通用的函数(适用于任何变焦和不同的比例宽度),可以用来确定特定条形图以下的像素数。
 
Aleksey Vyazmikin:
问题是不清楚如何获得一个通用的函数(适用于任何变焦和不同的比例宽度),可以用来确定特定条形图以下的像素数。

来吧。所有的线索都在那里
条形宽度只接受1、2、4、8、16、32的值

奇怪的是,CHART_POINTS_PER_BAR标识符不起作用。

但是,以像素为单位的条形图的宽度可以很容易地被计算出来。

int WidthBar=int(1<<ChartGetInteger(0,CHART_SCALE));
左边的条形图总是从中心画起,右边的条形图则随心所欲。因此,坐标的原点是在零点(左边)。
 
Nikolai Semko:

来吧。所有的选题都在这里
条形宽度只接受1、2、4、8、16、32的值

奇怪的是,CHART_POINTS_PER_BAR标识符不起作用。

但是,以像素为单位的条形图的宽度可以很容易地被计算出来。

左边的条形图总是从中心画起,右边的条形图则随心所欲。因此,坐标的原点是在零点(左边)。

这是一个理论,到目前为止,最好的(更准确的)版本是这样的。

pp=(double)ChartGetInteger(handle,CHART_WIDTH_IN_PIXELS)/(double)ChartGetInteger(handle,CHART_WIDTH_IN_BARS)*((Shift_Start-Shift_Stop)*(-1)+2)+Schkala+3;

但它也在几个方面失败了。

 
Aleksey Vyazmikin:

这是一个理论,到目前为止,最好的(更准确的)选择是这样。

但它也会成对失败。

:))
清楚地说明问题。你想获得什么价值?
 
Nikolai Semko:
:))
清楚地说明问题。你想获得什么价值?

我需要做一个从A日期到B日期(包括)的截图。而且该功能在任何变焦情况下都应该正常工作。

 

根据截图,我单独做了一个主题,在那里我描述了问题,并张贴了我的代码--我请求专家们的帮助!

https://www.mql5.com/ru/forum/237291

Организация пакетной обработки задачи по снятия изображений с экрана графика
Организация пакетной обработки задачи по снятия изображений с экрана графика
  • 2018.04.15
  • www.mql5.com
Встала у меня задача доработать скрипт https://www.mql5.com/ru/code/936 , который делает скрины...
原因: