Si vous voulez prendre une bougie M30 qui a fermé en même temps que la dernière bougie H1 fermée, il peut s'agir d'une bougie dont l'indice n'est pas seulement 1, mais aussi 2. De plus, il n'est pas clair pourquoi le prix de clôture de M30 est pris, si c'est le même prix de clôture pour la bougie H1 précédente. C'est-à-dire que dans ce cas, il est inutile de demander le prix de clôture d'une autre TF, car il est identique au prix de clôture de la TF actuelle.
Ce que nous devons savoir, c'est le prix de clôture de M30 à l'intérieur de H1.
J'ai trouvé la raison, le contrôle de l'ouverture du bar. Merci.
Je veux écrire un code de stratégie binaire simple pour le tester avec le testeur MetaTrader 4. Je sais que le testeur intégré ne teste pas complètement les stratégies binaires, mais j'ai juste besoin de connaître le pourcentage de transactions rentables pendant la période de test. Je ne parviens pas à définir le délai d'expiration d'une transaction. J'utilise l'opérateur OrderSend :
Tout fonctionne bien lorsqu'on effectue des transactions automatisées, mais les conditions du courtier précisent la période d'expiration dans le commentaire de la position. Dans ce cas, mon commentaire est "5". C'est cinq minutes. Toutefois, le testeur ne considère évidemment pas ce commentaire comme une indication de la période d'expiration. Le testeur ne réagit pas du tout aux différentes valeurs du paramètre Expiration. Il ouvre d'abord des transactions en suivant les signaux de la stratégie, puis ferme toutes les transactions ouvertes au cours de la période de test au moment de l'expiration de celle-ci. Par conséquent, le résultat des tests est absolument incorrect.
Comment spécifier une période d'expiration compréhensible pour le testeur ? Je suis encore en train de maîtriser l'"ancienne" version du code.
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
bij: Fermez la position si le temps actuel = le temps d'ouverture de la position plus 5 minutes ou à l'ouverture d'une nouvelle barre, si le cadre temporel est M5.
Et pourquoi la période d'expiration standard dans la liste des paramètres de l'opérateur OrderSend ne peut-elle pas fonctionner ? Il est marqué comme Expiration dans mon exemple.
kirson-7: Pourquoi la période d'expiration standard dans la liste des paramètres de l'opérateur OrderSend ne peut-elle pas fonctionner ? Il est marqué comme Expiration dans mon exemple.
Bonjour à tous : Puis-je prescrire dans une fonction définie par l'utilisateur l'ouverture d'une position(par exemple acheter sur le marché), et appeler cette fonction lorsqu'il y a différents signaux pour acheter ? Par exemple, le MACD a été adressé à cette fonction - position ouverte, le signal _Muwings a été adressé à cette fonction - achat à nouveau.... etc. Ou dans chaque cas spécifique, lorsque le signal est élaboré, il est nécessaire d'écrire OrderSand(Symbol,OP_BAI, etc.) ;
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Si vous voulez prendre une bougie M30 qui a fermé en même temps que la dernière bougie H1 fermée, il peut s'agir d'une bougie dont l'indice n'est pas seulement 1, mais aussi 2. De plus, il n'est pas clair pourquoi le prix de clôture de M30 est pris, si c'est le même prix de clôture pour la bougie H1 précédente. C'est-à-dire que dans ce cas, il est inutile de demander le prix de clôture d'une autre TF, car il est identique au prix de clôture de la TF actuelle.
Ce que nous devons savoir, c'est le prix de clôture de M30 à l'intérieur de H1.
J'ai trouvé la raison, le contrôle de l'ouverture du bar. Merci.
Comment dans l'indicateur comparer, dans la boucle, le prix High[i+1] +/-10*Point avec les fractales inférieures?
si égalité trouvée, mettre la flèche Buf_o[i+1]= High[i+1] ;.
Bonjour !
Je veux écrire un code de stratégie binaire simple pour le tester avec le testeur MetaTrader 4. Je sais que le testeur intégré ne teste pas complètement les stratégies binaires, mais j'ai juste besoin de connaître le pourcentage de transactions rentables pendant la période de test. Je ne parviens pas à définir le délai d'expiration d'une transaction. J'utilise l'opérateur OrderSend :
OrderSend(Symbol(),OP_BUY,1,Ask,10,0,0, "5",15167,Expiration,clrGreen) ;
Tout fonctionne bien lorsqu'on effectue des transactions automatisées, mais les conditions du courtier précisent la période d'expiration dans le commentaire de la position. Dans ce cas, mon commentaire est "5". C'est cinq minutes. Toutefois, le testeur ne considère évidemment pas ce commentaire comme une indication de la période d'expiration. Le testeur ne réagit pas du tout aux différentes valeurs du paramètre Expiration. Il ouvre d'abord des transactions en suivant les signaux de la stratégie, puis ferme toutes les transactions ouvertes au cours de la période de test au moment de l'expiration de celle-ci. Par conséquent, le résultat des tests est absolument incorrect.
Comment spécifier une période d'expiration compréhensible pour le testeur ? Je suis encore en train de maîtriser l'"ancienne" version du code.
Comment puis-je fixer une période d'expiration que le testeur peut comprendre ?
Comment faire pour queHigh[i+1] +/-10*Point ne soit pas exactement égal au prix de la fractale ?
{ //--- if(rates_total<2) return(0); int limit=rates_total-prev_calculated; if(limit>1) { limit=rates_total-2; ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } for(int i=limit; i>=0; i--) { // BufferUP[i+1]=EMPTY_VALUE; // for(int y=i+2;y<=i+100;y++) { if(low[i+1]==iFractals(Symbol(),0,MODE_HIGH,y))estb=true; } if(estb) { BufferUP[i+1]=low[i+1]-distance*Point;//НЕПРАВИЛЬНО СТАВИТ СТРЕЛКУ } estb=0; //==// for(int y=i+2;y<=i+100;y++) { if(high[i+1]==iFractals(Symbol(),0,MODE_LOWER,y))ests=true; } if(ests) { BufferDN[i+1]=high[i+1]+distance*Point;//ПРАВИЛЬНО СТАВИТ СТРЕЛКУ } ests=0; //Comment(""); } return(rates_total); }Comment faire pour queHigh[i+1] +/-10*Point ne soit pas exactement égal au prix de la fractale ?
Fermez la position si le temps actuel = le temps d'ouverture de la position plus 5 minutes ou à l'ouverture d'une nouvelle barre, si le cadre temporel est M5.
Pourquoi la période d'expiration standard dans la liste des paramètres de l'opérateur OrderSend ne peut-elle pas fonctionner ? Il est marqué comme Expiration dans mon exemple.