任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1021

 
你好。帮助提供建议。在一个真实的专业ECN Alpari账户上测试一个报价敏感的EA。因此,即使在下载报价和连续两次测试后,图表在同一区间上有明显的不同。不知道在现实中会有什么期待。
 

在测试器中设置一个固定的传播。

 
是的,这是正确的,非常感谢。关于EA,我不知道。作者只是把EA的敏感性作为其主要优势来介绍。因为他介绍说,专家顾问不是基于指标,而是基于价格运动。这就是为什么他建议在ECN账户上工作,并引用了dukascopi的话。你怎么看这个问题?
 
Lians:
你好,亲爱的专业人士。

有一个脚本可以以我想要的格式导出过去100个柱子或截至过去某个时间的报价。它的工作原理应该是这样的。但如果它被扔在测试者的可视化图表上,它就会根据历史上最后一次有报价的时间来保存报价,而不是根据测试者的日期和时间。

你能教它根据测试者的可视化图表的时间来保存最后的100条吗?

如果是这样,请告知如何做到这一点。我搞不清楚。
PS:事实上,它使用Kim的函数进行替换,而不是StringReplace--这就是它的设计方式,不要注意。


我将回答我自己。如果我把这个脚本做成一个指标,出于某种原因,它可以正常工作。
因此,已经找到了一个解决方案。虽然点击几下不那么方便,但还是聊胜于无。
 

指标 - ATS (Alpha Trend Spotter Price Action free)

CandleHigh=High[Highest(NULL, 0,2,3,i)];
CandleLowS=Low[Lowest(NULL,0,1,3,i)];
CandleOpenS=Open[i];
CandleHighF=High[Highest(NULL, 0, 2, 3, (i+3))];
CandleHighL=Low[Lowest(NULL,0,1,3,(i+3))];
CandleOpenL=Open[i+3];
//---
if((CandleHigh>CandleHighF) && (CandleOpenS<CandleHighL))
{
BufferMap1[i]=High[i+3]+0.0010;
}
//---
if((CandleLowS<CandleHighL) && (CandleOpenS>CandleHighF))
{
BufferMap2[i]=Low[i+3]-0.0010;

问题。

1.分析了多少个烛台?
2.箭头放在哪个烛台上?
3.
如O1>C2

这是同一指标的MQ5的代码

{
CandleHigh=high[ArrayMaximum(high,bar,iPeriod)];
CandleLow=low[ArrayMinimum(low,bar,iPeriod)];
CandleOpen=open[bar];
CandleHigh1=high[ArrayMaximum(high,bar+iPeriod,iPeriod)];
CandleLow1=low[ArrayMinimum(low,bar+iPeriod,iPeriod)];
CandleOpen1=open[bar+iPeriod];
//---
BuyBuffer[bar]=0.0;
SellBuffer[bar]=0.0;
//---
if(CandleLow<CandleLow1 && CandleOpen>CandleHigh1) BuyBuffer[bar]=low[bar]-ATR[bar]*3/8;
if(CandleHigh>CandleHigh1 && CandleOpen<CandleLow1) SellBuffer[bar]=high[bar]+ATR[bar]*3/8; }

我把它理解为mq5

bool UP = Low[i+2] < Low[i+1] && Open[i+2] > High[i+1] ;

bool DOWN = High[i+2] > High[i+1] && Open[i+2] < Low[i+1] ;

我说对了吗?

==

ATS mq4https://www.mql5.com/en/code/12941

 
论坛的用户们,你们好。
我正试图整合一个库,用于处理文件沙盒之外的文件https://www.mql5.com/ru/code/11140
然而,在初始阶段,我在打开基本文件方面遇到了问题。也许有人已经在这个库的基础上做了一些事情,请帮助。非常感谢您!
#include <FileFunctions.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   string name=StringConcatenate(Year(),TransformToFileName(Month()),TransformToFileName(Day()),".log");
//---
   string path=TerminalPath()+"\\MQL4\\Logs\\"+name;
//---
   if(FileCheckW(path))
     {
      //---
      int handle=-1;
      handle=FileOpenExistingW(path,GENERIC_READ,SHARE_READ);
      if(handle!=NULL)
        {
         Alert(handle);
         FileCloseHandle(handle);

        }
     }
//
  }
