Abenteuer eines Neulings - Seite 6

 
cloudbreaker:

Keine Sorge. Mit nur wenigen Änderungen sollte es tatsächlich die Arbeit für Sie erledigen.

Sie sollten damit beginnen, den TakeProfit-"Fehler" zu ändern, den ich für Sie eingebaut habe. Schauen Sie sich an, wie der StopLoss funktioniert, um einen Anhaltspunkt zu erhalten.

Sobald Sie es zum Laufen gebracht haben, hoffe ich, dass Sie damit beginnen, eine Fehlerbehandlung und einige bedienerfreundliche Dinge wie Print()-Anweisungen hinzuzufügen, damit Sie in den Protokollen leicht sehen können, was es tut.

Pseudocode ist wichtig, bevor man sich an den Code macht (selbst für erfahrene Programmierer), aber man sollte es nicht übertreiben.

Sie scheinen durch Ihre gutmütige Art Hilfe anzuziehen. Ich vermute, dass Sie entweder in der Personalabteilung arbeiten oder sich für die menschliche Psychologie interessieren?


CB

Hallo CB,


Es ist schön, dass jemand gesagt hat, ich hätte eine gutmütige Art. Ich bin von Haus aus Psychologe, habe zwei Abschlüsse mit den Schwerpunkten Persönlichkeitsbewertung und -entwicklung sowie positive Psychologie. Ich habe viel mit der Personalabteilung gearbeitet und Manager darin geschult, wie sie ihre Mitarbeiter dazu bringen können, mehr Freude an der Arbeit zu haben (was letztendlich zu einem höheren Endergebnis und mehr Kreativität führt).


Ihr seid wunderbar hier. Ich bin erstaunt über die Gutmütigkeit der Menschen und werde mich, wenn die Zeit reif ist, tausendfach für die von Ihnen geleistete Hilfe revanchieren. ('Pay It Forward' - sehen Sie sich den Film an, wenn Sie ihn noch nicht gesehen haben ;)

 

Hallo Tim,


ich habe die Array-Sache, die du mir aufgetragen hast, herausgefunden (glaube ich). Der Code ist unten, ist das richtig. Ich poste ihn hier, obwohl ich den EA eingebunden habe, damit andere, die nach ähnlichen Informationen suchen, schnell sehen können, was los ist.


string Pair[] = {"EURUSD","GBPUSD","USDJPY","USDCHF","AUDUSD"}; //***Global Declaration of Array 'Pair' so we can call it in 'start' function   


int count = ArraySize( Pair);                //computer doesn't know how many elements array has, this is necessary to set the value for 'for' loop
for (int c=0; c< count; c++)                   //loop started to go through each element of the Array. After this I don't know how to use this, i guess we substitute OrderSend(Symbol) part with the array name so it loops through that. is that so?
    


ps: übrigens meine mq4-Dateien nicht alle zeigen sich in der mt4>experts Ordner, ich habe etwa 30 Experten, aber nur etwa 5 zeigen sich dort, wenn ich in den Ordner durch Windows gehen oder versuchen, etwas hier anhängen (aber alle zeigen sich durch mt4). eine Idee, warum? (deshalb habe ich .txt gepostet)

Dateien:
 

Hallo Nick,


gut gemacht!


Ich lege die Messlatte jetzt etwas höher und schlage vor, dass Sie jetzt versuchen, den Code für die Funktion EntryRules und einige andere Dinge zu schreiben, die Sie benötigen, um diese Funktion effektiv aufzurufen.


Ich habe dem Code eine Reihe von Kommentaren, Ideen und Vorschlägen hinzugefügt, die Sie sich ansehen können. Ich habe auch die TODO-Bereiche markiert, an denen Sie arbeiten können. Schauen Sie, was Sie damit machen können und posten Sie es im Forum, wenn Sie fertig sind. Wenn Sie überfordert sind, posten Sie einfach zurück, was Sie getan haben. Ich kann es in kleinere Arbeitsabschnitte aufteilen, falls nötig.


Ein paar Möglichkeiten bezüglich der fehlenden mq4-Dateien. Könnte es sein, dass Sie die Dateiattribute auf versteckt gesetzt haben? MetaTrader scheint mir die Bearbeitung versteckter Dateien zu ermöglichen, wenn ich den Befehl "Ändern" im Navigationsfenster verwende. Eine andere Möglichkeit ist, dass sich die Dateien in einem anderen Ordner befinden, z. B. im Ordner "Indikatoren". Vielleicht könnten Sie eine Windows-Suche nach allen mq4-Dateien in allen Metatrader-Unterverzeichnissen versuchen und alle versteckten Dateien in Ihre Suche einbeziehen (verwenden Sie die Schaltfläche Erweiterte Optionen für WinXP).


Mit freundlichen Grüßen

Tim

.

Dateien:
 

Wenn Sie Vista verwenden und die Benutzerkontensteuerung (UAC) aktiviert haben, dann suchen Sie hier nach den fehlenden Dateien:

C:\Benutzer\<Ihr Kontoname>\AppData\Local\VirtualStore\Programme\<MT4-Installationsverzeichnis>\experts

 
cloudbreaker:

Wenn Sie Vista verwenden und die Benutzerkontensteuerung (UAC) aktiviert haben, dann suchen Sie hier nach den fehlenden Dateien:

