Fehler bei Berechnung oder Send?
Hi Leute, ich versuche schon seit stunden den Fehler zu finden. Der EA läuft an sich. Ziel ist, dass er byu-/send-Orders auslöst, wenn sich Main und Signal kreuzen, wobei die Variable Distance den Abstand zwischen Main und Signal darstellt. Solange kein neues Crossing von Main und signal stattfindet (inkl. der Distance) soll nix passieren, ansonsten soll er zB Sell schliessen und buy öffnen.
{ if(PositionOpen()) return(0); crossedup = false; crosseddown = false; for(int i = 0;i < 3;i++) { mline[i] = iStochastic(NULL, Period(),K_Period, D_Period, Slowing, MA_Method, 0, MODE_MAIN, i); sline[i] = iStochastic(NULL, Period(),K_Period, D_Period, Slowing, MA_Method, 0, MODE_SIGNAL, i); } if ((mline[1] < sline[1]) && (mline[2] -Distance> sline[2])) crosseddown = true; else if ((mline[1] > sline[1]) && (mline[2]+Distance < sline[2])) crossedup = true; else return(0); if (crossedup) GoLong(); if (crosseddown) GoShort(); return(0); } ..... int GoLong() { longtkt = -1; cnt = 0; while((longtkt < 0) && (cnt < 20)) { longtkt = OrderSend(Symbol(), OP_BUY, AdvancedMM(), Ask, 2, 0,0, NULL, MagicNumber, 0, Green); cnt++; } if (longtkt>0) { OrderSelect(longtkt, SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(TheStoppLoss,Digits),NormalizeDouble(TheT akeProfit,Digits),0,Green); } OrderClose(OrderTicket(),OrderLots(),OrderClosePri ce(), Slippage,Red); return(longtkt); } ... bool PositionOpen() { t = OrdersTotal(); for(int z = 0;z < t;z++) { OrderSelect(z, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol() == Symbol()) return(true); } return(false); Habe ich das Distance falsch gesetzt? Oder wortan kann es liegen? Danke euch vielmals für die Zeit... |
Na ja, ist eben immer wieder dasselbe. Bei einem unvollständigen Code wird man nie eine exakte Aussage treffen können.
Ich vermute! mal, dass es daran liegt, wiel Distance über die Anzahl Pips definiert wird und diese Pips nicht in eine tatsächliche Kursdifferenz umgerechnet wurde. traderdoc |
...sorry...
distance ist folgendermaßen definiert: extern double Distance = 5.2; // Distance between Main / Signal eine weitere Umrechnung o.ä. erfolgt nicht, nur eben die Definition ...danke |
Ja nun, dann hast Du ja den Fehler!!
traderdoc |
.hhmmm....
@ doc: könnte ich dir mal den gesamten Code zusenden zum Prüfen oder verbessern/modifizieren?...stehe momentan irgendwie auf dem Schlauch......wäre sehr nett.... :-) .... |
Lad hoch. Gibts bestimmt schon irgendwo gratis. ;)
Sorry, fals ichs überlesen hab, aber was soll diese Distanz-Rechnung? :confused: |
....die Distance soll eigentlich verhindern, dass der ea auch bei kleinen Abweichungen beim Crossing eine order auslöst..oder ist das ein logischer Fehler?...sinn des ganzen ea soll wie gesagt sein, dass bei aufwärts-crossing eine buy-order ausgelöst und eine evtl. bestehende sell-order geschlossen wird und umgekehrt
|
Ja nun mal langsam.
Probiere das hier aus: Distance = Distance*Point; (falls Du einen 5-DigitBroker hast und die 5,2 sollen tatsächlich reale 5,2 Pips sein, dann muss Distance = Distance*Point*10; genommen werden) Damit solltest Du für Distance dann 0,00052 bekommen und dann sollte das auch mit mline[2] -Distance> sline[2]) funktionieren. traderdoc |
...vielen Dank zunächst...
ich bin bisher davon ausgegangen, dass die Variablen mline und sline die jeweilige Position des Stoch zurückgeben, also einen Wert zwischen 0 und 100, so dass Distance eben den Abstand zwischen den Linien definiert, also eine Umrechnung in Pips o.ä. nmicht erforderlich ist zB wenn M2=S2-Distance UND M2<S2 UND M2<M1 .... dann Sell-Order und schliessen einer offenen Buy-Order ( so das Ziel) ich habe mal den Code angehängt wäre euch für Tipps und Hinweise auf mögliche Fehler dankbar |
Liste der Anhänge anzeigen (Anzahl: 1)
...hier die Datei
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 02:05 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