//+------------------------------------------------------------------+
string TransformToFileName(int val)
  {
   string res;
//---
   if(val<10)
     {
      res=StringConcatenate(0,val);
     }
   else
     {
      res=StringConcatenate(val);
     }
//---
   return(res);
  }
//+------------------------------------------------------------------+
误差
 
bistreevseh:
论坛的用户们,你们好。
我正试图整合一个库,以处理文件沙盒之外的文件https://www.mql5.com/ru/code/11140
然而,在初始阶段,我在打开基本文件方面遇到了问题。也许有人已经在这个库的基础上做了一些事情,请帮助。非常感谢您!

也许这就是问题所在,因为

StringConcatenate()

"注意。

参数可以是任何类型。参数的数量不能少于2, 不能超过64"。

 
bistreevseh:
论坛的用户们,你们好。
我正试图整合我的库,以处理文件系统沙盒外的文件https://www.mql5.com/ru/code/11140
在初始阶段,我在打开基本文件时遇到了问题。也许有人已经在这个库的基础上做了一些事情,请帮助。非常感谢您!

测试脚本是否正常工作?

系统驱动器的权利和所有者?

我有一个这样的脚本。

#include <FileFunctions.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
 {
  string sName = TimeToString(TimeLocal(), TIME_DATE) + ".log";
  sName = StringSubstr(sName, 0, 4) + StringSubstr(sName, 5, 2) + StringSubstr(sName, 8);
  string sPath = TerminalPath() + "\\MQL4\\Logs\\" + sName;
  Print(sPath);
  if (FileCheckW(sPath))
   {
    int hFile = FileOpenExistingW(sPath, GENERIC_READ,SHARE_READ);
    if (hFile != NULL)
     {
      Print("hFile = ", hFile);
      FileCloseHandle(hFile);
     }
    else Print("Файл не открыт!");
   }
  else Print("Файл отсутствует!");
 }

作品。

0 07:46:55.195 Check_FileLib EURUSD,Daily: 初始化
0 07:46:55.196 Check_FileLib EURUSD,Daily: E:\Market\Forex\Brokers\Alpari\MetaTrader 4.00\MQL4\Logs\20160305.log
0 07:46:55.239 Check_FileLib EURUSD,Daily: hFile = 2020
0 07:46:55.240 Check_FileLib EURUSD,Daily: uninit reason 0
0 07:46:55.241 脚本 Check_FileLib EURUSD,Daily: 删除

 
Zhunko:

测试脚本是否正常工作?

系统驱动器的权利和所有者?

我有一个这样的脚本。

作品。

0 07:46:55.195 Check_FileLib EURUSD,Daily: Initialized
0 07:46:55.196 Check_FileLib EURUSD,Daily: E:\Market\Forex\Brokers\Alpari\MetaTrader 4.00\MQL4\Logs\20160305.log
0 07:46:55239 Check_FileLib EURUSD,Daily: hFile = 2020
0 07:46:55.240 Check_FileLib EURUSD,Daily: uninit reason 0
0 07:46:55.241 Script Check_FileLib EURUSD,Daily: removed


非常感谢您!它的工作原理很奇怪,我有管理员的权限,我特别把所有的破坏都给了终端文件夹 的所有者,这很有帮助,但后来它就不工作了。然后试图用FileReadStrArrayW(如果我没有记错名字的话)读取日志文件的空行,脚本在ansi模式下挂起。只有FileReadCharArr能够读取安氏代码。也许你有一些如何用你的库解析日志文件的例子?我将非常感激!
 
我不知道如何使用它,也不知道如何解决这个问题。在该指标中,应该使用周期进行比较计算,在市场日的实时情况下,该指标工作(尽管很慢),但今天我注意到,该计算没有进行。