[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 260

 

Bonjour les citoyens.

Afin de ne pas vraiment encombrer le forum, j'ai décidé d'écrire dans ce fil. Réponse S'il vous plaît, sur mes deux ordinateurs il y avait (et maintenant il n'y a plus qu'un seul, après avoir réinstallé Windows à la hâte) MetaTrader 4 avec le même compte, a eu un brainstorming et j'ai perdu mon mot de passe, donc où reste encore MT4 intacte, je peux voir, et se connecter, et travailler avec ce compte normalement, mais je vois le mot de passe seulement sous les astérisques. J'ai vu que dans MT4, dans la boîte de dialogue pour entrer le numéro et le mot de passe, il y a une case à cocher "Stocker les informations personnelles", puis-je voir ce fichier quelque part et d'une manière ou d'une autre, et le mot de passe y sera-t-il ?

 
vovdec >> :

... J'ai perdu mon mot de passe, donc c'est là que MT4 reste intact, je peux voir, et me connecter, et travailler avec ce compte normalement, mais je ne peux voir que le mot de passe sous les astérisques. J'ai vu dans MT4 dans la boîte de dialogue pour entrer le numéro et le mot de passe il y a une case à cocher "Stocker les informations personnelles", puis-je voir ce fichier quelque part et d'une manière ou d'une autre, et le mot de passe sera-t-il dedans... ?

Le mot de passe dans MT4 est stocké sous une forme cryptée et son emplacement n'est pas rendu public.

Certains des bisons locaux ont réussi à s'en sortir, mais c'est un défi, pour ne pas dire plus.

Lors de la copie/transfert du dossier MT4, le mot de passe est perdu. Fabriqué à des fins de sécurité.

Le mot de passe de tout compte réel peut être restauré via TP.

A partir de démos, il est préférable de la sauvegarder ou de la changer pour celle que vous n'oublierez pas, immédiatement après.

>> Il est préférable de l'enregistrer ou de le modifier après avoir ouvert la démo.

 

Bonjour. J'ai construit un petit EA ici, qui ouvre simplement une position par temps. En gros, tout fonctionne, mais je ne peux pas le tester sur l'historique. Aidez-moi à le comprendre.

//+------------------------------------------------------------------+
//| Midnight.mq4 |
//| BaceK |
//| |
//+------------------------------------------------------------------+
#property copyright "BaceK"
#propriété lien ""

//---- paramètres d'entrée
extern int Dist_SL=20 ;
extern int_TP=30 ;
extern double Prots=0.35 ;
//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+
int init()
{
//----
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
int start()
{

string Symb=Symbol() ; // instrument financier.
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Min_Dist
//Alert("Distance min. = ",Min_Dist) ;
double Min_Lot=MarketInfo(Symb,MODE_MINLOT);//La taille du lot min.
//Alert("Taille minimale du lot = ",Min_Lot) ;
double Free =AccountFreeMargin() ; // Libre signifie
//Alert("Argent gratuit = ",Gratuit) ;
double One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);//Valeur de One_Lot
//Alert("Coût par lot = ",One_Lot) ;
double Lot=MathFloor((Free*Prots)/(One_Lot*Min_Lot))*Min_Lot;//Lots
//Alert("Bars = ",Lot) ;
//Alert("Bars = ",Bars) ;

//-----------------------------------------------
// Vérification des espaces libres
si ( Lot != 0 )
{
//Alert("Work onwards = ",OrderSymbol()) ;

// Contrôle du temps de travail
int h=TimeHour(TimeCurrent()) ;
si ( h < 1 )
{
for(int i=1 ; i<=OrdersTotal() ; i++) // Boucle de commande
{
if(OrderSelect(i-1,SELECT_BY_POS)==true) // s'il existe un
{
// Analyse des commandes :
if (OrderSymbol()!= Symb) // Pas notre instrument financier.
{
//Alert("Travail suivant = ",OrderSymbol()) ;
// Détermination du sens d'ouverture
si (iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
{
//Alert("Position longue = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) ;
int ticket=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point,Bid+Dist_TP*Point) ;
}sélection
{
//Alert("Position courte = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) ;
int ticket1=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point,Bid-Dist_TP*Point) ;
}
if (ticket>0 || ticket1>0) // ça a marché :)
{
// Alerte ("Un ordre de VENTE est placé ",ticket || ticket1) ;
Dormir (5000) ;
}sélection
{
int Error=GetLastError() ; // échec :(
switch(Error) // Erreurs insurmontables
{
cas 129:Alert("Prix erroné. Essayez à nouveau...") ;
RefreshRates() ; // Rafraîchit les données.
retour(0) ;
cas 135:Alert("Le prix a changé. Essayez à nouveau...") ;
RefreshRates() ; // Rafraîchit les données.
return(0) ; // Itération suivante.
cas 146:Alert("Le sous-système de négociation est occupé. Essayez à nouveau...") ;
Sleep(500) ; // Solution simple.
RefreshRates() ; // Rafraîchit les données.
return(0) ; // Itération suivante
}
switch(Error) // Erreurs critiques
{
cas 2 : Alert("Erreur générale ;)
break ; // Sortie de l'interrupteur
cas 5 : Alert("Ancienne version du terminal client.") ;
return(0) ; // Sortie de l'interrupteur.
cas 64 : Alert("Compte bloqué.") ;
return(0) ; // Sortie dans le commutateur
cas 133:Alert("Trading interdit") ;
return(0) ; // Sortie de l'interrupteur
default : Alert("An error has occurred ",Error);// Autres options
}
//Alert("GetLastError() ;
retour(0) ;
}


}sélection
{
//Alert("Sortie par Symb = ",Symb) ;
retour(0) ;
}
}sélection
{

//Alert("Sortie sans ordre = ",Symb) ;
si (iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
{
//Alert("Position longue = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) ;
int ticket2=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point,Bid+Dist_TP*Point) ;
}sélection
{
//Alert("Position courte = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)) ;
int ticket3=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point,Bid-Dist_TP*Point) ;
}
if (ticket2>0 || ticket3>0) // ça a marché :)
{
//Alert ("SELL order set ",ticket2 || ticket3) ;
Dormir (5000) ;
}sélection

{
int Error1=GetLastError() ; // échec :(
switch(Error1) // Erreurs insurmontables
{
cas 129:Alert("Prix erroné. Essayez à nouveau...") ;
RefreshRates() ; // Rafraîchit les données.
retour(0) ;
cas 135:Alert("Le prix a changé. Essayez à nouveau...") ;
RefreshRates() ; // Rafraîchit les données.
return(0) ; // Itération suivante.
cas 146:Alert("Le sous-système de négociation est occupé. Essayez à nouveau...") ;
Sleep(500) ; // Solution simple.
RefreshRates() ; // Rafraîchit les données.
return(0) ; // Itération suivante
}
switch(Error1) // Erreurs critiques
{
cas 2 : Alert("Erreur générale ;)
break ; // Sortie de l'interrupteur
cas 5 : Alert("Ancienne version du terminal client.") ;
return(0) ; // Sortie de l'interrupteur.
cas 64 : Alert("Compte bloqué.") ;
return(0) ; // Sortie dans le commutateur
cas 133:Alert("Trading interdit") ;
return(0) ; // Sortie de l'interrupteur
default : Alert("An error has occurred ",Error1);// Autres options
}
Alert("GetLastError() ;
retour(0) ;
}

}
}

}sélection
{
// Alert("Sortie par heure = ",Hour()) ;
retour(0) ;
}
}sélection
{
//Alert("Sortie par lot = ",Lot) ;
retour(0) ;
}

//----


//Alert ("Script terminé -----------------------------") ;
retour(0) ;
}
//+------------------------------------------------------------------+

 

Si l'alerte est tellement dans le testeur qu'elle ne fonctionne pas, remplacez-la par une impression ou un commentaire.

Au lieu des alertes, mettez une fonction comme celle-ci :

void ComAlert(string text)
{//+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
 if(IsTesting())Comment( text);else Alert( text);
return;
}//+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+


 

Le conseiller n'a pas effectué une seule transaction dans le testeur. Tout est nul.

 
BaceK1 >> :

Le conseiller n'a pas effectué une seule transaction dans le testeur. Tout pour rien.

>> Est-ce que ça marche en direct ?

 
Il fonctionne en mode direct. Il ouvre la position dans la direction souhaitée avec les paramètres définis. Il n'ouvre rien dans le testeur.
 
BaceK1 >> :
Fonctionne en mode direct. Il ouvre la position dans la direction souhaitée avec les paramètres définis. Dans le testeur, il n'ouvre rien.

Qu'est-ce que ça dit dans le journal ? Sois courageux ou je dois tirer chaque mot de toi.

 

2009.10.16 20:33:19 2009.07.31 22:43 Midnight EURJPY,Daily : Alerte : Time Out = 22

Troisième à partir du bas Alerte

 
Comment ouvrir un poste à un moment précis ? Par exemple, une position doit être ouverte à 00.15 heure locale.