来自一个 "傻瓜 "的问题 - 页 94

 
sergeev:
单位:像素
这很清楚,但你如何获得这些像素?
 
sergey1294:
我明白了,但我怎样才能得到这些像素?
#import "user32.dll"
        bool GetWindowRect(int h, int& pos[4]);
#import
//------------------------------------------------------------------ GetPixLength
double GetPixLength(datetime dt, double dp) // db - distance by X (time) dp - distance by Y (price)
{
        int hWnd=WindowHandle(Symbol(), Period());
        int rect[4]; GetWindowRect(hWnd, rect); // take pixel size
        double wW=rect[2]-rect[0]; double wH=rect[3]-rect[1]; // take height and width in pixel
        double H=(WindowPriceMax()-WindowPriceMin()); double W=WindowBarsPerChart(); // translate to chart
        double lengthW=wW/W*MathAbs(dt); // width in pix; wW/W = 1 bar in pix
        double lengthH=wH/H*MathAbs(dp); // height in pix; wH/H = 1 point in pix
        return(MathSqrt(MathPow(lengthW, 2)+MathPow(lengthH, 2)));
}

这个代码是针对MQL4的。

我认为你可以很容易地把它转移到MQL5中去

 
sergeev:

这个代码是针对MQL4的。

我认为你可以很容易地把它转移到MQL5中去

谢谢你,我需要MQL4。
 
请注意,在我的EA中,指标只在新的条形图中更新数值,也就是说,如果专家在小时图上运行,它将每小时更新一次,在分钟图上,每分钟更新一次。专家顾问通过onTimer功能工作,计时器被设定为10秒。问题可能是什么?我想让它按定时器更新。iMA指标
Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
Технические индикаторы / iMA - Документация по MQL5
 

你能不能告诉我什么是错的。

指标计算的 主循环中,其中buffer[]是指标缓冲区,有一个循环(代码行3-6)。如果这个周期存在,则不计算指标值,如果不存在,则计算指标值。

1 for(bar = first; bar < rates_total; bar++)
2 {
3 for(int j=0;j<10;j++)
4 {
5 array[j]=price[bar];
6 }
7 buffer[bar] = 2;
8 }

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
是否可以只通过MQL5,通过包含资源的程序,以编程方式将这些资源保存到磁盘?
 
我可以在哪个主题中提出关于MT5的问题?
 
tor30515:

我在哪里可以问关于MT5的问题?
这里
 
tol64:
是否可以只通过MQL5,通过包含资源的程序,以编程方式将这些资源保存到磁盘?

一个非常好的问题和建议。

 
sergeev:

一个非常好的问题和建议。

谢谢你。我将在 "对MT5的愿望 "主题中复制它。

P.S. 还有对Servicedesk))