Besoin d'aide ? - page 3

 
Jimdandy:

Je pense qu'avec cette #propriété stricte, vous devrez initialiser ce i,j,k à une valeur...


PipPip...Jimdandy

Tes flèches sont mignonnes
 
 
int init() 
{
   int i=0,j=0,k=0;//initialize the variables to zero (now required with #property strict line that is at top of file.
   string ls;      //strings are initialized implicitly by compiler.
   while (true) {  //this loop will run until it breaks out of it at the break;.
        j=StringFind(LotsProgression,";",i);
        //Look in the LotsProgression string for a semicolon (LotsProgression="0.1;0.2;0.3")
        //Start looking from position i (which we initialized to 0 above)and 0 is the first position of the string. 
        //So it starts at the beginning of the string looking for ; and as you can see in the string above position 0=0,.=1,1=2,;=3... semicolon at position 3
        // now j=3; 
	if (j>0) {    //true.. j is 3 now.
        ls=StringSubstr(LotsProgression,i,j-i);//Get the piece of the string from i(which is 0)to j-1(3-1) which is 2. 0-2 position string is "0.1"
        //ls is now "0.1"
        i=j+1;//now i changes from 0 to 4.
        k++;//k gets incremented up from 0 to 1.
        ArrayResize(lots,k);// lots[] array gets made to the size of k which is 1.
        lots[k-1]=StrToDouble(ls);//the lots[]array is of the double type(remember arrays start at index 0)
	 Here we are inserting "0.1" string but using StrToDouble() to make it a double (floating decimal number)into index [0].
	//now lots[0]=0.1;
        } else {    //otherwise if j was not greater than zero..until we can not find any more semicolons in the string
                    //the following lines will not run and it will never break out of the while loop. So let's say it jumps to the top again.
		    //now remember i=4,j=3 and k=1 now. So it starts looking in the string at position 4(i)for a semicolon and finds one at position 7
		    //ls now become the string from i to j-1 or from 4 to 6 which is again "0.2". now j=7,i=8,k = 2.
		    //lots array gets re-sized to 2 so now it can hold index 0 and 1. and then index position k-1(2-1)=1 gets
		    //populated with the substring "0.2" turned into a double 0.2 lots[1]=0.2;
      		    //Now on the third search of the string it finds no more semicolons and the else statement kicks in.. 	
		    //Now i=8,j=7 and k is 2
        ls=StringSubstr(LotsProgression,i);//it starts at i (position 8 and reads to the end. getting "0.3"
        k++;//k is now 3
        ArrayResize(lots,k);//array now holds 3 indexes(indices)
        lots[k-1]=StrToDouble(ls);lots[2]=0.3.
        break;we are done with this while loop and our lots array is populated like we want!
	//the question is ... why not just declare an array double lots[] = {0.1,0.2,0.3};
        }
   }
   plen=ArraySize(lots);//in this case plen is now 3..which is not used.
}
Je sais faire des flèches... et pourtant je ne sais pas comment faire un smiley..... :-(......or a tongue sticker outer face.... :-%
PipPip....Jimdandy...
 
Jimdandy: Je pense qu'avec cette #property strict vous devrez initialiser ce i,j,k à une valeur...
  1. Veuillez ne pas poster d'images du code ou de la documentation. Pour le code, utilisez le SRC. Pour la documentation, utilisez le bouton liens.
  2. int init()
    {
       int i,j, k;
       string ls;
       while (true) {
          j=stringFind(LotsProgression,";",i);
          if (j>0) {
             ls=StrngSubstr(..._
             i=j+1;
             k++;
       :
    
    I et j sont initialisés avant utilisation. K suppose à tort une valeur initiale de zéro et doit être initialisé correctement.
 
WHRoeder:
  1. Veuillez ne pas poster d'images du code ou de la documentation. Pour le code, utilisez le SRC. Pour la documentation, utilisez le bouton liens.
  2. I et j sont initialisés avant utilisation. K prend à tort une valeur initiale de zéro et doit être initialisé correctement.

Excusez-moi de monter sur cette tribune... je m'excuse d'avance.....

1. Mes excuses, je n'avais certainement pas l'intention d'enfreindre l'une de vos règles d'affichage.
Je pensais plutôt à la manière d'aider quelqu'un à mieux comprendre mql4.
Je passe parfois des heures à décider de la meilleure façon de répondre au problème de quelqu'un.
Je choisis le meilleur moyen que je connaisse pour faire passer mon message. Dans ce processus, je
peut en effet ne pas le faire de la manière que vous pensez être la meilleure manière
de le faire sur ce site. Cependant, je pense que les gens apprennent de ce que je peux
de trébucher et de mettre ici. Tu dois réaliser que tout le monde ne sait pas
comment utiliser ce site comme vous le faites.

2. Suggestion :
Que diriez-vous de faire une vidéo sur la façon d'utiliser correctement les fonctionnalités de ce site
et sur la façon d'utiliser correctement cet éditeur lorsque vous laissez un message ? Ou au moins me donner
un lien vers cette vidéo
.

3. Si je veux partager une phrase ou un paragraphe de la documentation avec quelqu'un, je ne vais pas simplement coller un lien vers un site web.
Je ne vais pas simplement coller un lien vers une page entière de documentation et obliger les gens à chercher dans cette page et à essayer de comprendre quelle partie est la bonne.
page et à essayer de comprendre quelle partie je veux qu'ils lisent.

4. Une ligne comme....
"2. I et j sont initialisés avant utilisation. K prend à tort une valeur initiale de zéro et doit être initialisé correctement."

5. C'est un exemple classique de quelqu'un qui semble incroyablement intelligent et talentueux et qui maîtrise le code, mais qui ne comprend pas qu'il s'adresse à des personnes non instruites.
ne saisit pas le fait qu'il parle à des masses non éduquées. Soit ça, soit vous présumez que vous êtes
que vous parlez à ceux qui vous sont intellectuellement inférieurs et vous aimez leur montrer à quel point vous êtes intelligent.
Les programmeurs qui savent ce qu'ils font ne lisent PAS vos messages. Ils savent déjà tout ce que
vous avez à partager. Ce sont les ignorants qui lisent ces messages et qui essaient de s'améliorer.

6. Je ne sais pas ce qu'il en est pour vous. Si vous êtes réellement préoccupé par le fait que d'une manière ou d'une autre ce site va
de ressembler à une page Facebook et que vous voulez vraiment promouvoir une meilleure compréhension de mql4,
et aider les autres tout en gardant le site en ordre, ou, vous êtes dans une sorte de trip égoïste courant partout sur
le site comme un policier guettant quelqu'un qui mettrait une flèche au mauvais endroit. J'espère que ce n'est pas le cas.

7. Ce que je sais, d'après les courriels et les réactions des traders et des programmeurs, c'est que de nombreuses personnes ont cessé de venir ici pour demander, répondre ou contribuer.
de venir ici pour demander ou répondre ou contribuer à leurs connaissances sur ce site en raison de la manière grossière et odieuse dont ils sont traités, eux ou d'autres, lorsqu'ils demandent ou répondent à des questions.
eux-mêmes ou d'autres sont traités lorsqu'ils posent ou répondent à une question. Ils sont harcelés parce qu'ils ne postent pas dans le
format approprié, quelle que soit la légitimité de leur question ou la valeur de leur contribution pédagogique.
Seuls ceux qui sont vraiment désespérés restent.

8. Il y a des exemples sur ce site de personnes qui posent une simple question à laquelle on pourrait répondre en moins de temps qu'il n'en faut pour le faire.
moins de temps qu'il n'en faut pour les condamner parce qu'ils n'ont pas cherché sur le site, qu'ils ont posté au bon endroit ou qu'ils ont inclus la mauvaise image.
Vous pouvez en fait entendre la peur dans leurs questions au moment où ils les posent. La peur de faire quelque chose qui contrarie les Dieux du mql4 .

9. Au lieu de cela, ils se sentent malvenus et leurs questions sont ignorées. Pourquoi ne pas leur suggérer la bonne façon de poster
ET répondre à leur question ? C'est une honte absolue. Personne ne gagne. Tout le monde perd. L'étudiant reste perdu, ceux qui
ceux qui ont la capacité d'aider restent silencieux, et mql4.com devient un endroit de moins en moins désirable à visiter.

10) "Il y a plus de bonheur à donner qu'à recevoir", nous dit-on.
Je suis heureux d'aider les autres sur Mql4.com, mais cette joie s'estompe rapidement.
Si nous devons constamment craindre de nous faire taper sur les doigts pour avoir tendu la main à quelqu'un dans le besoin, il n'y a plus de joie, seulement de la crainte.
plus de joie, seulement de la crainte.

11. Est-ce qu'il y a quelqu'un d'autre qui ressent la même chose ou est-ce que je suis à côté de la plaque ? Puis-je avoir un Amen ?
Ok, je descends de ma tribune...
Et j'aime toujours ton avatar....
PipPip...Jimdandy

 
C'est génial, vous avez tous fait un excellent travail. Je suis vraiment reconnaissant à vous tous que vous partagez ce contenu ici avec nous. C'est vraiment appréciable et je voudrais dire merci à vous que vous partagez ce post ici avec nous.
 
Jimdandy:

7. Ce que je sais, d'après les e-mails et les réactions des traders et des programmeurs, c'est que de nombreuses personnes ont cessé de venir ici pour demander, répondre ou contribuer.
de venir ici pour demander ou répondre ou contribuer à leurs connaissances sur ce site en raison de la manière grossière et odieuse dont ils sont traités, eux-mêmes ou d'autres, lorsqu'ils demandent ou répondent à des questions.
eux-mêmes ou d'autres sont traités lorsqu'ils posent ou répondent à une question. Ils sont harcelés parce qu'ils ne postent pas dans le
format approprié, quelle que soit la légitimité de leur question ou la valeur de leur contribution pédagogique.
Seuls ceux qui sont vraiment désespérés restent.


PipPip...Jimdandy


Pour être honnête, j'ai décidé de réduire ma participation à ces forums car je les trouve généralement négatifs. Il semble que l'on présume que personne ne sait de quoi il parle, à l'exception d'une poignée de personnes. Certains individus ne respectent manifestement pas l'opinion de la plupart des autres tout en exprimant librement leurs propres opinions ailleurs, et ont une tournure de phrase que je trouve si systématiquement et inutilement grossière que je me demande souvent comment ils interagissent avec les gens dans la vie réelle. Comme vous, je soupçonne qu'ils découragent les autres de se donner la peine de le faire. Lorsqu'ils ont raison (ce qui est souvent le cas), ils sont très bruyants, et lorsqu'ils ont tort - silence.

L'un de mes tout premiers messages sur ce forum (qui mettait en évidence un bug non signalé auparavant) n'a même pas été reconnu comme un avertissement utile aux autres développeurs, mais a été rejeté d'emblée à plusieurs reprises, et ce n'est que lorsque j'ai tenu bon que le bug a été reconnu (par des esprits plus raisonnables), mais il y a eu peu de remerciements ! Cela aurait dû être mon premier coup de semonce ! Cela donne à peu près le ton ici, avec un scénario similaire se déroulant peu après. Un commentaire récent de ma part, qui, pour une raison quelconque, a suscité une réponse inutilement forte, a pratiquement scellé l'affaire pour moi.


Je vais contribuer à la communauté MQL, et à la base de code (maintenant que MQL4 rend la réutilisation du code un peu plus pratique) et je pourrais poster ici occasionnellement quand j'ai des réponses spécifiques à des questions spécifiques, qui sont d'un intérêt particulier pour moi, mais pour les questions générales, la plupart des gens sont bien servis par les principaux contributeurs, d'un point de vue technique de toute façon.

Je pense que certains ici, ont pris le noble concept de "apprendre à un homme à pêcher" et l'utilisent comme une excuse pour être impolis plus souvent qu'autrement. C'est un peu comme aller dans un restaurant du quartier chinois de Londres, le Wong Kei, où l'on mange très bien et où l'on a un bon rapport qualité-prix, mais où il ne faut pas aller si l'on veut une bonne ambiance, le personnel est délibérément grossier, et Dieu nous préserve de toute plainte légitime !

PS : Ce fil de discussion n'est pas vraiment la meilleure illustration de ce qui est discuté, et est sans doute tout à fait raisonnable, beaucoup de "meilleurs" exemples peuvent être trouvés !

Oh et "Amen" BTW !

 
qjol:

qu'est ce qui est confus pouvez vous expliquer votre problème


Je pense que c'est ce qu'on appelle une fonction de boucle, ce qui m'a troublé. Mais merci à Jimdandy de l'avoir expliqué en détail.

Ce que je veux ? Quand j'exécute l'EA sur le graphique, je veux définir deux choses dans ses paramètres. le nombre de trades et la taille de chaque trade. comme ci-dessous...

input string=LotsProgression "0.1;0.1;0.2;0.3;0.4;0.6;0.8;1.1;1.5;2.0;2.7;3.6;4.7;6.2;8.0;10.2;13.0;16.5;20.8;26.3;33.1" //Change able values.
et j'essaie d'écrire du code pour cela. ce qui je pense est "compliqué" ?
 
qgmql:

[...]ce qui me semble "compliqué" ?


bonne chance
 
Jimdandy:
//the question is ... why not just declare an array double lots[] = {0.1,0.2,0.3};
J'ai vu cette chose dans https://www.mql5.com/en/forum/129933 mais elle est désactivée ici et un code différent pour le calcul est utilisé.....
//double aLots[]={1,3,6,12,24,48,96,192,384,768}; declared, but i think its not used.

//--- or maybe someone has changed it with below code.

if(MaxLots==0) llots=Lots; else       //in paulo costa hedge
if(MaxLots==Lots) llots=3*Lots; else  //llots=3+Lots also works
llots=MaxLots*2;                      //llots=MaxLots+2 also works

Si j'applique votre suggestion, est-ce que l'utilisateur peut changer les valeurs des lots dans les paramètres de l'interface graphique en plaçant l'EA sur le graphique ?

PS : J'ai vu votre EA 2ma cross. qui ouvre des trades sur les cross (mais un seul trade à la fois) est-il possible que l'EA n'ouvre des trades que sur chaque cross mais ne ferme pas à l'inverse ?

 
qgmql:


Je pense que c'est ce qu'on appelle une fonction de boucle, ce qui m'a troublé. Mais merci à Jimdandy de l'avoir expliqué en détail.

Ce que je veux ? Quand j'exécute l'EA sur le graphique, je veux définir deux choses dans ses paramètres. le nombre de trades et la taille de chaque trade. comme ci-dessous...

et j'essaie d'écrire le code pour ceci. qui je pense est "compliqué" ?

Boucle sur un tableau créé en utilisant la nouvelle fonction MQL4++ StringSplit ? appelant StringToDouble à l'intérieur de la boucle. (voir l'exemple sur cette page pour commencer),