[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 457
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
normalisez vos _lots
Merci ! Ça a aidé.
Bonjour, j'ai une question sur l'exportation de données vers Excel. J'ai besoin de l'indicateur (ou du script) pour exporter automatiquement les valeurs actuelles de "Solde", "Fonds", etc. vers Excel au début de chaque jour. Pouvez-vous me dire comment mettre cela en œuvre ? Ou du moins où lire à ce sujet. La recherche n'a donné aucun résultat, alors je pose la question ici. Merci.
Vous pouvez enregistrer un fichier csv avec un expert et Excel le traitera avec succès.
Pouvez-vous me dire comment faire ? Et où puis-je trouver plus d'informations à ce sujet ? Merci.
Comment faire pour qu'un indicateur dans l'EA ne soit pas dessiné sur un graphique ?
C'est-à-dire que les lignes de l'indicateur ne seraient pas dessinées sur le graphique. L'indicateur s'appelle comme ceci :
https://docs.mql4.com/ru/files
Comment faire pour qu'un indicateur dans l'EA ne soit pas dessiné sur un graphique ?
C'est-à-dire que les lignes de l'indicateur ne seraient pas dessinées sur le graphique. L'indicateur s'appelle comme ceci :
Pendant le test de l'EA, je reçois l'erreur 130 - mauvais arrêts. Dans la fonction NewOrder, les variables externes TakeProfit et StopLoss devraient être transmises, et il me semble que j'ai tout fait pour y parvenir, mais comme le montre l'impression, des zéros sont transmis. Je comprends que la raison de cette erreur se trouve ici, mais je n'ai pas encore réussi à la trouver. J'ai besoin de votre aide.
extern int TakeProfit=100 ;
extern int StopLoss=100 ;
....................................
si(KVADRAT==1)
{
double Lot=GetLot(MaxRisk) ;
Print("Lot=",Lot) ;
si(Lot==0)
{
Print("pas assez de fonds") ;
retour(0) ;
}
NewOrder(OP_BUYSTOP, Lot, TakeProfit, StopLoss) ;
NewOrder(OP_SELLSTOP, Lot, TakeProfit, StopLoss) ;
KVADRAT=0 ;
}
.....................................
//+---------Функция расчета лота---------------------------------------+
double GetLot(int Risk)
{
double Free=AccountFreeMargin() ;
double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED) ;
double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT) ;
double Max_Lot=MarketInfo(Symbol(),MODE_MAXLOT) ;
double Step=MarketInfo(Symbol(),MODE_LOTSTEP) ;
double Lot=MathFloor(Free*Risk/100/One_Lot/Step)*Step ;
si(Lot<Min_Lot)Lot=Min_Lot ;
if(Lot>Max_Lot)Lot=Max_Lot ;
si(Lot*One_Lot>Free)retour(0.0) ;
retour(Lot) ;
}
//+----------Функция открытия ордера-----------------------------------+
int NewOrder(int Cmd,double Lot,int TakeProfit,int StopLoss)
{
double TP=0;//prise de profit
double SL=0;// stopLoss
double PR=0;// prix
while(!IsTradeAllowed())Sleep(100) ;
if(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))
TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL) ;
if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))
StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL) ;
si(Cmd==OP_BUY)
{
PR=NormaliserDouble(Demande,Chiffres) ;
if(TakeProfit>0)TP=NormalizeDouble(Ask+TakeProfit*Point,Digits) ;
si(StopLoss>0)SL=NormalizeDouble(Bid-StopLoss*Point,Digits) ;
}
if(Cmd==OP_SELL)
{
PR=NormalizeDouble(Bid,Digits) ;
si(TakeProfit>0)TP=NormalizeDouble(Bid-TakeProfit*Point,Digits) ;
si(StopLoss>0)SL=NormalizeDouble(Ask+StopLoss*Point,Digits) ;
}
Print("TakeProfit=",TakeProfit," StopLoss=",StopLoss," StopLevel=",MarketInfo(Symbol(),MODE_STOPLEVEL)) ;
tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE) ;
if(tic<0)Print("order open error :",GetLastError()) ; Print("Cmd-",Cmd, "Lot=",Lot, "PR=",PR, "SL=",SL, "TP=",TP) ;
retour(tic) ;
}
Faites de la magie avec cette fonction.
* parti faire de la magie *