[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 152

 
Zhunko:

Vadim, sais-tu coder en Java ?

 

Quelqu'un peut-il poster le script le plus simple pour calculer le lot pour une martingale classique : si le trade précédent a été fermé avec une perte, le suivant s'ouvre avec un double lot. Je l'ai écrit moi-même :

extern double Lot = 0.1 ; extern double MM_koef = 2 ; extern int magic = 56565 ;
double Lots=Lot ;


{ OrderSelect(OrdersHistoryTotal(), SELECT_BY_POS, MODE_HISTORY) ; //vérifier la dernière commande de l'historique
if( OrderMagicNumber() == magic
&& ( (OrderType() == OP_BUY && (OrderOpenPrice()-OrderClosePrice())<0) //pour acheter cela signifie une perte
|| (OrderType() == OP_SELL && (OrderOpenPrice()-OrderClosePrice())>0) //pour vendre cela signifie une perte
)
)
Lots=OrderLots()*MM_koef;Print(Lots) ;
}
si (Lots<=0) Lots=Lot ;

....OrderSend(Symbol(), OP_BUY, Lots, .......

L'autocalcul du lot sur un Martin ne fonctionne pas, mais est accepté égal à 0.1 pour une raison quelconque ? Quelqu'un peut-il me dire

 
AdvoTM: Si la transaction précédente a été clôturée avec une perte, la suivante est ouverte avec un lot double.

voici quelque chose de similaire pour vos besoins actuels :

double history(){
   int i;
//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордера   
   double profit;
   datetime time;
   time = 0;
   profit = 0;
   for(i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордера
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)
            if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной паре
               if(time<OrderCloseTime()){//(сравниваем его с хранящимся в переменной time) 
                  time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
                  profit=OrderProfit();//и заодно запоминаем прибыль ордера
               }
            }
         }
   }
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.
//теперь мы можем выставлять условия в зависимости от результата процедуры
   
   if(profit == 0 &&time == 0){//действия если история чистая
      Print("история чистая");
   }
   if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
      Print("последний ордер был прибыльным, или нулевым");
   }
   if(profit <  0 ){//действия если последний ордер был убыточным
      Print("последний ордер был убыточным");
   }
return(profit);// вернем в качестве результата функции значение прибыли последнего ордера из истории, так на всякий случай ;)
}
 
Pouvez-vous me dire pourquoi il n'est pas possible de se connecter ici https://www.mql5.com/ru/auth_login ? Je n'arrive pas à saisir mon nom d'utilisateur et mon mot de passe (le curseur ne clignote pas ou il n'y a pas de curseur du tout).
 
yosuf:
Pouvez-vous me dire pourquoi il est impossible de se connecter ici https://www.mql5.com/ru/auth_login ? Je n'arrive pas à saisir mon nom d'utilisateur et mon mot de passe (le curseur ne clignote pas ou il n'y a pas de curseur du tout).

Il y a quelque chose qui ne va pas chez vous.

J'ai essayé. Je me suis connecté sans problème.

 
Messieurs, expliquez-nous s'il vous plaît ce qu'il en est de la réduction... Eh bien, le drawdown maximum est clair, mais le drawdown relatif est relatif à quoi ? et aussi le drawdown absolu... il n'est même pas spécifié en %, qu'est-ce que c'est ?
 
DhP:

Il y a quelque chose qui ne va pas chez vous.

J'ai essayé. Je suis entré sans problème.

Que dois-je faire, me réinscrire ? Où puis-je trouver de l'aide ?
 
yosuf:
Que dois-je faire, me réinscrire ? Ou bien où puis-je trouver de l'aide ?
J'essaierais d'abord de redémarrer l'ordinateur...)
 
DhP:
J'essaierais d'abord de redémarrer l'ordinateur...)

Le redémarrage n'a pas aidé
 

Quelle est la raison pour laquelle dans l'EA pour OrderModify parfois la modification est faite automatiquement et parfois la fenêtre est affichée et vous devez appuyer sur le bouton pour confirmer (la fenêtre qui s'ouvre avec F9 dans MT).

Il y a juste une ligne OrderModify(......) dans le code et la logique décrite ci-dessus n'est pas exactement implémentée.

J'ai l'idée que si l'OrderModifu échoue, la société de courtage enverra un signal pour ouvrir cette fenêtre. Est-ce possible ?

Raison: