Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 676

 

Artyom Trishkin:

On dirait que j'ai trop travaillé...

On dirait que... ))))))

Lorsque vous créez un EA en suivant les instructions de l'aide et des tutoriels de toutes sortes, il crée exactement le modèle en question. C'est comme ça que je l'ai compris. Ensuite, certains endroits de ce modèle sont corrigés. Personnellement, je n'aime pas que OnDeinit() se trouve avant OnTick() et je le déplace à la toute fin du code. Et je n'aime pas non plus certains éléments non essentiels ..... Bref, j'ai mes propres petits insectes dans la tête...

 
Andrey Sokolov:

C'est évident, je suis aussi intéressé par le modèle lui-même.

il ya environ 5 ans, exactement était un modèle dans le dossier metaeditora, avant les règles pour moi-même, maintenant creuser tout dans le dossier terminal - n'ont pas trouvé, mais il devrait être quelque part, il y avait un fichier texte brut

ZS :

j'ai trouvé mes anciens terminaux, pas dans la distribution - déjà déployés

il y avait autrefois des modèles/indicateurs/scripts/librairies d'experts, tout était en route :

.... ¡experts\templates

et les fichiers s'y trouvaient :

Inclure.mqt

Bibliothèque.mqt

Expert.mqt

Indicateur.mqt

Script.mqt


J'ai essayé de copier le dossier des modèles dans le dossier de MT4 installé... sans succès ((()

Dossiers :
templates.zip  7 kb
 
Igor Makanu:

il y a environ 5 ans, il y avait un modèle dans le dossier de l'éditeur de méta, j'avais l'habitude de l'éditer pour moi-même, maintenant j'ai cherché dans le dossier du terminal et je ne l'ai pas trouvé, mais il doit être quelque part, c'était juste un fichier texte simple

ZS :

j'ai trouvé mes anciens terminaux, pas dans la distribution - déjà déployés

il y avait autrefois des modèles/indicateurs/scripts/librairies d'experts, tout était en route :

.... ¡experts\templates

et les fichiers s'y trouvaient :

Inclure.mqt

Bibliothèque.mqt

Expert.mqt

Indicateur.mqt

Script.mqt


J'ai essayé de copier le dossier des modèles dans le dossier de MT4 installé... sans succès ((()

Il y a longtemps que les MCs ont abandonné de tels modèles.

 
Igor Makanu:

il y a environ 5 ans, il y avait un modèle dans le dossier de l'éditeur de méta, j'avais l'habitude de l'éditer pour moi-même, maintenant j'ai cherché dans le dossier du terminal et je ne l'ai pas trouvé, mais il doit être quelque part, c'était juste un fichier texte

ZS :

j'ai trouvé mes anciens terminaux, pas dans la distribution - déjà déployés

il y avait autrefois des modèles/indicateurs/scripts/librairies d'experts, tout était en route :

.... ¡experts\templates

et les fichiers s'y trouvaient :

Inclure.mqt

Bibliothèque.mqt

Expert.mqt

Indicateur.mqt

Script.mqt


J'ai essayé de copier le dossier des modèles dans le dossier de MT4 installé... Hélas, rien ((()

Hélas, à nouveau "hélas, rien" - même dans MT4 !

Je ne comprends pas ce qui se passe !

Igor !

Vous devez vous "mettre à niveau" !

Sinon, ce ne serait pas bon ! Ils disent des choses différentes sur vous au Forum ! !!

 
Igor Makanu:

Peu importe ce que les gens disent de vous, ce qui compte c'est ce que les gens disent de vous. (С)

Lorsque vous citez les pensées de personnes intelligentes (par opposition à vous-même) - vous devriez faire une référence !!!

Selon les règles de publication, il doit en être ainsi. Pour distinguer les imbéciles des intelligents.

https://socratify.net/quotes/iuristy-bostona/171580

Bien que Mussolini ait dit la même chose.

Не важно, что о тебе говорят, главное, что о тебе говорят
  • socratify.net
Если хочешь узнать человека, не слушай, что о нём говорят другие, послушай, что он говорит о других. Не важно, что тебе скажут другие о начале твоего пути. Важно, что они скажут после того когда ты добьешься своей цели. Вы знаете, что такое обаяние? Умение почувствовать, как тебе говорят «да», хотя ты ни о чем не спрашивал. Настоящий друг — это...
 
neverness:

Lorsque vous citez les pensées de personnes intelligentes (contrairement à vous), vous devriez faire une référence ! !!

C'est comme ça que ça doit être, selon les règles de l'édition. Pour distinguer les imbéciles des intelligents.

On s'appelle par nos prénoms maintenant ? OK

Vous avez choisi le mauvais forum pour déverser votre bile, comme vous l'avez demandé : "C'est drôle de regarder un homme qui veut vous offenser. Comme un singe qui jette du caca. Vous êtes derrière la vitre et il a toutes ses pattes dans le ***" (internet).

 
Igor Makanu:

SELECT_BY_POS consiste à sélectionner une commande "par file d'attente" dans la liste des commandes, et dans votre conception :

Vous essayez de sélectionner une commande qui est par file d'attente de commande # ... et vous utilisez le numéro de ticket ici, et vous avez seulement 1 commande et le numéro de ticket 10023444... et alors ? ici vous avez besoin d'un nombre de 1 à 2,3 ... bien, combien d'ordres vous avez sur le marché,... corrigez le nombre de 0,1,2 ... - La numérotation commence par 0 dans le tableau et va jusqu'àOrdersTotal()-1

SELECT_BY_TICKET devrait fonctionner, mais seulement jusqu'au moment où vous avez le numéro du ticket, c'est-à-dire l'ordre que vous avez sur le marché, et au-dessus vous avez une vérification de l'envoi de l'ordre, et si l'ordre n'est pas envoyé, le ticket = -1 !

Si vous avez décidé d'étudier le système MQL, voici des exemples prêts à l'emploi pour travailler avec des commandeshttps://www.mql5.com/ru/forum/131859.

Merci pour votre aide ! Le fait est que la commande a été ouverte. J'ai vérifié. Le billet a été attribué. Mais plus loin, en essayant de le sélectionner, j'ai obtenu un message -1. Contrairement à l'exemple que vous avez donné, je ne sélectionne pas un symbole, etc. J'ai un ordre, avec un lot et une transaction connus, sans Stop Loss/Take Profit, etc. C'est dans cette conception (elle est choisie pour la simplicité) que j'obtiens une erreur 4051 lorsque j'utilise le paramètre SELECT_BY_TICKET. Je comprends que l'utilisation de SELECT_BY_POS dans ce cas n'est pas correcte. Il s'agissait d'une expérience visant à mieux comprendre le fonctionnement du testeur de stratégie. Cette expérience a montré que le testeur de stratégie n'attribue pas les tickets alloués par le serveur lorsqu'il ne peut pas contacter le serveur, mais attribue simplement des numéros ordinaux. Néanmoins, la question demeure de savoir pourquoi l'erreur 4051 se produit. En outre, j'ai essayé de mettre 0 dans OrderSelect en combinaison avec SELECT_BY_POS comme premier paramètre. La réponse est la même 4051.
 
ski1973:
Merci pour votre aide ! Le fait est que la commande a été ouverte. J'ai vérifié. Un ticket a été attribué. Mais j'ai reçu un message -1 lorsque j'ai essayé de le sélectionner. Contrairement à l'exemple que vous avez donné, je ne sélectionne pas un symbole, etc. J'ai un ordre, avec un lot et une transaction connus, sans Stop Loss/Take Profit, etc. C'est dans cette conception (elle est choisie pour la simplicité) que j'obtiens une erreur 4051 lorsque j'utilise le paramètre SELECT_BY_TICKET. Je comprends que l'utilisation de SELECT_BY_POS dans ce cas n'est pas correcte. Il s'agissait d'une expérience visant à mieux comprendre le fonctionnement du testeur de stratégie. Cette expérience a montré que le testeur de stratégie n'attribue pas les tickets alloués par le serveur lorsqu'il ne peut pas contacter le serveur, mais attribue simplement des numéros ordinaux. Néanmoins, la question reste de savoir pourquoi l'erreur 4051 se produit. En outre, j'ai essayé de mettre 0 dans OrderSelect en combinaison avec SELECT_BY_POS comme premier paramètre. La réponse est la même 4051.

Si je ne me trompe pas, le testeur de stratégie génère des tickets simplement par file d'attente d'ordre : 1,2,3...

hélas, vous devez chercher l'erreur 4051 vous-même, réimprimez toutes les variables que vous passez à OrderSelect

Sinon, vous avez déjà sélectionné un ordre fermé et l'heure de clôture de l'ordre fermé sera >0,

Mais je conseillerais quand même de commencer à étudier avec des codes déjà existants (qui fonctionnent), c'était plus facile pour moi !

 
ski1973:
Merci pour votre aide ! Le fait est que la commande a été ouverte. J'ai vérifié. Le billet a été attribué. Mais plus loin, en essayant de le sélectionner, j'ai obtenu un message -1. Contrairement à l'exemple que vous avez donné, je ne sélectionne pas un symbole, etc. J'ai un ordre, avec un lot et une transaction connus, sans Stop Loss/Take Profit, etc. C'est dans cette conception (elle est choisie pour la simplicité) que j'obtiens une erreur 4051 lorsque j'utilise le paramètre SELECT_BY_TICKET. Je comprends que l'utilisation de SELECT_BY_POS dans ce cas n'est pas correcte. Il s'agissait d'une expérience visant à mieux comprendre le fonctionnement du testeur de stratégie. Cette expérience a montré que le testeur de stratégie n'attribue pas les tickets alloués par le serveur lorsqu'il ne peut pas contacter le serveur, mais attribue simplement des numéros ordinaux. Néanmoins, la question reste de savoir pourquoi l'erreur 4051 se produit. En outre, j'ai essayé de mettre 0 dans OrderSelect en combinaison avec SELECT_BY_POS comme premier paramètre. La réponse est la même 4051.

Vous avez un problème dans votre code.

double Lots=0.01;
int slippage=30;


void OnTick()
{
int numer=-10;//На каждом новом тике из за этого присвоения процедура Subr2 будет возвращать ошибку!!!
if(OrdersTotal()==0)numer=Subr1();
if(OrdersTotal()>0)Subr2(numer);
return;
}

int Subr1()
{
int result=-1;
int_result=OrderSend(_symbol,OP_BUY,Lots,slippage,0,0);
if(int_res<0){PrintFormat("OrderSend error = ",GetError());}
return int_result;
}
void Subr2(int order)
{
if(!OrderSelect(order,SELECT_BY_TICKET,MODE_TRADES)){PrintFormat("OrderSelect error %d",GetLastError());return;} else PrintFormat("Ok, OrderTicket = ",OrderTicket());
}
 
bonjour, des informations sur le support de mql4 dans le futur, alors qu'il semble que les ventes de mt4 aient cessé ?