初学者的问题 MQL5 MT5 MetaTrader 5 - 页 525

 
-Aleks-:
让字符串a="true "被使用。

或者通过一个自定义函数

bool StrToBool(string text)
{
 if(text=="true")return(true);
 if(text=="false")return(false);
}

如果你从一个文件中读取字符串,你可以

bool  FileReadBool( 
   int  file_handle      // handle файла 
   );
 
Sergey Gritsay:

或者通过一个自定义函数

如果你从一个文件中读取字符串,你可以

谢谢你,有趣的解决方案!

我需要从一个文件中读出--我有一个自定义的类,我想在那里做一个布尔值的函数,但我理解FileReadBool 不会类比工作?

该类按列和单元格编号返回一个值。摘录。

//+------------------------------------------------------------------+

//| GetDoubleValue                                                   |

//+------------------------------------------------------------------+

double CSVReader::GetDoubleValue(int row,int column)

  {

   if(CheckIndexes(row,column)==false) return(0.0);

//---

   int index=m_total_columns*row+column;

   if((index>=0) && (index<ArraySize(m_cells)))

     {

      return(StringToDouble(m_cells[index]));

     }

   return(0.0);

  }

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//| GetBoolValue                                                   |

//+------------------------------------------------------------------+

double CSVReader::GetBoolValue(int row,int column)

  {

   if(CheckIndexes(row,column)==false) return(0.0);

//---

   int index=m_total_columns*row+column;

   if((index>=0) && (index<ArraySize(m_cells)))

     {

      return(FileReadBool(m_cells[index]));

     }

   return(0.0);

  }

//+------------------------------------------------------------------+

 

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

Nickolay72, 2016.02.29 13:56

下午好,先生们,也许有人遇到过这样的问题,请指教。 在我的电脑Win7x32上写了一个顾问,工作起来没有任何问题,但我把它放在另一台电脑上,Win8x64,它将无法工作。 不仅如此,所有尴尬的安装,三次重新安装,直到我确信MT4是安装在第八,顾问只通过数据库可以从闪存驱动器扔在地方,它仍然工作。

 

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

Vladislav Andruschenko, 2016.02.29 14:13

用铲子打他的头。

但说真的,通灵部门在另一个主题中


 
-Aleks-:

谢谢你,有趣的解决方案!

我需要从一个文件中读出--我有一个类是按顺序做的,我想在那里做一个布尔值的函数,但我理解,FileReadBool不会类比工作?

该类按列和单元格编号返回一个值。摘录。

//+------------------------------------------------------------------+

//| GetDoubleValue                                                   |

//+------------------------------------------------------------------+

double CSVReader::GetDoubleValue(int row,int column)

  {

   if(CheckIndexes(row,column)==false) return(0.0);

//---

   int index=m_total_columns*row+column;

   if((index>=0) && (index<ArraySize(m_cells)))

     {

      return(StringToDouble(m_cells[index]));

     }

   return(0.0);

  }

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//| GetBoolValue                                                   |

//+------------------------------------------------------------------+

double CSVReader::GetBoolValue(int row,int column)

  {

   if(CheckIndexes(row,column)==false) return(0.0);

//---

   int index=m_total_columns*row+column;

   if((index>=0) && (index<ArraySize(m_cells)))

     {

      return(FileReadBool(m_cells[index]));

     }

   return(0.0);

  }

//+------------------------------------------------------------------+

return(FileReadBool(m_cells[index]));
当你这样写的时候,你当然会得到一个编译错误,因为你需要把文件柄传给它。
 

Nickolay72, 2016.02.29 13:56

Добрый день господа.Может кто сталкивался с такой проблемой,подскажите.我写了一个EA,在我的电脑Win7x32上工作没有任何问题。 我把它放在另一台电脑上,Win8x64,它不工作。 不仅是一团糟,我重新安装了三次,直到我确信MT4安装在8上,EA只有通过数据库才能从U盘放好,但它不工作。 一切都在测试中,订单都放好了。在工作中微笑的混蛋,但拒绝工作。 如何使它工作?

闪存驱动器需要被格式化为NTFS。
 
Sergey Gritsay:
当然,当你这样写时,你会得到一个编译错误,因为你必须把文件句柄传给它。

不清楚为什么他们没有为bool做一个标准的字符串到值的翻译。

我将在文件中写入0和1,并进行检查。

if ( StringToDouble(m_cells[index])==1 ) return (true);

else return (false);

它能起作用吗?

 
-Aleks-:

不清楚为什么他们没有为bool做一个标准的字符串到值的翻译。

我将在文件中写入0和1,并进行检查。

if ( StringToDouble(m_cells[index])==1 ) return (true);

else return (false);

能否成功?

应该,在这里替换这一行

double CSVReader::GetBoolValue(int row,int column)

也改成

bool CSVReader::GetBoolValue(int row,int column)
 
Sergey Gritsay:

应该,这一行在这里。

同时将这一行改为

谢谢你!我会试一试的。
 
Karputov Vladimir:

Nickolay72, 2016.02.29 13:56

闪存驱动器需要被格式化为NTFS。
闪存盘被格式化,终端被设置为自动交易,EA开启--它没有交易。
原因: