falsche Object-preise
Hallo,
ich habe mir einen EA erstellt, der von einem Indikator erstellte Linien mit einbindet. Um die Preislevels der Objekte zubekommen, loope ich mit einer for-schleife durch die Objekte und lasse mir die Preise wieder geben. Komischerweise werde Objektpreise ausgegeben, die es laut Chart gar nicht an den Stellen gibt! Deswegen werden Orders geöffnet an Stellen die ich nicht nachvollziehen kann. [IMG]https://www2.pic-upload.de/thumb/333...at16.36.57.png https://www2.pic-upload.de/thumb/333...at16.36.57.png[/IMG] Die pinken/lilanen Linien sind die Res/Sup Linien. Ich bin über jede Hilfe dankbar. Hier der Code: PHP-Code:
|
Ich kann dein Problem ehrlich gesagt grad nicht rekonstruieren.
Auch sehe ich in deinem Screen keine falschen Preisangaben. Vielleicht bin ich einfach blind. Was genau beim Screen ist denn falsch. Bei beiden Preisangaben sehe ich eine Linie. Vielleicht kannst du mal den indikator posten, damit ich testen kann. |
Danke für die schnelle Antwort.
Hm... Vielleicht habe ich das blöd geschrieben. Auf dem Screenshot sind drei pinke/lila Linien , jeweils bei ca. 12780/12770/12747. Das andere sind die S/L(rot) und Tradeeröffnungslinien(gelb). Voraussetzung für eine Sellorder sind u.a. High[1] > Objektpreis && Close[1] < Objektpreis. Voraussetzung für eine Buyorder sind u.a. Low[1] < Objektpreis && Close[1] > Objektpreis. Nun hat der EA aber bei ca. 12796 zwei Sellorder eröffnet. Dort befindet sich aber keine lila Linie. Gleiches gilt für die Buyorder. Deswegen habe ich mir den relevanten "objectprice" anzeigen lassen, wenn der EA eine Position eröffnet, wie im Screenshot zu sehen. Das macht mich nun stutzig, da es ja anscheinend Objekte gibt bei 12800 und 12763. Ich kann diese aber nicht sehen und ich verstehe nicht warum.. Hier der Indikator: PHP-Code:
|
Eben ist mir noch was aufgefallen... und zwar liegt der objectprice bei der ersten Sellorder 12802 und bei der zweiten bei 12800.4, wie im Screenshot ... :confused:
|
Zitat:
Ich hab mir mal alle Objekte in der for-Schleife ausgeben lassen und gesehen, das einige von ihnen wirklich nicht im Chart zu finden sind. Binn dann zur Objektliste, entsprechende Linien -> Eigenschaften und habe dann gesehen, das diese "unsichtbaren" Linien vorhanden, aber nicht im momentanen Timeframe (H1 bei mir) angezeigt werden (siehe Screen). http://fs5.directupload.net/images/1...p/kkthgwo2.jpg Somit verarbeitet dein EA ALLE Linien, obwohl nicht alle im momentanen Timeframe vorhanden sind. Ich denke bei dir war es vielleicht auch so. Somit wurde bei dir eine Order gesetzt, obwohl "scheinbar keine" Linie vorhanden ist. Setze mal beim Verarbeiten der Linien im EA den aktuellen Timeframe als Bedingung. |
Zitat:
Ich habe den Fall heute weiter beobachtet. Anscheinend werden nicht nur Linien (bzw. Trendlinien) verarbeitet, sondern auch alle anderen Objekte, wie zB. Arrows (siehe screenshot; das sind hier in diesem Fall vorherige Stoppmarken). Gleichermaßen wurde an einer anderen Stelle eine Order geöffnet, wo eine Tradeeröffnungslinie lang geht von einer anderen Order. Beides verwirrt mich nun, da ich ja in der for-schleife nur Trendlinen rausfilter.. [IMG]http://fs5.directupload.net/images/170622/b2cky5vm.png[/IMG] |
Zwei dinge zu folgendem Code
Code:
for(int i = 0; i <= ObjectsTotal(0,0,OBJ_TREND) - 1; i++) Code:
i <= ObjectsTotal(0,0,OBJ_TREND) - 1 Code:
i < ObjectsTotal(0,0,OBJ_TREND) Wenn alle Trendlinien nicht zufällig ganz oben in der kompletten Objektliste sind, werden auch andere Objekte von dir mit Code:
object_name = ObjectName(i); Ich würde sagen, du änderst deine Schleife in folgende Code:
for(int i = 0; i < ObjectsTotal(0,0,-1); i++) |
Du hast recht. Das war mir gar nicht so bewusst gewesen. Ich habe deine Empfehlungen so umgesetzt... Best Dank für die Hilfe!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 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