Omega Posted May 25, 2011 Report Share Posted May 25, 2011 Hallo an alle Programmierexperten, wie stelle ich im Programmiercode das Hoch/Tief der aktuellen Kerze dar um darauf bezug zu nehmen? Ich habe es probiert mit iHigh(NULL,0,0). Das gibt beim kompilieren zwar keine Fehlermeldung, funktioniert aber nicht. Der Bezug auf die letzte vollendete Kerze dagegen funktioniert iHigh(NULL,0,1). Kann jemand mit einfachen Worten helfen? Schonmal Danke! Quote Link to comment Share on other sites More sharing options...
siscop Posted May 25, 2011 Report Share Posted May 25, 2011 High[0]Low[0] Quote Link to comment Share on other sites More sharing options...
Mythos Posted May 25, 2011 Report Share Posted May 25, 2011 Ich habe es probiert mit iHigh(NULL,0,0). Das gibt beim kompilieren zwar keine Fehlermeldung, funktioniert aber nicht. Inwiefern funktioniert es nicht? iHigh(NULL,0,0) (ist übrigens genau das gleiche wie High[0]) liefert dir genau das aktuelle Hoch der aktuellen Kerze. Das kann sich natürlich im Verlauf der Entstehung der Kerze noch ändern.iLow(NULL,0,0) bzw. Low[0] wär eben für das Tief. hth Quote Link to comment Share on other sites More sharing options...
Omega Posted May 27, 2011 Author Report Share Posted May 27, 2011 Hallo, danke für Eure Antworten. Ich möchte schreiben Bid> High[0](der aktuelle Tick ist größer als das letzte Hoch der aktuellen Zeitperiode), funktioniert aber nur bei Bid>High[1]. Ich denke das liegt daran das wenn Bid größer ist als das letzte Hoch der aktuellen Periode real Bid=High[0] ist. Und ich schreibe >, so funktioniert es nicht.Nun ist aber = wohl kein Programmierzeichen. Wie schreibe ich ist gleich = im Code. Oder hat jemand eine andere Idee wie ich es im Code schreiben kann. Quote Link to comment Share on other sites More sharing options...
Bull68 Posted May 27, 2011 Report Share Posted May 27, 2011 Hi, "=" ist in C eine Zuweisung, der Vergleichsoperator ist "==".Hoffe, das hilft Dir weiter. Quote Link to comment Share on other sites More sharing options...
titanfx Posted May 28, 2011 Report Share Posted May 28, 2011 ich würde es einfach so schreiben: static double lasthigh; // speichere letzten Hochkursif(Bid > lasthigh) { Print("neues Hoch"); lasthigh = Bid;} Quote Link to comment Share on other sites More sharing options...
Mythos Posted May 28, 2011 Report Share Posted May 28, 2011 Ich möchte schreiben Bid> High[0](der aktuelle Tick ist größer als das letzte Hoch der aktuellen Zeitperiode), funktioniert aber nur bei Bid>High[1]. Wenn du im Code auf Gleichheit testen willst, musst du "==" verwenden. In dem Fall würdest du damit aber eigentlich "Bid >= High" testen, da es ja "==" ist auch wenn es noch nicht darüber ist. Da is die Variante von titanfx schon besser, aber:Willst immer nur komplett neue Hochs wissen oder soll er am Anfang des Bars wieder alles vergessen? Wenn du wirklich nur wissen willst ob der aktuelle Tick ein neues Hoch in der aktuellen Kerze erzeugt hat müsstest du titanfx's Code noch erweitern, ca. so:(hier siehst du auch gleich die Verwendung vom Gegenteil von "==", also ungleich: "!=") static double lasthigh; // speichere letzten Hochkurs static datetime bartime; if(bartime != Time[0]) { //Erster Tick vom neuen Bar: "Vergiss" altes High, //sorgt auch dafür das der erste Tick nicht als neues High genommen wird. bartime= Time[0]; lasthigh= High[0]; } if(Bid > lasthigh) { Print("neues Hoch"); lasthigh = Bid; } HTHmythos Quote Link to comment Share on other sites More sharing options...
Omega Posted May 31, 2011 Author Report Share Posted May 31, 2011 Danke an Euch für die echt konstruktiven Antworten. Ich denke Eure Lösungsvorschläge sind der richtige Weg. Zur Zeit leider berufsbedingt kaum Zeit dafür. Aber danke nochmal, hier wird einem geholfen. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.