Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Obtain new variable after 3 consecutive signals and generate new values after 6 and 8 periods

    Hi! With the variable buy_signal I've created buy signals. I have the following rule after which I would want to generate buy and sell signals: if there are 3 consecutive BUY signals generated by buy_signal, at the third a BUY should be generated. Then, 4 periods later a SELL signals should be generated (see code below, variable 'wanted4'). The exact same should be with wanted6, but instead of 4 periods I would want that after 6 periods a SELL should be created after a BUY signal (see code below, variable 'wanted6').

    The variables 'wanted4' and 'wanted6' in the following dataex correctly shows how the output should be:

    Code:
    * Example generated by -dataex-. For more info, type help dataex
    clear
    input str3(buy_signal wanted4 wanted6)
    "" "" ""
    "" "" ""
    "" "" ""
    "" "" ""
    "" "" ""
    "" "" ""
    "" "" "" 
    "BUY" "" ""
    "BUY" "" ""
    "" "" "" 
    "" "" ""
    "" "" ""
    "BUY" "" ""
    "BUY" "" ""
    "BUY" "BUY" "BUY"
    "BUY" "" ""
    "BUY" "" ""
    "BUY" "" ""
    "BUY" "SELL" ""
    "BUY" "BUY" ""
    "BUY" "" "SELL"
    "BUY" "" "BUY"
    "BUY" "" ""
    "BUY" "SELL" ""
    "BUY" "BUY" ""
    "" "" ""
    "BUY" "" ""
    "BUY" "" "SELL"
    "" "SELL" ""
    "BUY" "" ""
    "BUY" "" ""
    "BUY" "BUY" "BUY"
    "" "" "" 
    "" "" ""
    "" "" ""
    "" "SELL" ""
    "BUY" "" ""
    "BUY" "" "SELL"
    "BUY" "BUY" "BUY"
    "" "" ""
    "BUY" "" ""
    "BUY" "" "" 
    "BUY" "SELL" ""
    "BUY" "BUY" ""
    "" "" "SELL"
    "BUY" "" ""
    "BUY" "" ""
    "BUY" "SELL" "BUY"
    "" "" ""
    "BUY" "" ""
    "" "" "" 
    "BUY" "" ""
    "BUY" "" ""
    "" "" "SELL"
    "" "" "" 
    "" "" ""
    "BUY" "" ""
    "" "" ""
    "" "" ""
    "" "" ""
    "BUY" "" ""
    "BUY" "" ""
    "BUY" "BUY" "BUY"
    "" "" ""
    "" "" ""
    "" "" "" 
    "" "SELL ""
    "BUY" "" ""
    "BUY" "" "SELL"  
     end
    Thank you very much in advance!

  • #2
    A clumsy solution

    Code:
    gen v4 = ""
    replace v4 = "BUY" if buy_signal == "BUY" & buy_signal[_n-1] == "BUY" & buy_signal[_n-2] == "BUY" & ///
                          v4[_n-1] != "BUY" & v4[_n-2] != "BUY" & v4[_n-3] != "BUY" & v4[_n-4] != "BUY"
    replace v4 = "SELL" if v4[_n-4] == "BUY"
    
    gen v6 = ""
    replace v6 = "BUY" if buy_signal == "BUY" & buy_signal[_n-1] == "BUY" & buy_signal[_n-2] == "BUY" & ///
                          v6[_n-1] != "BUY" & v6[_n-2] != "BUY" & v6[_n-3] != "BUY" & v6[_n-4] != "BUY" & v6[_n-5] != "BUY" & v6[_n-6] != "BUY"
    replace v6 = "SELL" if v6[_n-6] == "BUY"
    Code:
    . list wanted4 v4 wanted6 v6
    
         +---------------------------------+
         | wanted4     v4   wanted6     v6 |
         |---------------------------------|
      1. |                                 |
      2. |                                 |
      3. |                                 |
      4. |                                 |
      5. |                                 |
         |---------------------------------|
      6. |                                 |
      7. |                                 |
      8. |                                 |
      9. |                                 |
     10. |                                 |
         |---------------------------------|
     11. |                                 |
     12. |                                 |
     13. |                                 |
     14. |                                 |
     15. |     BUY    BUY       BUY    BUY |
         |---------------------------------|
     16. |                                 |
     17. |                                 |
     18. |                                 |
     19. |    SELL   SELL                  |
     20. |     BUY    BUY                  |
         |---------------------------------|
     21. |                     SELL   SELL |
     22. |                      BUY    BUY |
     23. |                                 |
     24. |    SELL   SELL                  |
     25. |     BUY    BUY                  |
         |---------------------------------|
     26. |                                 |
     27. |                                 |
     28. |                     SELL   SELL |
     29. |    SELL   SELL                  |
     30. |                                 |
         |---------------------------------|
     31. |                                 |
     32. |     BUY    BUY       BUY    BUY |
     33. |                                 |
     34. |                                 |
     35. |                                 |
         |---------------------------------|
     36. |    SELL   SELL                  |
     37. |                                 |
     38. |                     SELL   SELL |
     39. |     BUY    BUY       BUY    BUY |
     40. |                                 |
         |---------------------------------|
     41. |                                 |
     42. |                                 |
     43. |    SELL   SELL                  |
     44. |     BUY    BUY                  |
     45. |                     SELL   SELL |
         |---------------------------------|
     46. |                                 |
     47. |                                 |
     48. |    SELL   SELL       BUY    BUY |
     49. |                                 |
     50. |                                 |
         |---------------------------------|
     51. |                                 |
     52. |                                 |
     53. |                                 |
     54. |                     SELL   SELL |
     55. |                                 |
         |---------------------------------|
     56. |                                 |
     57. |                                 |
     58. |                                 |
     59. |                                 |
     60. |                                 |
         |---------------------------------|
     61. |                                 |
     62. |                                 |
     63. |     BUY    BUY       BUY    BUY |
     64. |                                 |
     65. |                                 |
         |---------------------------------|
     66. |                                 |
     67. |    SELL   SELL                  |
     68. |                                 |
     69. |                     SELL   SELL |
         +---------------------------------+
    Last edited by Fei Wang; 25 Nov 2021, 03:19.

    Comment


    • #3
      Thank you very much!

      Comment

      Working...
      X