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

 
Trader7777:
另一个问题,测试器显示错误138(ERR_REQUOTE),这是什么意思?
这意味着测试器中没有重新报价。这意味着交易订单 中出现了一个错误。最有可能的是,你是想把市场上的一个人作为一个待定的人打开。
 
artmedia70:
这意味着,在测试器中没有重新报价。这意味着交易订单中出现了错误。最有可能的是,你正试图将一个市场订单作为一个挂单开立。

没有,没有未决的订单。什么是重新报价?
 
Trader7777:
没有,没有未决的订单。什么是重新报价?
它是指在试图建立市场头寸的过程中,价格波动超过了允许的滑移量。测试器没有显示,这意味着我们不是在买入价或卖出价开仓,而是在某个未知价格开仓
 

下午好,我有一个关于向文件写入数据的问题。

你能告诉我为什么在FILE_READ|FILE_WRITE模式下,当我试图向一个文件写入时,它是在旧文件上写入,而不是追加到该文件上?

注意,它不是打开一个新的空文件并填充它(像在FILE_WRITE 模式下),而是覆盖它--也就是说,如果在最后一次苏维埃运行期间发生的要写的事件比倒数第二次运行期间的要写的事件少,那么最后一次运行的残余就会挂在文件的最后。

file_log = "expert_" + magic_number + "_log.csv";
handle_log = FileOpen(file_log, FILE_CSV|FILE_READ|FILE_WRITE, ',');
if(handle_log < 0)  {
  Alert("Ошибка при открытии файла ", file_log, "Возможно, файл занят другим приложением.");
  PlaySound("alarm.wav");
}
else  {
  if(FileWrite(handle_log, "time", "ticket", "type", "openprice", "stoploss", "takeprofit", "lot", "closeprice", "effect_points", "деньги советника") < 0  ||    // это заголовки
      FileWrite(handle_log, TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS), "Советник открыт с параметром delta=", delta) < 0)  {   // для отраж-я возмож. изм-я параметра при рестарте
    Alert( "Ошибка записи в файл ", file_log, " ошибка-", GetLastError() );
    PlaySound("alarm.wav");
  }
}

文件被打开,第一条记录(如上图所示)在init中被制作。 开始时,工作记录根据事件依次添加到文件中。 该文件在deinit中被关闭。

 
yan720:

下午好,我有一个关于向文件写入数据的问题。

请告诉我,为什么在FILE_READ|FILE_WRITE模式下,当你试图向文件写入时,它会在旧文件上写入,而不是追加到文件中?

注意,它不是打开一个新的空文件并填充它(像在FILE_WRITE模式下),而是覆盖它--也就是说,如果在最后一次苏维埃运行期间发生的要写的事件比倒数第二次运行期间的要写的事件少,那么最后一次运行的残余就会挂在文件的最后。

文件被打开,第一条记录(如上图所示)在init中被制作。 开始时,工作记录根据事件依次添加到文件中。 该文件在deinit中被关闭。

如果我没有弄错,在文件打开函数中应该只有两个选项,但你有三个:"FILE_CSV|FILE_READ|FILE_WRITE"。

你没有关闭文件的功能,所以数据没有被保存。

而在最后,你可以添加一个记录光标,以便在添加新的记录时,可以转到最末端。

 
yan720:

下午好,我有一个关于向文件写入数据的问题。

你能告诉我为什么在FILE_READ|FILE_WRITE模式下,当我试图向一个文件写入时,它是在旧文件上写入,而不是追加到该文件上?

注意,它不是打开一个新的空文件并填充它(像在FILE_WRITE模式下),而是覆盖它--也就是说,如果在最后一次苏维埃运行期间发生的要写的事件比倒数第二次运行期间的要写的事件少,那么最后一次运行的残余就会挂在文件的最后。

文件被打开,第一条记录(如上图所示)在init中被制作。开始时,工作记录根据事件依次添加到文件中。该文件在deinit中被关闭。


你有没有试过到文件的末尾 去写?
 
Vinin:

你有没有试过到文件的末尾去写?

嗯...有道理...:)谢谢你。

但如何......?我在该语言的 文件功能 描述中没有看到这一点。通过while(!FileIsEnding(handle_log))读取你在其中的所有内容,还是有一个更 "直接 "的方法?

 
yan720:

嗯...有道理... :) 谢谢。

如何......?我在该语言的文件功能描述中没有看到任何这样的东西。通过while(!FileIsEnding(handle_log))读取其中的所有内容,还是有一个更 "直接 "的方法?


文件搜索()
 

谢谢你。
 
yan720:

嗯...有道理...:)谢谢你。

但如何......?我在该语言的文件功能描述中没有看到这一点。有没有一种更 "直接 "的方法,通过while(!FileIsEnding(handle_log))或者更多的方法来读取其中的所有内容?


哦,太好了...我当然很高兴问题得到了解决,但不知为什么你没有注意到我的留言,我在那里说了同样的事情,用词略有不同,并立即讲述了缺陷,除了关闭文件,我没有立即看到它发生的地方:)