1 Min Trading Strategy

Viewing 15 posts - 91 through 105 (of 220 total)
  • Author
    Posts
  • #45841 quote
    juanj
    Participant
    Master

    @Andre Vorster, maybe you can just share the SL and TP levels you used for the different fx pairs  (as identified by you using WF analysis).

    #45842 quote
    Andre Vorster
    Participant
    Senior

    I recently stopped Auto trading on these strategies. Mainly because I want to run more Backtesting with WFA.
    I was away for a while and could not watch the market so I did not give trading much attention.

    These SL, TP values I did by manually changing each value, run back test and exported the results to Excel to make comparisons. None of these has TS, which can or can’t give better results. Still need to backtest these with TS. Just out of curiosity, I also want to test my manual way of analysing against WFA. Then put the manual values I think good in WFA to see the “future”.

    1 contract each.
    AUD/USD – 1min – TP-6 SL-25. 09 trades – Gain 419.50 – Loss 0 – Avg gain: £46,61
    EUR/USD – 1min – TP-6 SL-29. 11 trades – Gain 474,68 – Loss 224,33 – Avg gain: £22,76
    EUR/CHF – 1min – TP-8 SL-70. 06 trades – Gain 393,43 – Loss 0 – Avg gain: £65,57

    As you will see the trades done is quite low so one can’t take any statistics from these results.

    #45843 quote
    Nicolas
    Keymaster
    Master

    FYI, new data engine is coming soon. 7 times faster, currently testing it myself in Beta. Should help a lot for WF analysis!

    Despair, Andre Vorster, Inertia and 6 others thanked this post
    #45845 quote
    BC
    Participant
    Master

    Wow~great

    Eric thanked this post
    #45870 quote
    juanj
    Participant
    Master

    Concerning the division by zero issue see: https://www.prorealcode.com/topic/division-by-zero-error-solved/

    #45923 quote
    JR1976
    Participant
    Veteran

    Ref. post n.  #45737

    HI Inertia ,

    the specific window  seems like  so good , DO you think to use  this strategy it in real  account ?

    thanks

    REgards.

    #46227 quote
    Andre Vorster
    Participant
    Senior

    Hello.

    Some WFA and backtesting results from the code below.
    The WFA analysis seems a bit confusing 😐 The results with the lowest score 16,08% seems to yield the best results. Or may be I’m missing something…
    Any suggestions on these WFA results? Which would you chose..?
    Firstly I ran the backtest a few times to get the best ST/TP figures. Then ran WFA with the same figures with some points higher and some lower just to confirm WFA gets the same values.

    //-------------------------------------------------------------------------
    // Main code : EUR/USD 1min 0.8
    //-------------------------------------------------------------------------
    Defparam cumulateorders = false
     
    If longonmarket and close < positionprice and (barindex-tradeindex) > 650 Then
    Sell at market
    ElsIf shortonmarket and close > positionprice and (barindex-tradeindex) > 60 then
    Exitshort at market
    EndIf
     
    body=close-open
    abody=abs(body)
    if range>0 then
    ratio=abody/range
    else
    ratio=0
    endif
     
    middle=(open+close)/2
    bodytop=max(open, close)
    bodybottom=min(open, close)
    shadowtop=high-bodytop
    shadowbottom=bodybottom-low
    longcandle= (ratio>0.6)
     
    Bull = 0
    Bear = 0
     
    //Bullish Signals
    MorningStar=(body[2]<0 and body>0 and longcandle[2] and open[1]<close[2] and open>close[1] and ratio[1]<0.3 and abody[1]<abody[2] and abody[1]<abody and low[1]<low and low[1]<low[2] and high[1]<open[2] and high[1]<close)
    if MorningStar then
    Bull = 1 //Positive
    endif
     
    PiercingLine=(body[1]<0 and body>0 and longcandle[1] and longcandle and open<low[1] and close>middle[1] and close<open[1])
    if PiercingLine then
    Bull = 1 //None
    endif
     
    AbandonedBabyBottom=(body[2]<0 and body>0 and longcandle[2] and ratio[1]<0.3 and high[1]<low[2] and high[1]<low)
    if AbandonedBabyBottom then
    Bull = 1 //None
    endif
     
    ThreeInsideUp=(body[2]<0 and body[1]>0 and body>0 and BullishHarami[1] and close>close[1])
    if ThreeInsideUp then
    Bull = 1 //Positive
    endif
     
    ThreeOutsideUp=(body[2]<0 and body[1]>0 and body>0 and BullishEngulfing[1] and close>close[1])
    if ThreeOutsideUp then
    Bull = 1 //Positive
    endif
     
    ThreeWhiteSoldiers=(body[2]>0 and body[1]>0 and body>0 and high[1]>high[2] and high>high[1] and close[1]>close[2] and close>close[1] and open[1]>open[2] and open[1]<close[2] and open>open[1] and open<close[1])
    if ThreeWhiteSoldiers then
    //Bull = 1 //Increase Drawdown
    endif
     
    ConcealingBabySwallow=(body[3]<0 and body[2]<0 and body[1]<0 and body<0 and ratio[3]>0.8 and ratio[2]>0.8 and ratio>0.8 and open[1]<close[2] and high[1]>close[2] and shadowtop[1]>0.6*(abody[1]+shadowbottom[1]) and bodybottom<bodybottom[1] and bodytop>high[1])
    if ConcealingBabySwallow then
    Bull = 1 //None
    endif
     
    BullishHarami=(body[1]<0 and body>0 and longcandle[1] and bodybottom>bodybottom[1] and bodytop<bodytop[1])
    if BullishHarami then
    //Bull = 1 //Negative Impact
    endif
     
    HomingPigeon=(body[1]<0 and body<0 and longcandle[1] and bodybottom>bodybottom[1] and bodytop<bodytop[1])
    if HomingPigeon then
    Bull = 1 //None
    endif
     
    BullishEngulfing=(body[1]<0 and body>0 and bodybottom<bodybottom[1] and bodytop>bodytop[1] and longcandle)
    if BullishEngulfing then
    Bull = 1 //Positive
    endif
     
    LastEngulfingBottom=(body[1]>0 and body<0 and bodybottom<bodybottom[1] and bodytop>bodytop[1] and longcandle)
    if LastEngulfingBottom then
    Bull = 1 //None
    endif
     
    DragonflyDojiBottom=(body[1]<0 and longcandle[1] and low<low[1] and shadowbottom>3*abody and shadowtop<shadowbottom/3)
    if DragonflyDojiBottom then
    Bull = 1 //None
    endif
     
    GravestoneDojiBottom=(body[1]<0 and longcandle[1] and low<low[1] and shadowtop>3*abody and shadowbottom<shadowtop/3)
    if GravestoneDojiBottom then
    Bull = 1 //None
    endif
     
    DojiStarBottom=(body[1]<0 AND longcandle[1] AND low<low[1] AND open<close[1] AND ratio<0.3 AND range<0.3*range[1])
    if DojiStarBottom then
    Bull = 1 //None
    endif
     
    BullishHaramiCross=(body[1]<0 and longcandle[1] and bodybottom>bodybottom[1] and bodytop<bodytop[1] and ratio<0.3 and range<0.3*range[1])
    if BullishHaramiCross then
    Bull = 1 //None
    endif
     
    ThreeStarsInTheSouth=(body[2]<0 and body[1]<0 and body<0 and shadowtop[2]<range[2]/4 and shadowbottom[2]>abody[2]/2 and low[1]>low[2] and high[1]<high[2] and abody[1]<abody[2] and shadowtop[1]<range[1]/4 and shadowbottom[1]>abody[1]/2 and low>low[1] and high<high[1] and abody<abody[1] and shadowtop<range/4 and shadowbottom<range/4)
    if ThreeStarsInTheSouth then
    Bull = 1 //None
    endif
     
    BullishBreakaway=(body[4]<0 and body[3]<0 and body>0 and open[3]<close[4] and close[2]<close[3] and close[1]<close[2] and longcandle and close<close[4] and close>open[3])
    if BullishBreakaway then
    Bull = 1 //None
    endif
     
    Hammer=(body[1]<0 and longcandle[1] and low<low[1] and shadowbottom>2*abody and shadowtop<0.3*abody)
    if Hammer then
    Bull = 1 //None
    endif
     
    InvertedHammer=(body[1]<0 and longcandle[1] and low<low[1] and shadowtop>2*abody and shadowbottom<0.3*abody)
    if InvertedHammer then
    Bull = 1 //None
    endif
     
    RisingThreeMethods=(body[4]>0 and body[3]<0 and body[1]<0 and body>0 and longcandle[4] and longcandle and close[2]<close[3] and close[1]<close[2] and high[2]<high[3] and high[1]<high[2] and low[1]>low[4] and open>close[1] and close>high[4] and close>high[3] and close>high[2] and close>high[1])
    if RisingThreeMethods then
    Bull = 1 //None
    endif
     
    BullishThreeLineStrike=(body[3]>0 and body[2]>0 and body[1]>0 and body<0 and longcandle[3] and longcandle[2] and longcandle[1] and close[2]>close[3] and close[1]>close[2] and open>close[1] and close<open[3])
    if BullishThreeLineStrike then
    Bull = 1 //None
    endif
     
    BullishMatHold=(body[4]>0 and body[3]<0 and body[1]<0 and body>0 and longcandle[4] and close[3]>close[4] and close[2]<close[3] and close[1]<close[2] and high[2]<high[3] and high[1]<high[2] and low[1]>low[4] and open>close[1] and close>high[4] and close>high[3] and close>high[2] and close>high[1])
    if BullishMatHold then
    Bull = 1 //None
    endif
     
    BullSash=(body[1]<0 AND longcandle[1] AND body>0 AND longcandle AND open>close[1] AND open<open[1] AND close>open[1] AND shadowtop<0.1*abody)
    if BullSash then
    Bull = 1 //Positive
    endif
     
    BullSeparatingLine=(body[1]<0 AND longcandle[1] AND body>0 AND longcandle AND open>=open[1] AND shadowtop<0.1*abody)
    if BullSeparatingLine then
    Bull = 1 //None
    endif
     
    BullishCounterAttack=(body[1]<0 AND longcandle[1] AND body>0 AND longcandle AND close<=close[1])
    if BullishCounterAttack then
    Bull = 1 //None
    endif
     
    BullishKicking=(body[1]<0 AND longcandle[1] AND body>0 AND longcandle AND open>=open[1] AND shadowtop=0 AND shadowbottom=0)
    if BullishKicking then
    Bull = 1 //None
    endif
     
    //Bearish Signal
     
    EveningStar=(body[2]>0 AND body<0 and longcandle[2] and open[1]>close[2] and open<close[1] and ratio[1]<0.3 and abody[1]<abody[2] and abody[1]<abody and high[1]>high and high[1]>high[2] and low[1]>open[2] and low[1]>close)
    if EveningStar then
    Bear = 1
    endif
     
    DarkCloudCover=(body[1]>0 and body<0 and longcandle[1] and longcandle and open>high[1] and close<middle[1] and close>open[1])
    if DarkCloudCover then
    Bear = 1
    endif
     
    AbandonedBabyTop=(body[2]>0 and body<0 and longcandle[2] and ratio[1]<0.3 and low[1]>high[2] and low[1]>high)
    if AbandonedBabyTop then
    Bear = 1
    endif
     
    ThreeInsideDown=(body[2]>0 and body[1]<0 and body<0 and bearishharami[1] and close<close[1])
    if ThreeInsideDown then
    Bear = 1
    endif
     
    ThreeOutsideDown=(body[2]>0 and body[1]<0 and body<0 and bearishengulfing[1] and close<close[1])
    if ThreeOutsideDown then
    Bear = 1
    endif
     
    ThreeBlackCrows=(body[2]<0 and body[1]<0 and body<0 and longcandle[2] and longcandle[1] and longcandle and low[1]<low[2] and low<low[1] and close[1]<close[2] and close<close[1] and open[1]<open[2] and open[1]>close[2] and open<open[1] and open>close[1])
    if ThreeBlackCrows then
    Bear = 1
    endif
     
    UpsideGapTwoCrows=(body[2]>0 and body[1]<0 and body<0 and longcandle[2] and open[1]>close[2] and bodytop>bodytop[1] and bodybottom<bodybottom[1] and close>close[2])
    if UpsideGapTwoCrows then
    Bear = 1
    endif
     
    BearishHarami=(body[1]>0 and body<0 and longcandle[1] and bodybottom>bodybottom[1] and bodytop<bodytop[1])
    if BearishHarami then
    Bear = 1
    endif
     
    DescendingHawk=(body[1]>0 and body>0 and longcandle[1] and bodybottom>bodybottom[1] and bodytop<bodytop[1])
    if DescendingHawk then
    Bear = 1
    endif
     
    BearishEngulfing=(body[1]>0 and body<0 and bodybottom<bodybottom[1] and bodytop>bodytop[1] and longcandle)
    if BearishEngulfing then
    Bear = 1
    endif
     
    LastEngulfingTop=(body[1]<0 and body>0 and bodybottom<bodybottom[1] and bodytop>bodytop[1] and longcandle)
    if LastEngulfingTop then
    Bear = 1
    endif
     
    DragonflyDojiTop=(body[1]>0 and longcandle[1] and high>high[1] and shadowbottom>3*abody and shadowtop<shadowbottom/3)
    if DragonflyDojiTop then
    Bear = 1
    endif
     
    GravestoneDojiTop=(body[1]>0 and longcandle[1] and high>high[1] and shadowtop>3*abody and shadowbottom<shadowtop/3)
    if GravestoneDojiTop then
    Bear = 1
    endif
     
    DojiStarTop=(body[1]>0 AND longcandle[1] AND high>high[1] AND open>close[1] AND ratio<0.3 AND range<0.3*range[1])
    if DojiStarTop then
    Bear = 1
    endif
     
    BearishHaramiCross=(body[1]>0 and longcandle[1] and bodybottom>bodybottom[1] and bodytop<bodytop[1] and ratio<0.3 and range<0.3*range[1])
    if BearishHaramiCross then
    Bear = 1
    endif
     
    AdvanceBlock=(body[2]>0 and body[1]>0 and body>0 and high[2]<high[1] and high[1]<high and open[1]>bodybottom[2] and open[1]<bodytop[2] and open>bodybottom[1] and open<bodytop[1] and abody[1]<abody[2] and abody<abody[1])
    if AdvanceBlock then
    Bear = 1
    endif
     
    TwoCrows=(body[2]>0 and body[1]<0 and body<0 and longcandle[2] and open[1]>close[2] and close[1]>close[2] and open<bodytop[1] and open>bodybottom[1] and close<bodytop[2] and close>bodybottom[2])
    if TwoCrows then
    Bear = 1
    endif
     
    BearishBreakaway=(body[4]>0 and body[3]>0 and body<0 and open[3]>close[4] and close[2]>close[3] and close[1]>close[2] and longcandle and close>close[4] and close<open[3])
    if BearishBreakaway then
    Bear = 1
    endif
     
    ShootingStar=(body[1]>0 and longcandle[1] and high>high[1] and shadowtop>2*abody and shadowbottom<0.3*abody)
    if ShootingStar then
    Bear = 1
    endif
     
    HangingMan=(body[1]>0 and longcandle[1] and high>high[1] and shadowbottom>2*abody and shadowtop<0.3*abody)
    if HangingMan then
    Bear = 1
    endif
     
    FallingThreeMethods=(body[4]<0 and body[3]>0 and body[1]>0 and body<0 and longcandle[4] and longcandle and close[2]>close[3] and close[1]>close[2] and low[2]>low[3] and low[1]>low[2] and high[1]<high[4] and open<close[1] and close<low[4] and close<low[3] and close<low[2] and close<low[1])
    if FallingThreeMethods then
    Bear = 1
    endif
     
    BearishThreeLineStrike=(body[3]<0 and body[2]<0 and body[1]<0 and body>0 and longcandle[3] and longcandle[2] and longcandle[1] and close[2]<close[3] and close[1]<close[2] and open<close[1] and close>open[3])
    if BearishThreeLineStrike then
    Bear = 1
    endif
     
    BearishMatHold=(body[4]<0 and body[3]>0 and body[1]>0 and body<0 and longcandle[4] and close[3]<close[4] and close[2]>close[3] and close[1]>close[2] and low[2]>low[3] and low[1]>low[2] and high[1]<high[4] and open<close[1] and close<low[4] and close<low[3] and close<low[2] and close<low[1])
    if BearishMatHold then
    Bear = 1
    endif
     
    BearSash=(body[1]>0 AND longcandle[1] AND body<0 AND longcandle AND open>open[1] AND open<close[1] AND close<open[1] AND shadowbottom<0.1*abody)
    if BearSash then
    Bear = 1
    endif
     
    BearSeparatingLine=(body[1]>0 AND longcandle[1] AND body<0 AND longcandle AND open<=open[1] AND shadowbottom<0.1*abody)
    if BearSeparatingLine then
    Bear = 1
    endif
     
    BearishCounterAttack=(body[1]>0 AND longcandle[1] AND body<0 AND longcandle AND close>=close[1])
    if BearishCounterAttack then
    Bear = 1
    endif
     
    BearishKicking=(body[1]>0 AND longcandle[1] AND body<0 AND longcandle AND open<=open[1] AND shadowtop=0 AND shadowbottom=0)
    if BearishKicking then
    Bear = 1
    endif
     
    //Entry/Exit Criteria
     
    possize = 1
     
    NearMA = Average[7,2](close)
     
    If countofposition = 0 and Bull = 1 and NearMA[1] > NearMA[3] and RSI[2](close) > 75 and NearMA > Average[150,2](close) Then
    //If shortonmarket Then
    //Exitshort at market
    //EndIf
    Buy possize contract at market
    EndIf
     
    If countofposition = 0 and Bear = 1 and NearMA[1] < NearMA[3] and RSI[2](close) < 25 and NearMA < Average[150,2](close) Then
    //If longonmarket Then
    //Sell at market
    //EndIf
    //Sellshort possize contract at market
    EndIf
     
    Set Target pProfit tp //change according to own profile
    Set Stop pLoss sl //change according to own profile
    
    //EOF
    #####################################################
    EURUSD-1min-0.8-20170913-chart-03.jpg EURUSD-1min-0.8-20170913-chart-03.jpg EURUSD-1min-0.8-20170913-CHART.jpg EURUSD-1min-0.8-20170913-CHART.jpg EURUSD-1min-0.8-20170913-RESULTS.jpg EURUSD-1min-0.8-20170913-RESULTS.jpg EURUSD-1min-0.8-20170913.jpg EURUSD-1min-0.8-20170913.jpg
    #46243 quote
    Despair
    Blocked
    Master

    Run now a single run (no WFA) beginning 6 weeks back from today. Then receive the parameters you should use for the next 2 weeks. Then you have to re optimize. This is how you should do it if you want to trade it.

    But well, the result crashes in the last period. So this doesn’t look very encouraging.

    Andre Vorster thanked this post
    #46250 quote
    Inertia
    Participant
    Master

    Still monitoring…

    #46265 quote
    Andre Vorster
    Participant
    Senior

    I publish the results I get for others here. Just as an FYI.
    I’m running these on Live account.

    What just puzzeled me from the WFA analysis is the results with the lowest % score showed the highest return. Interesting ….

    #46266 quote
    Despair
    Blocked
    Master

    The score is always relative to the profit during respective insample period. So there is nothing strange about it.

    Andre Vorster thanked this post
    #46267 quote
    Andre Vorster
    Participant
    Senior

    @Despair.

    Makes sense. Thank you.

    #46278 quote
    raphaelopilski
    Participant
    Senior

    is there a possibility to program something like weekperformance or dayperformance?

    example: if performance of week is bigger than x euro than no trade in the week anymore

    I hope you guys know what I mean. Thanks!

    #46284 quote
    Despair
    Blocked
    Master

    Yes, this is possible but I don’t think it will improve the results significantly. I think such daily or weekly goals or max DD are more used in manual trading to avoid overtrading.

    Applying such a tactic on an automated strategy will introduce a random element in the results. To get a static of a system to see if it is good or bad it is important that the system takes all trade signals generated by the system. If you select from the generated results arbitrarily you will get a distorted test result.

    #46334 quote
    raphaelopilski
    Participant
    Senior

    ok, thanks for the answer. I understand you. could you give me the code anyway? I would just like to know how to program it…

Viewing 15 posts - 91 through 105 (of 220 total)
  • You must be logged in to reply to this topic.

1 Min Trading Strategy


ProOrder: Automated Strategies & Backtesting

New Reply
Author
author-avatar
juanj @juanj Participant
Summary

This topic contains 219 replies,
has 29 voices, and was last updated by Leo
8 years, 2 months ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 07/13/2017
Status: Active
Attachments: 65 files
Logo Logo
Loading...