MetaTrader 4 / 程序库

将报价写入文件, 文件名包含全路径 - MetaTrader 4程序库

2560
(8)

函数描述:


#import "ITTPSymbol.dll"       int CreateFile(string Path, string symbol, int Priсe); 

函数的调用例程:


 CreateFile(Path, Symbol(), Ask);

如您所见, 所有事情都很简单。函数将创建一个以 "品种" 为名的文本文件, 并在此写入(覆盖) '价格' 值。根据在 Patch 参数里指定的值作为路径。此函数由 Delphi 编写。如果任何人感兴趣, 他们可以重写它。

以 delphi 编写的函数库源代码:

library ITTPSymbol; uses classes, Dialogs,sysutils; {$r *.res} function CreateFile(Path: Pchar ;  Symbol: Pchar;  Priсe: integer ): integer; stdcall; var outfile: TextFile; begin AssignFile(outfile, string(Path)+'\' + string(Symbol) + '.txt'); try    Rewrite(outfile);    writeln(outfile, Priсe);    CloseFile(outfile);    Result:=0; except    Result:=1; end;    Result:=0; end; exports CreateFile; end. 

如果函数在 CreateFile() 函数里成功运行, 返回 0, 否则 -1。


简单的脚本以当前品种为名写一个文件, 脚本将运行在 C:\ 盘上。同时, 整数类型的 '价格' 参数也写入到文件:


//+------------------------------------------------------------------+ //|                                                   ITTPSymbol.mq4 | //|                                        Copyright © 2007 ITTP Gr. | //|                                            http://www.ITTPortal.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007 ITTP Gr." #property link      "http://www.ITTPortal.net" //----  #import "ITTPSymbol.dll"       int CreateFile(string Path, string symbol, int Priсe); string Path; //+------------------------------------------------------------------+ //| 脚本程序开始函数                                                  | //+------------------------------------------------------------------+ int start()   {       Path = "C:"; // 最后的反斜线 "\" 不要指定!    CreateFile(Path, Symbol(), 53); //----    return(0);   } //+------- 

就这些, 可以使用。

2007 年 4 月 16 日, 在新 dll 里修复一些错误:

  • 用 Path 替换 Patch;
  • 从函数库本身移除一些不必要的代码。

函数库的旧版已经删除, 所以它可以被安全地下载。

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/7084