Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

aktuelles Hoch/Tief im Code

Geschrieben

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!

Featured Replies

Geschrieben
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

Geschrieben
  • Autor

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.

Geschrieben

Hi,

 

"=" ist in C eine Zuweisung, der Vergleichsoperator ist "==".

Hoffe, das hilft Dir weiter.

 

 

Geschrieben

ich würde es einfach so schreiben:

 

static double lasthigh; // speichere letzten Hochkurs

if(Bid > lasthigh) {

Print("neues Hoch");

lasthigh = Bid;

}

Geschrieben
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;
}

 

HTH

mythos

Geschrieben
  • Autor

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. :smile:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.