Hilfe bei BreakEven...
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
brauche Hilfe bei dem BreakEven, irgendwie will er den Ea nicht mehr compilen seit ich den BreakEven eingefügt habe obwohl der BreakEvenCode meiner Meinung nach richtig ist aber ich scheine irgendwas in der ProgrammStruktur verhauen zu haben. Bitte wie gesagt um Hilfe Danke |
Füge am Ende des Codes einfach das hier ein
Zitat:
|
Ach und
NormalizeDouble(SellStop,4) oder wie auch immer. Du musst hier angeben welche Präzision du haben willst. s.l. Racki |
danke erstmal werde es gleich nochmal testen
|
so ich habe das jetzt so gemacht und auch noch rum probiert aber es funktioniert nicht :( er bringt zwar keine einzige fehlermeldung mehr auch nicht beim backtesten aber jetzt öffnet er keinen einzigen Trade mehr ????????
und ich steige nicht dahinter woran es liegt bitte somit erneut um hilfe :( |
Re: Hilfe bei BreakEven...
Hallo sunnyboy20,
ich kann blicken. Schicken Sie mir den Code. |
@sunny
lege doch einfach mal den quellcode hier rein. So können wir alles direkt reinschauen. Will den nicht noch hier runter laden. Dann können wir das ja mit Beschreibung mal vervollständigen. |
so hier der Code
Code:
#define SIGNAL_NONE 0 |
musste etwas beschneiden wegen der Länge also nur die leeren Zeilen entfernt
|
Liste der Anhänge anzeigen (Anzahl: 1)
als am Breakeven passt hier nicht.
Wie due siehst "Blaues Kästchen" hast du eine IF anweisung. DEine Breakeven Funtkion steuert auch zugleich den Trailingstop. Glaub nicht das es so gewollt ist. DAs mi dem Builder ist für den Expert Builder ist für den Anfang gut, danach wird schwierig. Weil der leider iohne funktionen arbeitet. Gerade die funktionen machen es alles ein wenig übersichtlicher und du verschachtelst dich nicht. --> Schätze mal du hast da eine Klammer vergessen. Ok gehen wir mal weiter auf Punkt 1 im BILD. if ( OrderOpenPrice()-Ask>Point*BreakEven ) { double SellStop = OrderOpenPrice(); if(OrderStopLoss() > SellStop) OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(SellStop,4), OrderTakeProfit(),0,Red); continue; } das geht einfacher, du willst doch nur den Orderopenprice drinne haben somit if ( OrderOpenPrice()-Ask>Point*BreakEven ) { // WEg --> double SellStop = OrderOpenPrice(); if(OrderStopLoss() > SellStop){ OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(),0,Red); continue; } Dann brauchst du es auch nicht auf 4 stellen runterreduzieren. So wenig wie nur möglich. Nimme einfach die letzte version die geklappt hat und verusuchs nochmal, der @Racki schaut ja auch noch drauf. Und mit der 2 klammer am ende könnte er recht habe. wenn da oben schon was fehlt.... Hoffe du kommst ein wenig weiter |
Na das ging ja doch schneller als erwartet. Schau mal ob das funkelt. Bei mir schon. auf jedefall macht er wieder trades. ;)
musste die kommentare runterzeduzieren damit er rein passt. Code:
#define SIGNAL_NONE 0 |
danke schon mal, konnte es mir leider noch nicht anschauen.
auf facebook gehen zur zeit ja wieder mal de viren rum unter anderem der bka trojaner....war nach arbeit nur bei freunden um denen den rechner zu retten :D echt böse das ding für einen leihen, kannst nix mehr machen und das ding hat über 40 systemdateien infiziert um sicher zu stellen das er "immer" aktiv bleibt und man ihn nicht so leicht entfernen kann ;-) aber wie das halt so ist gibt es immer eine Lösung, unter XP sogar sehr leicht. |
so hab ihn heute getestet leider geht der breakeven noch nicht :(
der trailingstop geht nur noch bei long bei short´s geht er net mehr... :( kann denn keiner den Ea mal so fixen das er funzelt ? oder @Bohne kannst du mal nen beispiel EA einfügen weil hast doch gesagt mit funtkionen und verschachteln und so. weil bin ja noch ein noob auf dem gebiet und weiß halt net was du meinst dachte immer code ist gleich code ????? |
erlich gesagt fehlt mir die zeit dazu...
Also folgendes ungefähr so in start() { double lot = Orderlots(); } int Orderlots() { double lots = 0.1; return (lots) } Das ist jetzt ein ganz einfach BSP. Die stratfunktion() Orderlots wird zuerst als Funktion aufgerufen springt in int Orderfunktion() rein. In dieser funktion wird eine zusaätzlich Variable deklariert und zu gleich der wert 0.1 eingesetz. Mit return gibst du den wert zurück... Somit hast du jetzt im start in der Varibale 0.1 drinn. es gibt bestimmt reichlich mehr imput im netz. Wo genau keine Ahnung ;) aber so in etwa. das gute ist bei der funktion. Du kannst die funktionen immer wieder benutzen und leicht ändern. Alles ist sehr übersichtlicher. Ein weitere Funktion von mit die nur die Buy order zählt. int CountSellPositionsII() { int l_count_0 = 0; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNummerII || OrderType() != OP_SELL) continue; l_count_0++; } return (l_count_0); } // Rückgabe wert ist die gezählten short trades. OrdersTotal() <-- ist wieder eine utnerfunktion |
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:25 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum