Bedingung für Einstieg zu verschiedenen Uhrzeiten

Forums ProRealTime Deutsch forum ProOrder Support Bedingung für Einstieg zu verschiedenen Uhrzeiten

Viewing 9 posts - 1 through 9 (of 9 total)
  • #54294

    Hallo Zusammen,

    ich beschäftige mich zum ersten Mal mit der ProOrder-Programmierung und verstehe nicht warum der nachfolgende Code nicht funktioniert. Es werden keine Order platziert. Es scheint am Setzen der Variable Y in der Einstiegsbedingung für 9:00-12:00 zu liegen. Durch das Setzen von Y auf 1 bzw. 2 beim Einstieg wollte ich erreichen, dass der jeweils zum Einstieg gehörige Ausstieg ausgeführt wird. Das Zurücksetzen von Y auf 0 beim Ausstieg soll bewirken, dass der nächste Einstieg möglich ist. Hat jemand eine Idee warum es nicht funktioniert und wie es richtig wäre?

    Gruß
    Boerniii

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert
    ONCE Y = 0

    // Zwischen 09:00 und 12:00
    // Bedingungen zum Einstieg
    IF NOT LONGONMARKET AND (CurrentTime = 090000) AND (Y = 0) THEN
    BUY 1 CONTRACT AT MARKET
    Y = 1
    ENDIF
    // Bedingungen zum Ausstieg
    IF LONGONMARKET AND (CurrentTime >= 120000) AND (Y = 1) THEN
    SELL AT MARKET
    Y = 0
    ENDIF

    // Zwischen 14:00 und 17:00
    // Bedingungen zum Einstieg
    IF NOT SHORTONMARKET AND (CurrentTime = 140000) AND (Y = 0) THEN
    SELLSHORT 1 CONTRACT AT MARKET
    Y = 2
    ENDIF
    // Bedingungen zum Ausstieg
    IF SHORTONMARKET AND (CurrentTime >= 170000) AND (Y = 2) THEN
    EXITSHORT AT MARKET
    Y = 0
    ENDIF

    SET STOP pLOSS 30
    SET TARGET pPROFIT 60

    #54327

    Willst du vormittag long und nachmittag short gehen??

    #54329

    Ich hab die y raus genommen und es geht

    #54335

    oder willst du nur einen trade in jede richtung

    #54337

    Vielen Dank für Dein Antwort. Das ist richtig, aber ich benötig eine Variable zur Steuerung, da ich mehrfach Long bzw. Short gehen möchte. Es geht mir auch generell darum, wie ich mit solchen Variablen Ein- und Ausstiege steuern kann.

    #54338

    ja es soll zwischen zwei Uhrzeiten immer nur ein Trade laufen.

    #54344

    dann vielleicht starttime und endtime definieren

    und das als bedingung mit rein nehmen?

    #54347

    Bin mir zwar nicht sicher, ob Du das so gemeint hast, aber ich werde heute Abend mal versuchen für jeden Zeitraum eine If Bedingung anzulegen und innerhalb dieser dann die beiden Bedingungen für Ein- und Ausstieg. Das könnte tatsächlich klappen. Von daher vielen Dank für den Gedanken.

    Warum das mit Variable nicht funktioniert, begreife ich allerdings immer noch nicht. Es ist als ob der initial auf 0 gesetzte Wert schon auf 1 gesetzt wird bevor die erste Bedingung abgearbeitet wird.

    #54926

    Es gibt 2 Probleme hier :

    1. fängt der Code in einer Vergangenheit VOR der Anzeige an zu rechnen, die der Menge der zuvor geladenen Bars entspricht. Also, wenn preloadbars = 2000 ist, dann wird 2000 Mal schon vor Beginn der Anzeige das ganze Programm abgearbeitet, aber es können noch keine Orders ausgeführt werden,  und Y steht dann immer auf 2. Das kann man vermeiden, indem man einfügt  :

    defparam preloadbars = 2000

    If barindex = 2000 then
    y = 0
    endif

     

    2. gibt es das Problem, wenn eine Position während der Haltedauer in den Stop oder ins Limit läuft, dann bleibt Y immer beim vorherigen Wert stehen und wird nicht wieder auf 0 zurückgesetzt. Auch dann findet danach keine Aktion mehr statt.

    Man muß also außerdem noch einfügen :

    If not onmarket then

    Y = 0

    endif

     

    Damit funktioniert alles. Den ersten Befehl mit dem barindex kann man dann auch weglassen.

     

    Den Wert von Y kann man sich anzeigen lassen mittels

    graph Y as “Y”

     

     

Viewing 9 posts - 1 through 9 (of 9 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login