|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Bei mehreren gleichzeitig geöffneten Long- und Shortorder einen Teilverkauf vornehmen
Hallo Superprogrammierer,
ich hätte da mal ein Problem. So fangen vermutlich hier die meisten Sätze an! Ich würde gerne meinen EA um eine Funktion erweitern. Es werden mehrere Orders eröffnet: 1. Order Long 1 Lot 2. Order Short 2 Lot 3. Order Long 3 Lot 4. Order Short 6 Lot Gesamtgröße Long = 4 Lot Gesamtgröße Short = 8 Lot Überhang Short = 4 Lot Der Überhang auf der Shortseite sorgt dafür, dass alle Verluste irgendwann ausgeglichen sind, wenn der Kurs fällt. Bin ich im Gewinn, dann möchte ich die schlechten Longorders loswerden. Einfach verkaufen geht nicht, weil dann die Positionsgröße auf der Shortseite zu groß wird. Ich müsste also 4 Lot Long loswerden und 4 Lot Short. Aber ich habe keine 4 Lot Short. Ok, ein Teilverkauf könnte das Problem lösen, aber weil meine Wünsche mal wieder größer sind, als mein Gehirn und meine Programmierkünste, wird die Sache nicht ganz so einfach. Als erstes möchte ich die Shortorder loswerden, die den geringsten Abstand zum aktuellen Kurs hat und erst wenn diese nicht groß genug ist, dann soll die nächste Order verkauft (oder teilverkauft) werden. usw., usw.... bis nur noch der Überhang übrig bleibt. Jetzt kämpfe ich schon ein paar Wochen mit dem Problem und komme auf keine Lösung. Vermutlich geht das nur mit einem Array und davon habe ich null Ahnung. Ich weiß nicht, wie man ein Array befüllt und die Daten wieder auslesen kann. Auf den Englischen Hilfeseiten komme ich nicht weiter. Kann mir jemand erklären, wie man so ein Array erstellt und wieder auslesen kann und wie man so eine Programmierung aufbauen muss? Ich sage schon mal DANKE für eure Hilfe! |
|
|||
Kann dieses einfache Problem etwa kein EA-Builder lösen?
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
|
|
|||
das sollte doch nur ein Beispiel sein. Was hat jetzt die Eröffnung der Orders mit dem Verkauf von eröffneten Orders zu tun?
@Traderdoc Hier sind die Grenzen von EATree auf jeden Fall erreicht. In dem Programm lassen sich nur eine Long- und eine Shortorder gleichzeitig eröffnen. |
|
|||
Zitat:
Was man "gut" mit den Builders realisieren kann - irgendwelche scheinbar sinnvollen Kreuzungen allermöglichen Indikatoren mir dem aktuellen Preis oder dem der letzten geschlossenen Kerze. Lernt das Programmieren!! traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ich versuche seit 2 Jahren das Programmieren zu lernen. Wenn das Ganze nur nicht so einfach wäre
Aber jetzt mal im Ernst. Gib mir doch lieber mal einen Tipp, wie man mein Programmproblem lösen könnte, als über Sinn und Unsinn von EA-Builder uns auszutauschen. So werde ich nie Programmieren lernen und für immer dumm und unwissend bleiben. Da lerne ich nichts dazu. Wie befülle ich ein Array und kann dann die Daten wieder abrufen? Du programmierst doch auch im Auftrag. Was würde sowas kosten? |
|
|||
int MeinArray[10];
... int x = 0; if (int i = 0; i<=9; i++) { MeinArray[i] = x * 2; x++; } Und wenn dann über das Auslesen: if (int i = 0; i<=9; i++) { Print("i: ", MeinArray[i]); } der Reihe nach die Zahlen 0 2 4 6 8 10 12 14 16 18 erscheinen, dann hast Du alles richtig gemacht. Aber auch hier gilt, Beispiele anschauen, die selber ausprobieren, mal eine Veränderung programmieren und schauen, was sich tut und weitere Beispiele studieren! traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Danke Traderdoc!
kann man auch mehrere Werte gleichzeitig in einem Array speichern? Ich bräuchte zumindest Positionsgröße und Eröffnungskurs. Könnte man auch schreiben: MeinArray[i] = x * 2, y +1; Wie gebe ich dann die Werte wieder aus? Print("i von x: ", MeinArray[i]);???? Print("i von y: ", MeinArray[i]);???? wie kann x und y unterschieden werden? Bei der Ausgabe hätte ich keine Idee, wie das mit 2 Werten gehen soll??? Macht man dann einfach 2 Array? Eins für Kurs und eins für Lotgröße. Aber wie bekomme ich dann die Orders wieder richtig zueinander geordnet? Programmieren lernen besteht nur aus Millionen von Fragen! |
|
|||
double MeinArray[10][2];
... if (int i = 0; i<=9; i++) { MeinArray[i][0] = Positionsgröße; MeinArray[i][1] = Eröffnungskurs; } traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Stichworte |
mehrere order, mql4, order anpassen, order auslesen, order close, programmierung, programmierung metatrader |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|