Erreurs, bugs, questions - page 970

 
zfs:
C'est même effrayant de l'exécuter.)
Et il n'y a pas besoin d'exécuter ce qui est dans la pièce jointe. C'est pour ceux qui veulent le tester. Mais, si des indicateurs avec des calculs lourds sont utilisés, ce moment peut affecter. Il est nécessaire de vérifier.
 

Comment envoyer une requête (message) du client Android au client MetaTrader, par exemple pour envoyer une notification ?

Le seul moyen d'y parvenir est de placer un ordre en attente sur un symbole non utilisé. L'EA le trouvera, enverra un message avec les informations requises et supprimera l'ordre en attente.

 

Bonjour !

Dans la version 19.04.13, le débogueur a commencé à afficher le contenu de MqlRate entre crochets. Merci MQ pour ça ! Est-il prévu de rendre l'affichage de ces données extensible ? Dans le sens de ressembler à un arbre. Cela pourrait être étendu aux classes également.

Merci !

Par exemple :

CAbstractFilter{ meSS:CStrategySettings{ meEntrancePeriod:PERIOD_M15 meHistoryDepth:100 meSymbol : "EURUSD" meHistoryRates :[100] meRangeLimit:0.2 meHiLo:0.006 meHiLoMax:0.02 meTimeStart :" 06:00" meTimeEnd :" 20:00" meAsianStart :" 00:00" meAsianEnd :" 07 :... }

Mieux :

CAbstractFilter :

+ { meSS:CStrategySettings

+ { { meEntrancePeriod:PERIOD_M15

meHistoryDepth:100

meSymbol : "EURUSD" (en anglais)

meHistoryRates : [100]

meRangeLimit:0.2}

et ainsi de suite, à l'instar de l'arborescence des répertoires dans l'Explorateur Windows.

Merci !

 

Rebonjour !

Le pas vers le curseur serait très utile dans le débogueur. Espérons qu'il apparaîtra un jour. J'apprécie vos commentaires à l'avance sur les délais possibles.

Merci !

 

Quelqu'un a-t-il rencontré un tel problème en utilisant la bibliothèque standard?

RF      0       19:42:38        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
RJ      0       19:42:38        Trades  '1001326': deal #204868 sell 1.00 ED-6.13 at 1.3058 done (based on order #2946444)
OQ      0       20:30:54        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DJ      0       20:30:55        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
FF      0       20:30:55        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DO      0       20:30:55        Trades  '1001326': deal #204952 buy 1.00 ED-6.13 at 1.3054 done (based on order #2946510)
FK      0       20:30:55        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
HG      0       20:30:55        Trades  '1001326': deal #204953 buy 1.00 ED-6.13 at 1.3054 done (based on order #2946511)
LO      0       20:30:55        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
NS      0       20:30:55        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
NK      0       20:30:55        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
LN      0       20:30:55        Trades  '1001326': deal #204954 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946512)
OR      0       20:30:56        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
EG      0       20:30:56        Trades  '1001326': deal #204955 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946513)
ME      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
IN      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
OI      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
JS      0       20:30:56        Trades  '1001326': deal #204956 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946514)
GO      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
NJ      0       20:30:56        Trades  '1001326': deal #204957 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946515)
JD      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
PO      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
HP      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
JJ      0       20:30:57        Trades  '1001326': deal #204958 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946516)
DM      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
RS      0       20:30:57        Trades  '1001326': deal #204959 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946517)
JI      0       20:30:57        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
GS      0       20:30:58        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
IM      0       20:30:58        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
OF      0       20:30:58        Trades  '1001326': deal #204960 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946518)
ID      0       20:30:58        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
KN      0       20:30:58        Trades  '1001326': deal #204961 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946519)
OP      0       20:30:58        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
QJ      0       20:30:58        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
QL      0       20:30:58        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
KG      0       20:30:58        Trades  '1001326': deal #204962 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946520)
NI      0       20:30:59        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
DO      0       20:30:59        Trades  '1001326': deal #204963 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946521)
PM      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DG      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
NQ      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
GJ      0       20:30:59        Trades  '1001326': deal #204964 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946522)
FH      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
KR      0       20:30:59        Trades  '1001326': deal #204965 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946523)
OL      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
IF      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
QH      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
CS      0       20:31:00        Trades  '1001326': deal #204966 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946524)
ME      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
KK      0       20:31:00        Trades  '1001326': deal #204967 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946525)
PP      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DK      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
FE      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
ON      0       20:31:01        Trades  '1001326': deal #204968 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946526)
FL      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
KF      0       20:31:01        Trades  '1001326': deal #204969 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946527)
LH      0       20:31:01        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
KR      0       20:31:02        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
KD      0       20:31:02        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
HO      0       20:31:02        Trades  '1001326': deal #204970 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946528)
OQ      0       20:31:02        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
PD      0       20:31:02        Trades  '1001326': deal #204971 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946529)
MD      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
IO      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
OH      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
JR      0       20:31:02        Trades  '1001326': deal #204972 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946530)
GP      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
MM      0       20:31:03        Trades  '1001326': deal #204973 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946531)
JE      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
PN      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
HQ      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
RK      0       20:31:03        Trades  '1001326': deal #204974 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946532)
DL      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
GP      0       20:31:03        Trades  '1001326': deal #204975 sell 1.00 ED-6.13 at 1.3051 done (based on order #2946533)
CH      0       20:31:04        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
OD      0       20:31:04        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
NN      0       20:31:04        Trades  '1001326': deal #204976 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946534)

J'ai essayé de fermer une position SELL, bien que la vérification du conseiller expert soit que nous vérifions d'abord le type de position.

if(PositionSelect(_Symbol) && PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         trade.PositionClose(_Symbol);

        }

J'ai reçu beaucoup d'inversions de position en conséquence, jusqu'à ce que ma demande soit rapidement exécutée.

le code Expert Advisor est bouclé avec un glissement de 300 ms

Le résultat -100 roubles.

Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
olyakish:

Quelqu'un a-t-il eu des problèmes avec cela ?

le rake n'est pas dans la librairie, car il reflète l'essence de l'asynchronisme de MT5

Vous avez un râteau dans votre code car vous n'avez pas effectué le blocage des nouveaux ordres avant d'avoir obtenu la réponse sur l'exécution de l'ordre précédent.

Dans MT5, vous devez organiser indépendamment quelque chose de similaire à Trade Context Busy pour l'ordre envoyé, comme c'était le cas dans MT4.

Vous ne devez pas faire de nouvelles tentatives pour envoyer un ordre similaire avant d'avoir vu le rapport d'exécution de l'ordre précédent.

Vous devez attraper l'exécution soit dans OnTrade soit dans OnTradeTransaction.

Bonne chance. ;)

 

Je me sens rassasié.

Dans l'indicateur, j'affecte une valeur à une variable.

#property indicator_separate_window

...

int x;//

int OnInit()

{

}

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],
                const double &high[],const double &low[],const double &close[],const long &tick_volume[],
                const long &volume[],const int &spread[])
  {

 if(prev_calculated==0){

//при 1-м запуске присваиваю значение

x=у;//у!=7558445

}

else

{

Print(x);//здесь x уже =7558445.

}

}

Qu'est-ce que je fais de mal ?

 
Mais maintenant c'est bon, bien que le code n'ait pas été modifié. Je viens de redémarrer le terminal. Et ce bogue est lié à la disparition de l'histogramme, qui a été mentionné plus tôt, et qui apparaît et disparaît. A quoi cela peut-il être dû ?
 
sergeev:

le rake n'est pas dans la librairie, car il reflète l'essence de l'asynchronisme de MT5

Vous avez un râteau dans votre code car vous n'avez pas effectué le blocage des nouveaux ordres avant d'avoir obtenu la réponse sur l'exécution de l'ordre précédent.

Dans MT5, vous devez organiser indépendamment quelque chose de similaire à Trade Context Busy pour l'ordre envoyé, comme c'était le cas dans MT4.

En d'autres termes, vous ne devez pas faire de nouvelles tentatives pour envoyer un ordre similaire tant que vous n'avez pas vu le rapport d'exécution de l'ordre précédent.

Vous devez attraper l'exécution soit dans OnTrade soit dans OnTradeTransaction.

Bonne chance. ;)

Oui, c'est ce que je pensais déjà, je vais devoir faire des analyses supplémentaires. Merci de confirmer mon hypothèse
 
Comment puis-je connaître l'intervalle de test défini à partir de OnTester() ?
Raison: