MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 22

 
Renat:

建立一个。

64位Windows上的32位应用程序完全安装在Program Files (x86)中--这些是微软的兼容性要求。

Users/AppData区域的数据目录不再是垃圾,也不再是微软的建议(多年来所有的开发者都不关心这个问题),而是生活的硬道理。在最近的操作系统中,微软用大锤敲打每个人,让他们正常工作,因为没有其他方法来应对UAC。在大众市场,这是唯一剩下的方法。

要强制终端将大部分数据存储在本地目录中,或在可移植/可运输(例如在闪存上)模式下工作,请使用/portable标志。但这仍然不适用于在Users/AppData中存储一般的非个人化数据。

那么你如何解释旧的版本,包括现在的509,并没有在Users/AppData中创建任何我指定的参数?我的意思是完全按照我所指定的参数。
 
Renat:

1.你可以。我们将以与MT5相同的方式重新做窗口。

2.请看 "文件-打开数据目录"。这是将从这里读取路径的地方

3.最好使用16x16到64x64(128x128).ico文件的全套(一个文件中的几个图标)。很快,程序将在操作系统的界面上直接显示其原生图标。

  1. 完美
  2. 我查了一下:D:\NewMT4\ 不应该是 D:\NewMT4\MQL4\ 吗?如果不是,应该是"\\MQL4\\files\FindTwoFractals32x32.ico";?
  3. 是否有任何软件可以创建这样的套装?三百年来没有做过图形。
(笑):谢谢。
 
artmedia70:
  1. 罚款
  2. 我查了一下:D:\NewMT4\ 不应该是 D:\NewMT4\MQL4\ 吗?如果没有,路径应该是"\\MQL4\\files\\FindTwoFractals32x32.ico";?
  3. 是否有任何软件可以创建这些工具包?三百年来没有做过任何图形。
谢谢你。

2.终端知道,MQL4随动件是自动添加的。因此,它的写法是正确的,与 \files

3.四处看看 - 有各种各样的ICON Studio版本,包括免费的。

 
Renat:

2.终端知道MQL4随动装置被自动添加。因此,它的写法是正确的,与 \files

3.四处搜索--有各种各样的ICON Studio版本,包括免费的。


谢谢你
 
Barbarian:
那么你如何解释旧的版本,包括现在的509,并没有在Users/AppData中创建任何我指定的参数?我指的正是我提到的那些参数。

原因是有人不关心微软的要求,多年来一直与权利管理制度作对。我们正在修复MT4的累积问题。

目前,如果你想大量出售任何在其目录中积极写作的东西,你需要直接考虑严格的UAC和限制用户权限。而且不要忘记数百万台电脑的安装基础。

 

Renat,你能不能发布简短的公告,列出新建筑中的变化?这样我们就不必盲目地测试。

这些功能是否会被实施?我们是否只需等待?

'ChartGetInteger' - function not defined

'ChartWindowFind' - function not defined

'AccountInfoString' - function not defined

'TimeTradeServer' - function not defined

'ExpertRemove' - function not defined

'AccountInfoInteger' - function not defined

 
ALXIMIKS:


我所要做的是恢复我的MT4 509指标的功能(它现在有90%的功能,我唯一想念的是转向未来的可能性)。

但要看到未来,你需要将时间序列转移到过去。

你已经被告知,使用SetIndexShift(0, 1)。

你不需要复制任何东西。

而工具提示中的描述会对其进行调整。

 
komposter:

Renat,你能不能发布简短的公告,列出新建筑中的变化?这样我们就不必盲目地测试。

这些功能是否会被实施?我们是否只需等待?

我将把"SymbolSelect"添加到列表中。+1对新建筑描述的愿望。
 
komposter:

Renat,你能不能发布简短的公告,列出新建筑中的变化?这样我们就不必盲目地测试。

这些功能是否会被实施?我们是否只需等待?

'ChartGetInteger' - function not defined

'ChartWindowFind' - function not defined

'AccountInfoString' - function not defined

'TimeTradeServer' - function not defined

'ExpertRemove' - function not defined

'AccountInfoInteger' - function not defined

它们将被实施。

我们将在下周准备一份变化清单,届时我们将开始让交易者参与大规模测试。目前,我们在没有公告的情况下进行测试,而且只在俄罗斯论坛进行测试。

 
komposter:

你已经被告知,使用SetIndexShift(0, 1)

你不需要复制任何东西。

而工具提示中的描述会对其进行调整。


描述了我的想法(摆动图形,把现在放到过去,同时得出我的未来),如果不是很清楚,唉........

如果你能建议另一种方法,在负数条上画出我需要的东西,在正数条上画出足够的数值,我将非常高兴。

(我把现在移到过去,然后用我对未来的设想来补充,所有这些再次移动,但移到未来)。

至于ArrayCopy (llow,Low)和ArrayCopySeries(llow ,1); 关于 ArrayCopy (llow,Low) 的错误工作的初步想法出现了,因为与使用ArrayCopySeries(llow, 1) 相比,其某些函数的返回值是错误的。 但是,当我运行一个循环,搜索由ArrayCopy (llow,Low)和ArrayCopySeries(llow, 1) 获得的两个数组的值 之间 的差异时,对于所有的计算精度变体,我只得到0(数组成员绝对相等)。我决定逐行分析我的函数,我通过数组来获得指标缓冲区的 值。

我获得了ArrayMaximum的有趣数据。代码。

 int z=      100;        // z- количество баров для проверки
     delt=     2;        // delt - количество баров для выборки в функции ArrayMaximum()
     poz_max1= 0;        // poz_max1- значение(номер бара) получаемое от функции ArrayMaximum() для массива получаемого от ArrayCopySeries (llow1,   1);
     poz_max2= 0;        // poz_max2- значение(номер бара) получаемое от функции ArrayMaximum() для массива получаемого от ArrayCopy       (llow2, Low);

 double llow1[];         //  массив получаемый от ArrayCopySeries (llow1,   1);
        llow2[];         //  массив получаемый от ArrayCopy       (llow2, Low);

 ArrayCopySeries (llow1,   1);  
 ArrayCopy       (llow2, Low);
 
 while(true){                                     // цикл проверки разности с динамической точностью
    for (int i =z;i>=0;i--){                      // цикл проверки разности с статической  точностью
       poz_max1=ArrayMaximum (llow1, delt, i);    // находим бар с максимальным значением среди delt баров начиная с i для массива получаемого от ArrayCopySeries (llow1,   1);
       poz_max2=ArrayMaximum (llow2, delt, i);    // находим бар с максимальным значением среди delt баров начиная с i для массива получаемого от ArrayCopy       (llow2, Low);
    
       if (poz_max1-poz_max2>x){                  // проверяем или одинаковые результаты мы получили (еще не выучил закарлюки которые нада для красивого принта)
          Print ("poz_max1[i]= ",poz_max1,"   poz_max2[i]= ",poz_max2,"   diff[i]= ",poz_max1-poz_max2, "    i=",i); 
          Print ("llow1[i]= ", llow1[i],"   llow2[i]= ",llow2[i],"    i=",i); 
          Print ("llow1[poz_max1]= ", llow1[poz_max1],"   llow2[poz_max1]= ",llow2[poz_max1],"    i=",i); 
          Print ("==========================================================");  
          brc=true;                               // флаг выхода 
       } 
    }
    if (brc==true||x<1 e-15) return(0);
    x/=10;
 }

结果,两个数组的ArrayMaximum的不同实现方式

2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4: ==========================================================
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4:        llow1[i]= 1.3297          llow2[i]= 1.3297    i=1
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4: llow1[poz_max1]= 1.3512   llow2[poz_max1]= 1.3297    i=1
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4:     poz_max1[i]= 2            poz_max2[i]= 1        diff[i]= 1    i=1
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4: ==========================================================
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4:        llow1[i]= 1.3501          llow2[i]= 1.3501     i=4
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4: llow1[poz_max1]= 1.3512   llow2[poz_max1]= 1.3501    i=4
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4:     poz_max1[i]= 5            poz_max2[i]= 4         diff[i]= 1    i=4
2013.11.07 16:24:16     CopeSerrias EURUSD_t,H4: ==========================================================

结论是:在用ArrayCopy (llow, low)和ArrayCopySeries(llow, 1) 得到的数组中,ArrayMaximum()要搜索的值 是不同的

对于 ArrayCopy (llow2,Low) ,ArrayMaximum()的条形图是往前走的。

对于ArrayMaximum (llow2,5,5),将查看5、4、3、2、1条。

应该是这样的 ?????????????