Hilfe benötigt - Seite 3

 
Jimdandy:

Ich denke, mit dieser #property strict musst du i,j,k auf einen Wert initialisieren...


PipPip...Jimdandy

Deine Pfeile sind süß
 
 
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.
}
Ich kann Pfeile machen... aber ich weiß nicht, wie man ein Smiley-Gesicht macht..... :-(......oder ein Zungenaufkleber Außengesicht.... :-%
PipPip....Jimdandy...
 
Jimdandy: Ich denke, mit dieser #property strict müssen Sie i,j,k auf einen Wert initialisieren.
  1. Bitte stellen Sie keine Bilder von Code oder der Dokumentation ein. Für Code verwenden Sie den SRC. Für die Dokumentation verwenden Sie die Schaltfläche Links.
  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 und j werden vor der Verwendung initialisiert. K nimmt fälschlicherweise einen Anfangswert von Null an und muss richtig initialisiert werden.
 
WHRoeder:
  1. Bitte posten Sie keine Bilder von Code oder der Dokumentation. Für Code verwenden Sie den SRC. Für die Dokumentation verwenden Sie die Schaltfläche Links.
  2. I und j werden vor der Verwendung initialisiert. K nimmt fälschlicherweise einen Anfangswert von Null an und muss richtig initialisiert werden.

Entschuldigen Sie mich, wenn ich auf diese Seifenkiste springe...ich entschuldige mich im Voraus....

1. Ich entschuldige mich dafür, dass ich nicht die Absicht hatte, eine Ihrer Regeln zu brechen.
Ich habe eher darüber nachgedacht, wie ich jemandem helfen kann, mql4 besser zu verstehen.
Ich verbringe manchmal Stunden damit, zu entscheiden, wie ich am besten auf das Problem eines anderen antworten kann.
Ich wähle den besten Weg, den ich kenne, um den Punkt zu vermitteln. In diesem Prozess
vielleicht nicht so, wie Sie es für die beste Art und Weise halten, es auf dieser Seite
auf dieser Website zu tun. Ich glaube jedoch, dass die Menschen von dem lernen, was ich in der Lage bin
was ich hier herumstolpere und hier reinstelle. Sie müssen verstehen, dass nicht jeder weiß
wie man diese Seite benutzt.

2. Anregung:
Wie wäre es, wenn du ein Video darüber machst, wie man die Funktionen auf dieser Seite
richtig benutzt und wie man den Editor richtig benutzt, wenn man einen Beitrag schreibt? Oder gib mir zumindest
einen Link zu diesem Video
.

3. Wenn ich einen Satz oder Absatz aus der Dokumentation mit jemandem teilen möchte, werde ich nicht
ich nicht einfach einen Link zu einer ganzen Seite der Dokumentation einfügen und die Leute diese Seite durchsuchen lassen
Seite suchen und versuchen, herauszufinden, welchen Teil sie lesen sollen.

4. Eine Zeile wie....
"2. I und j werden vor der Verwendung initialisiert. K nimmt fälschlicherweise einen Anfangswert von Null an und muss richtig initialisiert werden."

5. Ist ein klassisches Beispiel für jemanden, der unglaublich intelligent und talentiert zu sein scheint und den Code beherrscht, aber nicht
nicht begreift, dass er sich an die ungebildete Masse wendet. Entweder das oder Sie gehen davon aus, dass Sie
mit intellektuell Unterlegenen zu sprechen und es macht Ihnen Spaß, ihnen zu zeigen, wie schlau Sie sind.
Programmierer, die wissen, was sie tun, lesen Ihre Beiträge NICHT. Sie wissen bereits alles, was
was Sie vielleicht zu sagen haben. Es sind die Unwissenden, die dies lesen und versuchen, sich zu verbessern.

6. Ich weiß nicht, was bei Ihnen der Fall ist. Ob du wirklich besorgt bist, dass diese Seite irgendwie
wie eine Facebook-Seite aussieht, oder ob du wirklich ein besseres Verständnis von mql4,
und anderen helfen willst, während du die Seite übersichtlich hältst, oder ob du auf einer Art Egotrip bist und auf der Seite herumrennst wie ein
wie ein Polizist, der darauf achtet, dass jemand einen Pfeil an die falsche Stelle setzt. Ich hoffe sehr, dass es nicht Letzteres ist.

7. Was ich aus E-Mails und Rückmeldungen von Händlern und Programmierern weiß, ist, dass viele Leute aufgehört haben
nicht mehr hierher kommen, um Fragen zu stellen oder zu beantworten oder ihr Wissen zu dieser Seite beizutragen, weil sie selbst oder andere unhöflich und
selbst oder andere behandelt werden, wenn sie eine Frage stellen oder beantworten. Sie werden schikaniert, weil sie nicht in der
Sie werden schikaniert, weil sie nicht im richtigen Format posten, ungeachtet der Berechtigung ihrer Frage oder des Wertes ihres pädagogischen Beitrags.
Nur die wirklich Verzweifelten bleiben.

8. Es gibt auf dieser Website Beispiele von Leuten, die eine einfache Frage stellen, die in weniger Zeit beantwortet werden könnte
als damit verbracht wird, sie dafür zu verurteilen, dass sie die Seite nicht durchsucht oder an der richtigen Stelle gepostet oder das falsche Bild eingefügt haben.
Man kann förmlich die Angst in ihren Fragen hören, wenn sie sie stellen. Die Angst, etwas zu tun, was die mql4 GODS verärgert.

9. Stattdessen wird ihnen das Gefühl gegeben, nicht willkommen zu sein, und ihre Frage wird ignoriert. Warum schlagen Sie nicht vor, wie man richtig postet
UND ihre Frage zu beantworten? Es ist eine absolute Schande. Niemand gewinnt. Alle verlieren. Der Schüler bleibt verloren, diejenigen
Diejenigen, die helfen können, bleiben stumm, und mql4.com wird ein immer unattraktiverer Ort zum Besuchen.

10. "Geben macht glücklicher als nehmen", heißt es.
Es macht mir Freude, anderen hier auf Mql4.com zu helfen, aber diese Freude schwindet schnell.
Wenn wir uns ständig Sorgen machen müssen, dass uns die Hand weggeschlagen wird, wenn wir jemandem in Not die Hand reichen, gibt es keine
Freude, sondern nur noch Angst.

11. Gibt es da draußen noch jemanden, der so denkt, oder liege ich hier völlig falsch? Kann ich ein Amen bekommen?
Ok, ich bin runter von meiner Seifenkiste...
Und ich mag immer noch deinen Avatar....
PipPip...Jimdandy

 
Das ist großartig, ihr habt alle einen tollen Job gemacht. Ich bin euch allen wirklich dankbar, dass ihr diesen Inhalt hier mit uns teilt. Es ist wirklich schätzenswert und möchte Ihnen danken, dass Sie diesen Beitrag hier mit uns teilen.
 
Jimdandy:

7. Was ich aus E-Mails und Rückmeldungen von Händlern und Programmierern weiß, ist, dass viele Leute aufgehört haben
nicht mehr hierher kommen, um zu fragen oder zu antworten oder ihr Wissen zu dieser Seite beizutragen, weil sie selbst oder andere
selbst oder andere behandelt werden, wenn sie eine Frage stellen oder beantworten. Sie werden schikaniert, weil sie nicht in der
Sie werden schikaniert, weil sie nicht im richtigen Format posten, ungeachtet der Berechtigung ihrer Frage oder des Wertes ihres pädagogischen Beitrags.
Nur die wirklich Verzweifelten bleiben.


PipPip...Jimdandy


Ehrlich gesagt habe ich beschlossen, mich in diesen Foren weniger zu engagieren, weil ich sie im Allgemeinen als negativ empfinde. Es scheint die Annahme zu geben, dass niemand weiß, wovon er spricht, außer einigen wenigen Auserwählten. Bestimmte Personen respektieren eindeutig nicht die Meinung der meisten anderen, während sie ihre eigene Meinung an anderer Stelle frei äußern, und haben eine Ausdrucksweise, die ich so konsequent und unnötig unhöflich finde, dass ich mich oft frage, wie sie im wirklichen Leben mit Menschen umgehen. Wie Sie vermute ich, dass sie andere davon abhalten, sich überhaupt die Mühe zu machen. Wenn sie Recht haben (was oft der Fall ist), sind sie sehr lautstark, und wenn sie Unrecht haben - Schweigen.

Einer meiner allerersten Beiträge in diesem Forum (in dem ich auf einen zuvor nicht gemeldeten Fehler hinwies) wurde nicht einmal als hilfreiche Warnung für andere Entwickler gewertet, sondern immer wieder abgetan, und erst als ich mich durchsetzte, wurde der Fehler anerkannt (von vernünftigeren Leuten), aber es gab kaum ein Dankeschön! Das hätte mein erster Warnschuss sein müssen! Das gibt den Ton an, und ein ähnliches Szenario spielte sich bald darauf ab. Eine kürzliche Bemerkung von mir, die aus irgendeinem Grund IMO eine unnötig heftige Reaktion auslöste, besiegelte für mich so ziemlich die Sache.


Ich werde zur MQL-Gemeinschaft und zur Codebasis beitragen (jetzt, da MQL4 die Wiederverwendung von Code etwas praktischer macht) und könnte hier gelegentlich posten, wenn ich spezifische Antworten auf spezifische Fragen habe, die für mich von besonderem Interesse sind, aber für allgemeine Fragen sind die meisten Leute bei den Hauptbeitragenden gut aufgehoben, jedenfalls aus technischer Sicht.

Ich glaube, einige hier haben das edle Konzept "Bring einem Mann das Fischen bei" als Vorwand genommen, um öfter unhöflich zu sein als nicht. Es ist ein bisschen so, als würde man hier in Londons Chinatown in ein Restaurant namens Wong Kei gehen. Das Essen ist großartig und preiswert, aber man sollte nicht hingehen, wenn man eine nette Atmosphäre sucht, denn das Personal ist absichtlich unhöflich, und Gott bewahre, dass man eine berechtigte Beschwerde hat! aber es hat trotzdem viele Kunden!

PS: Dieser Thread ist nicht wirklich das beste Beispiel für das, was hier diskutiert wird, und er ist wohl auch recht vernünftig, denn es lassen sich viele "bessere" Beispiele finden!

Oh und 'Amen' übrigens!

 
qjol:

Was ist verwirrend kann u erklären ur Problem


Ich glaube, das heißt Schleifenfunktion, die mich verwirrt. aber danke an Jimdandy für die Erklärung im Detail.

Was ich will? Wenn ich EA auf dem Chart ausführe, möchte ich zwei Dinge in den Einstellungen definieren. Anzahl der Trades und Größe jedes Trades. wie unten...

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.
und ich versuche, einen Code dafür zu schreiben, der meiner Meinung nach "kompliziert" ist?
 
qgmql:

[...] was ich für "kompliziert" halte?


viel Glück
 
Jimdandy:
//the question is ... why not just declare an array double lots[] = {0.1,0.2,0.3};
Ich habe diese Möglichkeit in https://www.mql5.com/en/forum/129933 gesehen, aber sie ist dort deaktiviert und es wird ein anderer Code für die Berechnung verwendet....
//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

Wenn ich Ihren Vorschlag anwende, kann ein Benutzer dann die Werte der Lots in den GUI-Einstellungen ändern, während er den EA auf dem Chart platziert?

PS: Ich sah Ihre 2ma Kreuz EA. die öffnet Handel auf Kreuze (aber nur ein Handel zu einer Zeit) ist es möglich, dass EA sollte nur öffnet Trades auf jedem Kreuz aber sollte nicht auf Reverse schließen?

 
qgmql:


Ich glaube, das heißt Schleife Funktion, die mich verwirrt. aber danke an Jimdandy für die Erklärung im Detail.

Was ich will? Wenn ich EA auf Chart ausführen, möchte ich zwei Dinge in seinen Einstellungen zu definieren. Anzahl der Trades und Größe jedes Handels. wie unten...

und ich versuche, Code für diese zu schreiben. die ich denke, ist "kompliziert?"

Schleife über ein Array, das mit der neuen MQL4++ Funktion StringSplit erstellt wurde ? Aufruf von StringToDouble innerhalb der Schleife. (siehe Beispiel auf dieser Seite, um damit zu beginnen),
Grund der Beschwerde: