错误、漏洞、问题 - 页 1579

 
Dennis Kirichenko:

看一下PrintFormat() 函数。在你的情况下,最好是使用它。

然后它是这样的。

旁证法则 :-)

尝试了一下代码,得到的是零

2016.05.12 00:41:43.336 Info_SymbolList AUDJPY,M15: symbolName=AUDJPY, ATR_D_1001=0.0000

 
Dennis Kirichenko:

试着只向文件中写入字符串变量。

它是这样的。

所有的变量都写得很正常,除了ATR_D_1000,这个不清楚
 
-Aleks-:
所有的变量都写得很正常,除了ATR_D_1000,它不清楚...

G这样试一试

FileWrite(handle,symbolName);
FileWrite(handle,MarketInfo(symbolName,MODE_SPREAD));
FileWrite(handle,MarketInfo(symbolName,MODE_MINLOT));
FileWrite(handle,MarketInfo(symbolName,MODE_MARGINREQUIRED)*MarketInfo(symbolName,MODE_MINLOT));
FileWrite(handle,MarketInfo(symbolName,MODE_TICKVALUE)*MarketInfo(symbolName,MODE_MINLOT)*100);
FileWrite(handle,MarketInfo(symbolName,MODE_STOPLEVEL));
FileWrite(handle,str2);
FileWrite(handle,ATR_D_1000);
FileWrite(handle,ATR_M15_9600)
FileWrite(handle,iBars(symbolName,1440));
FileWrite(handle,iBars(symbolName,15));
 
Sergey Gritsay:

G 试试这个

谢谢,我会试一试的。但是,如果ATR_D_1000 变量没有被打印出来,我们怎么能期望它被写入呢?
 
-Aleks-:
谢谢,我会试一试的。但是,如果变量ATR_D_1000 没有被打印出来,我们怎么能期望它被写入呢?
D 它将被打印出来。最有可能的问题是在历史分页中,因为1000天的条形图是相当巨大的,指标在第一次运行时需要很长的时间来计算,然后一切正常。
0       18:17:32.387    Script test_1 USDCHF,H1: loaded successfully
0       18:17:35.135    test_1 USDCHF,H1 inputs: Start=1463014800; End=1463025600; 
0       18:17:40.219    test_1 USDCHF,H1: initialized
0       18:17:55.643    test_1 USDCHF,H1: ATR_D_1000=0.0
0       18:17:55.643    test_1 USDCHF,H1:  symbolName=USDCHF ATR_D_1001=0.0
0       18:17:55.643    test_1 USDCHF,H1: uninit reason 0
0       18:17:55.644    Script test_1 USDCHF,H1: removed
0       18:20:26.749    Script test_1 USDCHF,H1: loaded successfully
0       18:20:33.592    test_1 USDCHF,H1: initialized
0       18:20:33.593    test_1 USDCHF,H1: ATR_D_1000=0.008878300000000023
0       18:20:33.593    test_1 USDCHF,H1:  symbolName=USDCHF ATR_D_1001=0.008878300000000023
0       18:20:33.593    test_1 USDCHF,H1: uninit reason 0
0       18:20:33.594    Script test_1 USDCHF,H1: removed
0       18:21:48.047    Script test_1 USDCHF,Daily: loaded successfully
0       18:21:53.155    test_1 USDCHF,Daily: initialized
0       18:21:53.155    test_1 USDCHF,Daily: ATR_D_1000=0.008468200000000019
0       18:21:53.155    test_1 USDCHF,Daily:  symbolName=USDCHF ATR_D_1001=0.008468200000000019
0       18:21:53.156    test_1 USDCHF,Daily: uninit reason 0
0       18:21:53.157    Script test_1 USDCHF,Daily: removed
0       18:22:13.167    Script test_1 USDCHF,H4: loaded successfully
0       18:22:19.313    test_1 USDCHF,H4: initialized
0       18:22:19.313    test_1 USDCHF,H4: ATR_D_1000=0.008468200000000019
0       18:22:19.313    test_1 USDCHF,H4:  symbolName=USDCHF ATR_D_1001=0.008468200000000019
0       18:22:19.313    test_1 USDCHF,H4: uninit reason 0
0       18:22:19.314    Script test_1 USDCHF,H4: removed
0       18:22:26.488    Script test_1 USDCHF,H1: loaded successfully
0       18:22:32.343    test_1 USDCHF,H1: initialized
0       18:22:32.344    test_1 USDCHF,H1: ATR_D_1000=0.008468200000000019
0       18:22:32.344    test_1 USDCHF,H1:  symbolName=USDCHF ATR_D_1001=0.008468200000000019
0       18:22:32.344    test_1 USDCHF,H1: uninit reason 0
0       18:22:32.345    Script test_1 USDCHF,H1: removed
 
Sergey Gritsay:
D 一切都打印出来了。最有可能的问题是在历史加载中,因为1000天的条形图是相当巨大的,指标在第一次运行时需要很长的时间来计算,然后就一切正常了。
代码是什么,你能附上脚本吗?我不能让它移动,谢谢。
 
-Aleks-:
代码是什么,你能附上一个脚本吗?我无法让它动起来,谢谢你。
这和你的一样。
//+------------------------------------------------------------------+
//|                                                       test_1.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

   double ATR_D_1000=0;

   string symbolName=_Symbol;

   ATR_D_1000=iATR(symbolName,1440,1000,1);

   Print("ATR_D_1000=",ATR_D_1000);

   Print(" symbolName=",symbolName," ATR_D_1001=",iATR(symbolName,1440,1000,1));
  }
//+------------------------------------------------------------------+
 

EX5加载失败(执行中)。

typedef void (*fn)();
fn GP( fn f ) { return f; }
void OnStart2() { Print( __FUNCSIG__ ); }
void OnStart()
{
        Print( GP( OnStart2 ));
}

否则 - 很好

void OnStart()
{
        Print( GP( OnStart ));
}
 
如果订单票据函数返回一个int类型的值,当我们遇到上限时,会发生什么,例如,现在我们有9位数的票据号码,是否有10位数的上限? 或者经纪人会重置订单计数器?
 
Sergey Gritsay:
和你一样。
谢谢--发现了代码中的一个错误。