Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1133
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
prıvet .podzajajajte pojalusta pogu na demo schete ne mogu otkrıt zdelkı
le commerce est désactivé .oshıbka
Pas de péchés, qu'est-ce qu'il jure.
Quelles sont les erreurs du compilateur
Quelque chose à voir avec le fait que la fonction doit être globale et qu'elle attend des virgules à des endroits où cela n'a aucun sens de les mettre ! Par exemple, au niveau du séparateur entre les informations sur le courtier et la paire négociée.
Un conseil pour un mannequin. Comment ouvrir un compte en direct?
Que voulez-vous dire par "aucun" ? Trier par ticket - il y aura toujours un ordre et aucune contradiction avec la documentation, elle parle de trier par numéro de série, pas par ticket, ce sont des choses différentes.
Nous avons cette liste de commandes à un moment donné (par ticket)
- Acheter #1
- Acheter #2
- BuyStop #3
- Vendre #4
L'ordre des billets dans la liste est : #1,#2,#3,#4Après le BuyStop #3, dans quel ordre les billets seront-ils dans la liste ?
C'est #1, #2, #4, #3?
Les billets ne garantissent donc pas non plus l'ordre.
Un autre problème que j'ai rencontré ! Ne jugez pas, j'étudie la langue depuis 2 ou 3 semaines, peut-être que je suis juste stupide !
La tâche du conseiller expert est d'informer le trader par e-mail toutes les 4 heures, si la marge libre sur le compte a ajouté une certaine valeur.
Dans le sujet du message, vous devez écrire le nom du courtier et la paire négociée, et dans le corps du message "Danger ! Le tirage au sort dépasse la limite. Prenez les mesures nécessaires".
Le compilateur fonctionne mal, je ne suis pas bon en anglais et je n'arrive pas à comprendre quelle est l'erreur !
double Sag;
void OnTick()
{
Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1); //находим процент просадки и округляем до 1 знака
if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3) //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
{
Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ", MessageMail, " % "); //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит
}
}
PS : Peut-être qu'en général il y a une solution plus facile pour ce genre de problème, mais jusqu'à présent je ne vois que cette façon de faire)
//| exTestSendMail.mq4 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
#property strict
input double MessageMail = 50.0;
//---
double Sag=0;
string MailSubject="";
datetime PrevTime=0;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
MailSubject="Mail from EA "+MQLInfoString(MQL_PROGRAM_NAME);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//--- Находим процент просадки и округляем до 1 знака
Sag=NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_MARGIN_FREE)/AccountInfoDouble(ACCOUNT_BALANCE)),1);
//--- Если открыт новый бар на H4
if(iTime(Symbol(),PERIOD_H4,0) !=PrevTime) {
//--- если просадка больше заданного
if(Sag>MessageMail) {
Alert(Symbol(), ": Просадка = ", DoubleToString(Sag,1), " % ", " > ", MessageMail, " % "); //вывести предупреждение в терминале
string MailText=AccountInfoString(ACCOUNT_COMPANY)+" > Опасность! Просадка ("+DoubleToString(Sag,1)+"%) привысила допустимое значение. Примите необходимые меры.";
SendMail(MailSubject,MailText);
}
PrevTime=iTime(Symbol(),PERIOD_H4,0);
}
}
//+------------------------------------------------------------------+
Merci ! Préparez-vous à envoyer des lettres !
comment corriger lavaleur de retour '' OrderClose doit être vérifié ??????????????????????????????
Chers programmeurs, veuillez aider un débutant dans ce domaine.
L'EA ouvre les ordres d'achat et de vente séquentiellement après une certaine période de temps. Je veux qu'il modifie tous les ordres précédents (plus précisément, tous les ordres précédents doivent être fermés par la prise de bénéfices du dernier ordre). C'est-à-dire que si le dernier ordre d'achat et l'ordre de vente précédent, alors le stop loss de l'ordre précédent est fixé au niveau du take profit du dernier ordre,
Si l'achat précédent est un achat, alors son TakeProfit sera fixé au niveau du dernier TakeProfit. Le fait est que lorsque le takeprofit du dernier ordre arrive, tous les ordres doivent être fermés).
J'espère l'avoir expliqué clairement, même s'il est difficile de comprendre comment le mettre en œuvre. Merci d'avance.
Je comprends que l'on puisse passer par tous les ordres ouverts et les modifier, mais comment faire pour sauter le dernier ordre ?