FileWriteFloat

Scrive in un file binario il valore del parametro di tipo float dalla posizione corrente del puntatore del file.

Scrive in un file CSV o di testo il valore del parametro di tipo float convertito in testo dalla posizione corrente del puntatore del file.

uint  FileWriteFloat(
   int    file_handle,     // File handle
   float  value            // Valore da scrivere
   );

Parametri

file_handle

[in] Il descrittore di file restituito da FileOpen().

valore

[in] Il valore di tipo float.

Valore restituito

In caso di successo la funzione restituisce il numero di byte scritti (durante la scrittura in un file binario — sizeof(float)=4). Il puntatore del file viene spostato dello stesso numero di byte.

Nota

Nel caso di scrittura in un file binario, equivale alla chiamata della funzione FileWrite con un parametro di tipo float

float float_value;
FileWrite(file_handle,float_value);

Esempio:

//+--------------------------------------------------------------------------------+
//|                                                        Demo_FileWriteFloat.mq5 |
//|                                      Copyright 2013, MetaQuotes Software Corp. | 
//|                                                           https://www.mql5.com |
//+--------------------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- mostra la finestra dei parametri di input quando si lancia lo script
#property script_show_inputs
//--- parametri per la ricezione dei dati dal terminale
input string          InpSymbolName="EURUSD";           // coppia di valute
input ENUM_TIMEFRAMES InpSymbolPeriod=PERIOD_M15;       // time frame
input datetime        InpDateStart=D'2013.01.01 00:00'; // data di inzio copiatura dati
//--- parameters for writing data to the file
input string          InpFileName="Close.bin"; // nome file
input string          InpDirectoryName="Data"; // nome directory
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script |
//+--------------------------------------------------------------------------------+
voidOnStart()
  {
   datetime date_finish=TimeCurrent();
   double   close_buff[];
   datetime time_buff[];
   int      size;
//--- resetta il valore dell' errore
   ResetLastError();
//--- copia i prezzi di chiusura per ogni barra
   if(CopyClose(InpSymbolName,InpSymbolPeriod,InpDateStart,date_finish,close_buff)==-1)
     {
      PrintFormat("Fallimento nel copiare i valori di prezzo di chiusura (close). Codice Errore = %d",GetLastError());
      return;
     }
//--- copia l'orario per ogni barra
   if(CopyTime(InpSymbolName,InpSymbolPeriod,InpDateStart,date_finish,time_buff)==-1)
     {
      PrintFormat("Fallimento nel copiare i valori tempo. Codice Errore = %d",GetLastError());
      return;
     }
//--- riceve la grandezza del buffer
   size=ArraySize(close_buff);
//--- apre il file per la scrittura dei valori (se il file è assente, verrà automaticamente creato)
   ResetLastError();
   int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_WRITE|FILE_BIN);
   if(file_handle!=INVALID_HANDLE)
     {
      PrintFormat("il file %s viene aperto per la lettura",InpFileName);
      PrintFormat("Percorso file: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
      //--- scrive orario e valore dei prezzi di chiusura close, nel file
      for(int i=0;i<size;i++)
        {
         FileWriteDouble(file_handle,(double)time_buff[i]);
         FileWriteFloat(file_handle,(float)close_buff[i]);
        }
      //--- chiude il file
      FileClose(file_handle);
      PrintFormat("I dati vengono scritti, il file %s è chiuso",InpFileName);
     }
   else
      PrintFormat("Fallimento nell'aprire il file %s, Codice errore = %d",InpFileName,GetLastError());
  }

Vedi anche

I Tipi Reali (double, float), FileWriteDouble