Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 150

 
Zolotai:
Vous pouvez me donner un petit code ? Fichier ouvert.... Quelles fonctions peuvent être utilisées pour écrire un enregistrement, le sauvegarder, puis le fermer...


double Balance,Equity,Free;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    Balance = AccountBalance(); 
    Equity  = AccountEquity(); 
    Free    =AccountFreeMargin();                 // Свободн средства
   
//----
 if(NevBar())  Средства();
//----
   return(0);
  }
//+------------------------------------------------------------------+

//====================================================================
//-----------------------------------------------------------------------------+
// Функция контроля нового бара                                                |
//-----------------------------------------------------------------------------+
bool NevBar(){
   static int PrevTime=0;
   if (PrevTime==Time[0]) return(false);
   PrevTime=Time[0];
   return(true);} 
//====================================================================   
void Средства()
{
  int handle;
  string filename = "Средства.csv"; // Формируем имя файла
  handle = FileOpen(filename,FILE_CSV|FILE_READ | FILE_WRITE,';');
  if(handle < 1)
  {
    Print("Не удалось создать файл. Ошибка #", GetLastError());
    return(0);
    //FileClose(handle);
  }
  
  FileWrite(handle, "Время",
                    "Баланс",
                    "Средства",
                    "Свободная маржа"); //пишем заголовок
                    
  FileSeek(handle, 0, SEEK_END);        //следущая строка
  
  FileWrite(handle,TimeToStr(Time[0]),  //пишем что-то
                   Balance,
                   Equity, 
                   Free);
 
  FileClose(handle);
  return(0);
}
 
Pouvez-vous me dire comment fixer un stop au plus haut ou au plus bas de la barre à laquelle la transaction est ouverte ?
 
Ulia:
J'ai un Windows 7 maximum sp1, parlant russe.
Après l'installation du terminal MT4 build 509 si je choisis l'élément je vois les langues-Russe, puis après le redémarrage tout est écrit dans des symboles incompréhensibles, si je mets la langue anglaise tout est visible normalement en anglais, seulement dans le navigateur le nom est le même est affiché dans des symboles incompréhensibles comme le compte a été initialement enregistré en russe. J'ai atteint le terminal d'Instaforex, mais d'autres sociétés de courtage ont le même problème. Le problème se situe probablement au niveau des polices de mon système d'exploitation.

Pouvez-vous me dire quelles sont les exigences en matière de polices, si je peux les ajouter, les insérer ou les remplacer, et comment procéder, car je ne veux pas changer de système d'exploitation.
Tous les autres programmes - avast antivirus, Opera et tous les programmes de Windows 7 (bloc-notes, calculatrice, etc.) fonctionnent bien en russe.
i_logic:

Julia, allez dans le Panneau de configuration, sélectionnez Langue et normes régionales, allez dans l'onglet "Avancé" et regardez la langue dans la "Langue des programmes qui ne supportent pas Unicode". Il devrait être russe.




Merci, ça m'a aidé, c'était à l'origine en anglais.
 

S'il y a plusieurs bibliothèques. Ils travailleront ensemble dans un seul EA. Il est clair que toutes ces bibliothèques seront importées dans le fichier d'en-tête et ensuite dans l'EA. Mais ici, s'il y a certaines variables, qui sont répétées dans chaque bibliothèque. Est-il nécessaire de déclarer à nouveau les mêmes variables dans chaque bibliothèque ?

Par exemple, prenez une variable :

in err = GetLastError();

Est-ce le seul moyen de déclarer la même variable dans toutes les bibliothèques ? Après tout, il pourrait y avoir de nombreuses variables de ce type...

 
hoz:

S'il y a plusieurs bibliothèques. Ils travailleront ensemble dans un seul EA. Il est clair que toutes ces bibliothèques seront importées dans le fichier d'en-tête et ensuite dans l'EA. Mais ici, s'il y a certaines variables, qui sont répétées dans chaque bibliothèque. Est-il nécessaire de déclarer à nouveau les mêmes variables dans chaque bibliothèque ?

Par exemple, prenez une variable :

Est-ce le seul moyen de déclarer la même variable dans toutes les bibliothèques ? Après tout, il pourrait y avoir de nombreuses variables de ce type...

Déclarez ces variables dans une seule inclusion et incluez cette inclusion dans toutes les bibliothèques.
 


Oups. Prescrit comme suit.

int start() // Спец. функция start

{

//--------------------------------------------------------------- 2 --

int Handle;

string File_Name="News.csv", // Имя файла

datetime Dat_DtTm; // Дата и время события(дата)

//--------------------------------------------------------------- 3 --

Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");// Открытие файла

if(Handle<0){ // Неудача при открытии файла

if(GetLastError()==4103) // Если файла не существует,..

Alert("Нет файла с именем ",File_Name);//.. извещаем трейдера

else // При любой другой ошибке..

Alert("Ошибка при открытии файла ",File_Name);//..такое сообщ

PlaySound("Bzrrr.wav"); // Звуковое сопровождение

return; // Выход из start()

}else{

FileSeek(handle, 0, SEEK_END);

FileWrite(handle, "ff", Dat_DtTm);

FileClose(handle);

}

return; // Выход из start()

}

Ça n'enregistre pas, qu'est-ce qui ne va pas ?
 
Zolotai:


Spc. Prescrit comme suit.

int start() // Спец. функция start

{

//--------------------------------------------------------------- 2 --

int Handle;

string File_Name="News.csv", // Имя файла

datetime Dat_DtTm; // Дата и время события(дата)

//--------------------------------------------------------------- 3 --

Handle=FileOpen(File_Name,FILE_CSV|FILE_READ|FILE_WRITE,";");// Открытие файла

if(Handle<0){ ........

Ça n'enregistre pas, qu'est-ce qui ne va pas ?
 

Bon après-midi.

Pouvez-vous me dire comment relier par programme 2 systèmes de coordonnées dans un graphique : (X,Y) et (temps,prix) ? Vous avez besoin d'une étiquette avec des coordonnées (X,Y) qui sera toujours au prix minimum sur le graphique.

 
satorifx:

Bon après-midi.

Pouvez-vous me dire comment relier par programme 2 systèmes de coordonnées dans un graphique : (X,Y) et (temps,prix) ? Vous avez besoin d'une étiquette avec des coordonnées (X,Y) qui sera toujours au prix minimum sur le graphique.

Il y a des différences. Sur le graphique en général, c'est-à-dire sur tous les historiques disponibles dans le terminal, ou sur le graphique visible (dans l'écran du moniteur) ?
 
paladin80:


Merci !