Not Entering a new short

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #186610 quote
    1548284715482847
    Member
    New

    Good evening,

    I have set up my code to enter a long trade every time a 4hour candle closes green. At the end of the next 4h candle the trade should close and a new trade should be entered based on the same rules.

    If the 4h candle closes red it should enter a short.

    Currently all works fine except if a short trade is open, once the candle ends, the trade closes BUT a new trade is not entered. It does perfectly work with a long, just not a short.

    Could anyone please have a look at my code and let me know why this is happening? I would greatly appreciate it!

    Kind regards,

    Anton

    // Definition of code parameters
    DEFPARAM CumulateOrders = False // Cumulating positions deactivated
    
    ONCE SL = 300
    ONCE Capital = 20000
    ONCE Risk = 0.10
    equity = Capital + StrategyProfit
    maxrisk = round(equity*Risk)
    
    //PositionSize = abs(round((maxrisk/SL)/2))
    PositionSize = 5
    SET STOP pLOSS SL
    
    
    // Conditions to enter long positions
    c1 = (close >= close[1])
    
    IF c1 THEN
    BUY PositionSize CONTRACT AT MARKET
    ENDIF
    
    // Conditions to exit long positions
    
    
    IF Longonmarket then
    IF open<close Then
    SELL AT MARKET
    ENDIF
    ENDIF
    
    
    // Conditions to enter short positions
    c3 = (close < close[1])
    
    IF c3 THEN
    SELLSHORT PositionSize CONTRACT AT MARKET
    ENDIF
    
    // Conditions to exit short positions
    IF Shortonmarket then
    IF open>close Then
    ExitShort AT MARKET
    ENDIF
    ENDIF
    #188318 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Actually you are not trying to detect GREEN (close > open) and RED (close < open) candlesticks, rather those closing higher than the previous one (it could be a RED candle that opened in a gap, then closed still higher than the previous one, or the other way round).

    Anyway, the code seems to work as expected. Keep in mind that it takes a whole bar for the strategy to be aware of a new status (from OnMarket to Not OnMarket and viceversa, just like LongOnMarket and ShortOnMarket with their NOT counterpart).

    This version simply does a Stop & Reverse, thus not waiting for a NOT OnMarket condition. Try if that is what you are looking for:

    // Definition of code parameters
    DEFPARAM CumulateOrders = False // Cumulating positions deactivated
     
    ONCE SL = 300
    ONCE Capital = 20000
    ONCE Risk = 0.10
    equity = Capital + StrategyProfit
    maxrisk = round(equity*Risk)
     
    //PositionSize = abs(round((maxrisk/SL)/2))
    PositionSize = 5
    SET STOP pLOSS SL
     
     
    // Conditions to enter long positions
    c1 = (close >= close[1])
     
    IF c1 THEN
    BUY PositionSize CONTRACT AT MARKET
    ENDIF
     
    // Conditions to exit long positions
     
     
    //IF Longonmarket then
    //IF open<close Then
    //SELL AT MARKET
    //ENDIF
    //ENDIF
     
     
    // Conditions to enter short positions
    c3 = (close < close[1])
     
    IF c3 THEN
    SELLSHORT PositionSize CONTRACT AT MARKET
    ENDIF
     
    // Conditions to exit short positions
    //IF Shortonmarket then
    //IF open>close Then
    //ExitShort AT MARKET
    //ENDIF
    //ENDIF
    //graph c1 coloured(0,128,0,155)
    //graph c3 coloured(255,0,0,255)
    15482847 thanked this post
    #188329 quote
    1548284715482847
    Member
    New

    Thank you Roberto, you have just answered two big questions for me.  Using (close[1] > open[1]) just solved another issue I had with a different code I’m working on.

    Thanks again, I really appreciate it!

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Not Entering a new short


ProOrder: Automated Strategies & Backtesting

New Reply
Author
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by 1548284715482847
4 years, 7 months ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 01/25/2022
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...