#import "user32.dll"bool GetWindowRect(int h, int& pos[4]);
#import//------------------------------------------------------------------ GetPixLengthdouble 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 sizedouble wW=rect[2]-rect[0]; double wH=rect[3]-rect[1]; // take height and width in pixeldouble H=(WindowPriceMax()-WindowPriceMin()); double W=WindowBarsPerChart(); // translate to chartdouble lengthW=wW/W*MathAbs(dt); // width in pix; wW/W = 1 bar in pixdouble lengthH=wH/H*MathAbs(dp); // height in pix; wH/H = 1 point in pixreturn(MathSqrt(MathPow(lengthW, 2)+MathPow(lengthH, 2)));
}
单位:像素
我明白了,但我怎样才能得到这些像素?
这个代码是针对MQL4的。
我认为你可以很容易地把它转移到MQL5中去
这个代码是针对MQL4的。
我认为你可以很容易地把它转移到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 }
我在哪里可以问关于MT5的问题?
是否可以只通过MQL5,通过包含资源的程序,以编程方式将这些资源保存到磁盘?
一个非常好的问题和建议。
一个非常好的问题和建议。
谢谢你。我将在 "对MT5的愿望 "主题中复制它。
P.S. 还有对Servicedesk))