错误、漏洞、问题 - 页 2615

 

现在,在MT5自定义指标中,箭头的大小调整是不工作的。请修复或告知如何改变。

PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_ARROW);
PlotIndexSetInteger(0, PLOT_ARROW, 233);
PlotIndexSetInteger(0, PLOT_LINE_WIDTH, 2); //1,2,3 - размер не меняется
PS。 设法弄清了原因。甚至很有趣。MT5与MT4不同,在放大图表宽度(Zoom Out)时,任意将箭头的尺寸缩减到最小。
 
你能告诉我如何使用WinAPI,从正在测试器中运行的EA中找出你的终端手柄吗?
 
fxsaber:
你能告诉我如何从在测试器中运行的EA中找出你的终端手柄吗,使用WinAPI?

我可能是错的,但我认为你正在寻找一个进程的PID,然后谷歌 "你的程序的winapi id"

ZS: GetCurrentProcessId

 
Igor Makanu:

我可能是错的,但你似乎在寻找进程的PID,然后用谷歌查询 "你的程序的winapi id"。

我需要在Agent上运行的EA能够获得终端手柄,因为它被发送到Agent中运行。

 
 return a++;

事实证明你不能这样做:( ++在这种情况下不起作用,尽管在更复杂的形式下,它返回 "a",然后以某种方式执行++,即返回值不等于 "a"。

 int tt=0;
 #define AAA (0==0) ? (tt++):0
int Primer() {return AAA;}
void OnStart()
  {
  int a=Primer();
  Print(a," ",tt, a!=tt? " WTF?!!": "");
  
  }

2019.12.09 16:17:51.363 proba (EURUSD,H1) 0 1 WTF?!


建立2093年
 
fxsaber:

我需要一个在代理上运行的EA能够获得终端手柄,因为它被发送到代理上运行。

复杂的任务,我不知道代理是如何运行的,我想通过谷歌搜索父进程的PID会使事情更加复杂。

我不知道该怎么做,但我想我需要把某种标识符(神奇的数字)传递给代理,并在那里处理它。


SZZ:我感觉即使是读取位于RAMDisk上的文件也比在搜索父进程时多次调用WinAPI要快,也就是写进共享文件夹中的一个文件。

 
Alexandr Andreev:

2019.12.09 16:17:51.363 proba (EURUSD,H1) 0 1 WTF!!!

这就对了。A在增量之前得到了tt。

 
 
fxsaber:

这就对了。A在增量之前得到tt。

是的,我完全忘记了 "i++""++i "的事。

 

我明白了,也就是说,你解决了终端之间数据交换的永恒问题,我还没有想到这个方向,我通常在dll中写一切,这在MQL中是无法解决的,我很少在WinAPI中寻找解决方案 - 这需要很长的时间。

SZZY: 昨天我读了关于SQLite的介绍,描述中清楚地包含了数据库既可用于写入也可用于读取的解释,DB dll本身可以单独安装,我本来想寻找最佳的数据交换方案,我得研究一下这个东西。