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

 

这是给参与者的一个问题。

当我运行mt5setup(410KB)网络安装程序时,它开始下载发行版本身(7MB),这个发行版在我的电脑上的什么地方?我不是在说目录中的:\Program Files\MT5。
 
IlshatG:
我不是受训的程序员,请告诉我|=运算符是什么意思,数字记录的形式是什么 - 0x10 0x20 ?提前感谢。
uint first=0x20;   // число в шестнадцатиричном представлении
uint second=16;    // число в десятичном представлении
//---
first|=second;     // производится операция "побитового ИЛИ" и результат помещается в first
 
first|=second

是表达式的缩略记号

first=first|second
任务操作
 

写入文件 的问题。我是这样做的(根据FileOpen()的帮助中的例子)。

string terminal_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);
   string subfolder="";
   int filehandle=FileOpen("datta.txt",FILE_WRITE|FILE_READ|FILE_CSV);
   if(filehandle!=INVALID_HANDLE)
   {
      FileSeek(filehandle, 0, SEEK_END);
      FileWrite(filehandle, "Параметры прогона:");
      FileWrite(filehandle, IntegerToString(N) + "\t" + IntegerToString(TP) + "\t" + IntegerToString(SL) + "\t" + IntegerToString(K) + "\t" + IntegerToString(BU));
      FileWrite(filehandle, IntegerToString(TP_count) + "\t" + IntegerToString(SL_count) + "\t" + IntegerToString(BU_count));
      FileClose(filehandle);
      Print("Файл должен быть создан в папке "+terminal_data_path+"\\"+subfolder);
   }
   else Print("File open failed, error ",GetLastError());


其结果是测试器中的一个条目。

文件必须在C:\ProgramData\MetaQuotes\Terminal\Common\中创建。

Фактически файл находится в C:\Users\Владимир\AppData\Roaming\MetaQuotes\Tester\5E85412506E8F1E33F561B4D4F8D4015\Agent-127.0.0.1-3000\MQL5\Files

并被覆盖,而不是被覆写。但并不总是如此。

(Windows Vista Home Premium)

 
ilunga:

一个关于向文件写入 的问题。做到这一点。

忘记添加FILE_COMMON标志。
 
Renat:
他们忘记了添加FILE_COMMON 标志。

谢谢你,现在有了它。

该文件必须在C:\ProgramData\MetaQuotes\Terminal\Common\中创建。

该文件在:C:\ProgramData\MetaQuotes\Terminal\Common\Files\。

没有覆写。


这对目前的任务来说是很好的

 
帮助!!!。我知道,只要有进程加载,dll就会 "挂 "在内存中。问题:是否有任何 "技巧 "和指令可以让dll留在内存中,即使没有任何进程使用这个dll? 而卸载dll将由操作系统负责。
 
uncleVic:


mql5:

是表达式的缩略记号

任务操作
谢谢你!
 

我有W7 64,但终端32可以工作。

1.应该是这样吗?

2.在64位操作系统上运行32位版本的终端有什么问题?

 

该指标是建立在DRAW_ZIGZAG线的类型上,如何确定该段在条形上建立的起点和终点缓冲区,即该段的方向,也许有一种算法?