C:\Benutzer\<Ihr Kontoname>\AppData\Local\VirtualStore\Programme\<MT4-Installationsverzeichnis>\Experts

Danke CB, ich habe es gefunden. Habe eine Verknüpfung für schnellen Zugriff erstellt.

 

Hallo Tim,


Ouf, es ist 1 Uhr nachts hier in UK, ich bin erschöpft, muss morgen früh zur Arbeit gehen. Ich habe an dem Code gearbeitet, wie du es vorgeschlagen hast. Es sind noch viele Dinge unbekannt, aber es geht gut voran. Ich bin so weit gekommen, wie ich ohne Ihre weitere Hilfe konnte.


Ich habe eine Menge Kommentare aus dem Code herausgeschnitten, um ihn visuell einfacher zu gestalten (ich habe sie am Ende eingefügt, damit ich sie in Zukunft nachschlagen kann), und ich habe auch einen Abschnitt am Ende erstellt, um Ihnen zu zeigen, was ich in welcher Reihenfolge getan habe, und um Ihnen dort Fragen zu stellen usw. Wie ein 'Aktivitätsprotokoll'. Wenn Sie in dieses Protokoll schreiben, wäre es für mich einfacher, den Code logisch, psychologisch und auch sequentiell durchzuarbeiten.


Ich warte auf Ihr Feedback!

Nick

Dateien:
 
niko wrote >>

Hallo Tim,

Ouf, es ist 1 Uhr nachts hier in UK, ich bin erschöpft, muss morgen früh zur Arbeit gehen. Ich habe an dem Code gearbeitet, wie du es vorgeschlagen hast. Es sind noch viele Dinge unbekannt, aber es geht gut voran. Ich bin so weit gekommen, wie ich ohne Ihre weitere Hilfe konnte.

Ich habe eine Menge Kommentare aus dem Code herausgeschnitten, um ihn visuell einfacher zu gestalten (ich habe sie am Ende eingefügt, damit ich sie in Zukunft nachschlagen kann), und ich habe auch einen Abschnitt am Ende erstellt, um Ihnen zu zeigen, was ich in welcher Reihenfolge getan habe, und um Ihnen dort Fragen zu stellen usw. Wie ein 'Aktivitätsprotokoll'. Wenn Sie in dieses Protokoll schreiben, wäre es für mich einfacher, den Code logisch, psychologisch und auch sequentiell durchzuarbeiten.

Ich warte auf Ihr Feedback!

Nick

Hallo Nick,


Es tut mir leid, dass ich Ihnen so viel Arbeit mache.

Du scheinst Fortschritte zu machen. Sobald du das Konzept von Arrays und Funktionen verstehst, wird sich der Nebel lichten.

Ich schlage vor, dass du dich darauf konzentrierst, die Funktion EntryRules und ihren Aufruf von der (Haupt-)Startfunktion aus zu beenden. Ich denke, wir sind fast am Ziel.

Das Aufräumen alter Kommentare, Fragen usw. im Code ist ein guter Schritt.

Bleiben Sie ruhig, Sie machen gute Fortschritte.

Wir werden bald von Ihnen hören


Mit freundlichen Grüßen

Tim

Dateien:
 

Hey Tim,

haha, das ist schon okay. Im Idealfall möchte ich mit dem Debugging fertig werden, bevor ich am Mittwochabend in den Urlaub fahre (für 8 Tage, Türkei, Izmere - endlich Urlaub!). Ich bin im Moment auf der Arbeit, werde aber in der Mittagspause und sobald ich zu Hause bin, mit dem Programmieren weitermachen. Ich werde es also heute Abend bei Ihnen haben!

Vielen Dank für all deine Hilfe, Tim!

nick,,

 

Hallo Tim,


ich habe die Aufgaben erledigt, die du mir für den Code gestellt hast. Vielen Dank für die ausführlichen Antworten auf meine Fragen und für die vielen Kommentare im Code, die mir helfen, mich zurechtzufinden. Ich beginne zu verstehen, wie die Dinge zusammenpassen, wie man Arrays richtig verwendet und bestimmte Funktionen aufruft (und welche Rolle globale und lokale Variablen spielen).


Ich habe die neueste Version unseres Codes beigefügt.


Eine Frage: Gibt es einen Grund, warum wir die Funktion EntryRules nicht so gestaltet haben, dass sie alles (einschließlich der Flags) enthält, um uns eine Kauf-/Short-Bedingung zu geben, sondern stattdessen rufen wir sie später mit Flags auf, um die Einstiegsentscheidung zu treffen?

 

An CB:


Hallo Überflieger! Ich habe alles getan, was ich mit Tims Aufgaben tun konnte, und deshalb beschlossen, mir deinen Code genauer anzusehen.


Ich bin deinen Code durchgegangen und habe versucht, die Fehler darin zu verstehen und zu beheben. Es ist mir gelungen, die Fehler auf 'unausgewogene Klammern' für den String fnGenerateSignal() zu reduzieren. Ich weiß nicht, warum es in diesem Fall unausgewogen heißt.


Wie immer würde ich mich über Ihre Meinung zu meinen Fortschritten mit Ihrem Code freuen! Denken Sie daran, dass es immer noch eine Menge Bits und Bobs gibt, die ich nicht verstehe, sogar die ganz grundlegenden Dinge.

Dateien: