if(lot_m <= minlot) lot_m = minlot ; // à partir de cette ligne, mon moi
else if(lot_m >= maxlot) lot_m = maxlot ;
autre si(lot_m > minlot && lot_m < maxlot)
{
int k = int((lot - minlot)/steplot) ;
lot_m = NormalizeDouble(minlot+k*steplot,2) ;
}
retour(lot_m) ;
si(OrderProfit()>0) lot-- ;
si(OrderProfit()<0) lot_m++ ;
}
if(_m_risk == Max_Risk) lot_m = lot ; // vous ne pouvez rien comprendre ici
retour(0) ;
}
Je me débats avec ça depuis deux jours. Je ne peux pas écrire la fonction qui recalcule le risque.
Si une transaction est fermée par TP, le risque reste le même.
Si le risque est fermé par SL, le risque est augmenté de 2 fois et ainsi de suite, jusqu'à la valeur prescrite dans les variables d'entrée du Conseiller Expert, disons Max_Risk = 8 ;
et ensuite réinitialisé au risque initial Risque = 1 ;
Eh bien, si après avoir doublé, la transaction est fermée à TR, nous revenons à nouveau au risque initial = 1 ;
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. и снова dll и маркет День добрый! Правило №1 dll на...
L'idée est la suivante : le conseiller expert compte la différence entre la valeur ATR actuelle et la précédente. Mais seulement avec un ATR croissant.
Cette différence est affichée dans la variable "razn". J'ai besoin que la valeur de la variable "razn" soit ajoutée/cumulée à la variable "summ" à chaque arrivée d'une nouvelle barre.
Dans la version actuelle, l'accumulation de "summ" ne fonctionne pas correctement.
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
Bonjour aux membres du forum. Je ne trouve aucune information. Existe-t-il un outil qui dessine automatiquement des lignes (non horizontales) à partir des points bas et des points hauts jusqu'à un certain niveau de point ? En d'autres termes, définissez-vous le bas ou le haut et tracez la ligne jusqu'au chandelier qui fixe la distance en pips par rapport au haut ou au bas ? J'ai découvert que l'indicateur Fractal permet de déterminer le bas et le haut. Mais je n'ai pas pu trouver un tel add-on me permettant de tracer une ligne jusqu'au point de changement de prix d'un certain nombre de points.
Je doute pouvoir expliquer, si c'est ce que vous demandez.
L'objet est ... Disons qu'une variable de type classe
dans votre section de code est la classe CProgram
quelque part dans votre code, il doit être écrit
et devra être appelé
Pouvez-vous me dire ce que cela signifie ?
La valeur de retour de'OrderSend' doit être vérifiée TestLibrary.mq4 64 6
Pouvez-vous me dire ce que cela signifie ?
La valeur de retour de 'OrderSend' doit être vérifiée TestLibrary.mq4 64 6
Le résultat de OrderSend doit être vérifié. :-)
Le résultat de OrderSend doit être vérifié. :-)
Je connais l'anglais)))
comment le vérifier ?
Je connais l'anglais)))
Comment le vérifier ?
result=SomeOperation(....)
if (result!=ok) {
Print("Error");
}
result=SomeOperation(....)
if (result!=ok) {
Print("Error");
}
}
Je me débats avec ça depuis deux jours. Je ne peux pas écrire la fonction qui recalcule le risque.
Si une transaction est fermée par TP, le risque reste le même.
Si le risque est fermé par SL, le risque est augmenté de 2 fois et ainsi de suite, jusqu'à la valeur prescrite dans les variables d'entrée du Conseiller Expert, disons Max_Risk = 8 ;
et ensuite réinitialisé au risque initial Risque = 1 ;
Eh bien, si après avoir doublé, la transaction est fermée à TR, nous revenons à nouveau au risque initial = 1 ;
Pouvez-vous nous aider ?
Merci d'avance.
Bonjour !
Professionnels, s'il vous plaît, aidez-nous. Je ne peux pas résoudre un seul problème. Voici le code :
datetime some_time=TimeCurrent() ;
int start()
{
double somme ;
double rasoir ;
int k=iBarShift(",PERIOD_M5,some_time) ;
double VAL0=MathAbs(iATR(NULL,0,1,1))/Point ;
double VAL1=MathAbs(iATR(NULL,0,1,0))/Point ;
si (VAL1>VAL0)
{
razn =MathAbs((iATR(NULL,0,1,0))-(iATR(NULL,0,1,1))/Point ;
for(int i = k ; i >= 1 ; i--)
{
summ=summ+razn ;
}
Comment("Périodes utilisées : ",k,"\n,
"ATR précédent : "+VAL0+"\n",
"ATR actuel : ",VAL1,"\N",
"Différence ATR : ",razn,"\n",
"Différence ATR :",summ, "\n") ;
}
retour(0) ;
}
L'idée est la suivante : le conseiller expert compte la différence entre la valeur ATR actuelle et la précédente. Mais seulement avec un ATR croissant.
Cette différence est affichée dans la variable "razn". J'ai besoin que la valeur de la variable "razn" soit ajoutée/cumulée à la variable "summ" à chaque arrivée d'une nouvelle barre.
Dans la version actuelle, l'accumulation de "summ" ne fonctionne pas correctement.
Je pense que c'est à propos des boucles.