Erreurs, bugs, questions - page 941

 
Rosh:

Consultez l'aide intégrée du terminal - Aide MetaTrader 5Prise en mainLancement du terminal:

Si vous ne voulez pas avoir de problèmes avec le système de sécurité - n'installez pas le terminal dans/Program Files/ .

Lire aussi l'article Une plongée rapide dans MQL5


Merci .....
 
Yedelkin:

Je voulais créer un script qui inspecte la ligne de l'indicateur (similaire à la MA, mais dans une fenêtre séparée et remise à 0, mais ce n'est pas le sujet) pour le swing à zéro, les croisements, etc, puis le script change les paramètres de l'indicateur et l'analyse à nouveau, le résultat est un tableau avec les données, ou plutôt un fichier avec les résultats

je ne peux pas l'utiliser comme un script, donc maintenant je fais comme des hiboux qui regardent les valeurs de l'indicateur pendant l'optimisation et les sauvegardent dans la fonction DeInit, en ajoutant les données à chaque passage. le résultat sera le même tableau avec les mêmes 10000 valeurs de l'indicateur


d'autres suggestions seront les bienvenues

 

Dans l'ensemble, cela a fonctionné, bien que ce soit plus lent via le testeur que via le script, mais un nombre quelconque d'indicateurs,

Et lors des tests, j'ai dû désactiver tous les cœurs, ne tester que sur 1 seul car les résultats sont divisés en plusieurs parties, mais je pense qu'il est plus facile de tout copier dans un seul fichier que d'attendre.

 

Pourquoi terminal.exe charge-t-il un processeur 2x core 50% alors qu'il y a 7-10 indicateurs personnalisés actifs, MT4 ne se charge pas ?

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
dav1977:

Pourquoi terminal.exe occupe-t-il 50 % du processeur sur 2 cœurs avec 7 à 10 indicateurs personnalisés actifs, alors que MT4 ne se charge pas ?

Pas assez de détails. Comment comparez-vous ? Quels indicateurs exactement ? Que se passe-t-il d'autre dans le terminal ? Avez-vous le code source des indicateurs ? Sur quel symbole/période ?

 
J'ai l'impression que MT5 fonctionne sur un seul agent CPU. Par exemple, sur un processeur à 4 cœurs, MT5 consommerait 25 % de la puissance. Par exemple, lors d'un test ou d'un travail normal sur mon 2-cœurs, il est également de 50%, mais lors de l'optimisation, il charge tous les agents et passe à 100%.
 

Bonjour. Le problème dans MetaTrader FOUR

Problème avec les ordres en attente dans le testeur, notamment la date d'expiration.

   ticket=OrderSend(symb, OP_SELLLIMIT, Lots, price, Slippage, 0, 0, lsComm, mn, TimeCurrent() + 60*60, op_color);

C'est ainsi qu'un nouvel ordre est ouvert, c'est-à-dire que s'il n'a pas été déclenché dans une heure, le serveur doit le fermer.

Ensuite, je vérifie quelle est la date d'expiration :

   if (ticket>0)
   {
    OrderSelect(ticket, SELECT_BY_TICKET);
    Alert("OrderExpiration = ", TimeToStr(OrderExpiration(), TIME_DATE),":",TimeToStr(OrderExpiration(), TIME_MINUTES)); 
.......
   } 

Voici ce que j'obtiens lorsque l'EA fonctionne dans le testeur :

2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1 : open #1 sell limit 2.00 EURUSD à 1.27972 ok
2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1 : Alerte : OrderExpiration = 2012.01.11:12:00
2013.03.01 12:45:58 2012.01.12 16:29 Testeur : ordre #1, vendre 2.00 EURUSD est ouvert à 1.27972

Autrement dit, la date et l'heure d'expiration sont correctement définies, comme je le souhaite, mais je ne ferme pas à l'heure d'expiration - une position est ouverte après 24 heures.

J'ai fait des recherches sur quelques forums, le problème existe depuis longtemps.

 
alexvd:

Peu de détails. Comment comparez-vous ? Quels indicateurs ? Que se passe-t-il d'autre dans le terminal ? Avez-vous le code source des indicateurs ? Sur quel symbole/période ?

Comparaison des indicateurs dans MT4 que j'ai écrits et transférés dans MT5. Seulement des indicateurs dans le terminal. J'ai des sources. Le RTS fuchs ne dépend pas du symbole. Période M1

Le problème est qu'à cause de la charge CPU, les nouvelles bougies et les prix cessent de dessiner ! !!!!!!!!!!!!!!.

(Figures https://www.mql5.com/ru/forum/9926/page4 )

БКС запустила MetaTrader 5 на ФОРТС
БКС запустила MetaTrader 5 на ФОРТС
  • www.mql5.com
MetaTrader 5 - программа, предназначенная для торговли через интернет на рынке ФОРТС и других финансовых рынках.
 
dav1977:

Comparaison des indicateurs dans MT4 que j'ai écrits et transférés dans MT5. Seulement des indicateurs dans le terminal. J'ai des sources. Le RTS fuchs ne dépend pas du symbole. Période M1

Le problème est qu'à cause de la charge CPU, les nouveaux chandeliers et les prix ARRÊTENT de se dessiner ! !!!!!!!!!!!!!!.

(Figures https://www.mql5.com/ru/forum/9926/page4 )

Je soupçonne que le transfert du 4 a pu être fait sans tenir compte des particularités du 5. Et la charge CPU et le rendu des chandeliers n'est qu'une conséquence de calculs trop lourds ou de cycles d'attente etc. dans OnCalculate.
 

Bonjour à tous, je demande l'aide de personnes expérimentées.

La situation est la suivante. J'essaie un MT5 sur le forex. J'ai un conseiller expert qui place des ordres d'achat et de vente en suspens par le signal.

Lorsque j'exécute le conseiller expert dans le testeur de stratégie, je remarque qu'un ordre d'achat stop placé par le conseiller expert est déclenché (une transaction est ouverte) plus tôt qu'il ne devrait l'être en fonction du prix auquel l'ordre doit être exécuté.

La structure d'une demande de transaction pour placer un ordre d 'achat stop en attente est la suivante :

mrequest.action = TRADE_ACTION_PENDING;                                         
mrequest.symbol=_Symbol;                                                       
mrequest.volume= Lots;                                                         
mrequest.price = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);        
mrequest.stoplimit = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);    
mrequest.tp = NormalizeDouble(mrate[1].close+StopSellTake*_Point,_Digits);       
mrequest.type = ORDER_TYPE_BUY_STOP;                                            
mrequest.type_filling = ORDER_FILLING_RETURN;                                      
mrequest.type_time = ORDER_TIME_SPECIFIED_DAY;      
mrequest.expiration = TimeCurrent();

Dans les expressions

mrate[1].close+StopSell

и

mrate[1].close+StopSellTake

Il n'y a pas d'erreur, ils nous donnent le prix auquel l'ordre doit être exécuté et le prix du Take Profit.


En conséquence, ma question est la suivante : à quel prix MT5 vérifie-t-il les conditions de déclenchement des ordres d'achat et de vente stop en suspens - au cours vendeur et acheteur ou au cours de la dernière transaction ?

Puisque vous allez utiliser le conseiller expert sur les FORTS réels, je veux que le prix de déclenchement soit le prix de la dernière transaction.

Je pars du principe que le prix de déclenchement du test est soit un cours vendeur, soit un cours acheteur ; par conséquent, le prix de déclenchement approprié n'est pas disponible sur le graphique au dernier cours de la transaction. J'ai lu dans le manuel que "Le déclenchement des ordres pour les instruments en "mode d'exécution Exchange" est effectué au dernier prix (prix de la dernière transaction exécutée). Je vérifie le mode d'exécution pour le symbole dont j'ai besoin RIH3

Print("Режим исполнения сделок: ", SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE));

le terminal renvoie le message "Mode d'exécution des transactions : 3". 3 semble être une exécution d'actions, c'est-à-dire que le prix de déclenchement devrait être Last. Mais les ordres en attente sont exécutés comme avant lorsque le prix de déclenchement n'est pas encore sur le graphique.

Je teste sur le serveur de démonstration du courtier FORTS.