EA vs Overfitting Problems

Thảo luận trong 'Lập trình MQL - Expert Advisor - Indicator' bắt đầu bởi NamVu82, 13/11/2019.

  1. NamVu82

    NamVu82

    501
    521
    Khi lập trình EA, việc chạy Optimize để lấy tham số tối ưu không là việc lạ với anh em. Tuy nhiên, để đánh giá việc tham số tối ưu có khiến EA trở lên Overfitting hay không thì anh em lại ít đánh giá xem lại.

    Dưới đây là kết quả optimize (tham số ngẫu nhiên: 7 tham số, tổng cộng 28,158,000 bộ số kết hợp)
    Mình chạy đc 77 kết quả trong 133 tiếng.
    Anh em cho xin chút ý kiến về vấn đề Overfitting nhé.
    Cám ơn anh em.

    ******************************************************************************************************

    Optimization Report
    gama02_sep212019
    Darwinex-Live (Build 1220)


    SymbolXAUUSD (Gold vs US Dollar )
    PeriodDaily (D1) 2011.07.25 00:00 - 2019.10.18 00:00 (2011.07.25 - 2019.10.19)
    ModelEvery tick (the most precise method based on all available least timeframes)
    Initial deposit2000.00
    Spread20
    [​IMG]

    PassProfitTotal tradesProfit factorExpected PayoffDrawdown $Drawdown %
    1144853.973591.14403.49181291.9273.66
    273089.605121.11142.75145493.2594.82
    31192.443731.033.2010412.5191.42
    4810845.613921.132068.481334362.4276.35
    5141680.825391.06262.86468366.0090.72
    643549.112811.25154.9836390.8781.80
    796556.134751.08203.28197997.7081.07
    81681.853011.025.5921166.6885.64
    96897.363831.0518.0151149.0587.56
    1083103.804121.12201.71144022.0785.80
    112312.031571.1914.735281.3983.34
    12267586.214501.20594.64282449.7581.45
    132071043.073811.135435.814481813.6676.33
    142450.001791.0913.6911210.6586.08
    1553614.335281.04101.54328408.6788.46
    162027.714021.015.0430500.5389.02
    17933496.533821.222443.711258646.8461.87
    18125864.764711.06267.23576656.6581.85
    1932141.573051.20105.3840740.5387.10
    2073871.482691.15274.62231929.9077.18
    216734.173301.0520.4144177.5287.70
    22501.771401.043.583476.7084.17
    23388899.593921.24992.09638026.3579.51
    2430182.763951.2076.4141932.9293.34
    258526936.344421.2619291.719854230.1582.30
    26308.294911.000.6321157.8390.73
    27271822.993341.21813.84308226.4176.83
    28244096.832851.26856.48364742.2375.58
    2915476.211821.4985.0313308.5578.33
    30343001.283951.16868.36454894.9975.47
    310.0000.000.000.000.00
    3214274.623651.1439.1125567.9091.54
    3337240.984431.1484.0754599.0194.60
    342724255.074231.226440.325232855.4572.11
    3541510.613761.21110.4033475.3883.40
    36113636.293961.11286.96282205.5978.06
    37666247.674131.221613.19469433.2884.15
    380.0000.000.000.000.00
    3937530.002911.12128.97138520.1284.22
    4019937.275901.0333.79108086.8394.24
    411928.102161.108.934806.5983.81
    42-1558.502140.89-7.287473.1394.86
    43216.254421.000.4920059.8391.13
    441341307.573691.343634.981609480.6870.94
    45119.272531.000.4731716.2993.74
    469474170.743931.3124107.307521478.2582.98
    47-1566.202110.90-7.425186.4092.28
    48215.731571.021.375761.1094.55
    49393070.443211.231224.52339543.9070.40
    500.0000.000.000.000.00
    5140328.801881.35214.5158774.9585.12
    520.0000.000.000.000.00
    53113918.223361.17339.04116050.9381.81
    54-1173.551740.97-6.7416175.5295.16
    550.0000.000.000.000.00
    565952.595181.0111.4986432.7093.81
    57-1497.26790.81-18.9510426.1195.40
    5826734.344361.0561.32122282.0289.89
    59-462.17330.81-14.011534.6966.59
    60-1429.521790.76-7.993970.9093.32
    610.0000.000.000.000.00
    6243742.285221.0483.80277318.4392.82
    637941.752261.2535.147839.8674.96
    6482096.312961.22277.35100850.1789.28
    654246.871471.3128.894522.8890.13
    66-1660.59840.76-19.776704.4495.18
    671178869.903401.163467.261565444.8479.58
    6827281.783291.0782.92117228.0093.66
    6918631.484911.0337.95123759.7587.29
    705742.472141.1926.836818.6688.75
    711399741.704451.113145.493338658.7072.87
    72-741.323350.99-2.2125406.9395.34
    7361149.863641.15167.99100332.5291.74
    740.0000.000.000.000.00
    75437616.174031.111085.901238913.5373.81
    7651583.172381.22216.7450407.1774.62
    771131.032801.064.043701.8791.86
     
    Đang tải...
  2. aliba3

    aliba3

    143
    140
    Xin hỏi ngu Overfitting ở đây nghĩa là gì vậy? Optimization nó dùng thuật toán gì vậy? tại sao lại có liên quan đến Overfitting vậy bác?
     
  3. Bác cho hỏi 7 tham số bác dùng là gì vậy?

    Vấn đề overfitting lúc bác fit model thì chịu thôi, nói chung kinh nghiệm là chính. Hoặc bác có thể giải thích model của mình có sự hợp lý về mặttài chính được thì tốt.

    Anyway, mô hình bác chạy drawdown to quá!
     
    NamVu82 bài này.
  4. NamVu82

    NamVu82

    501
    521
    7 tham số của tớ là các tham số của indicator (ví dụ Ma period, MACD period, ATR period....), tớ chỉ chạy tối ưu các tham số hệ thống thôi. EA của tớ không có tham số tùy chọn (kiểu stop loss bao nhiêu pips hay take profit bao nhiêu pips)

    Về phần dd cao thì các kết quả này chỉ đại diên cho 77 bộ số trên 28 triệu bộ số thôi :D thêm nữa, vol mình sử dụng max đòn bẩy của Darwin (1:20), các tham số thực chạy của tớ đáp ứng đc dd tầm 20% :D

    Quan trọng ở đây là tớ muốn tham khảo anh em xem có ai có kinh nghiệm trong vụ phòng chống rủi ro từ EA Overfitting.
     
  5. NamVu82

    NamVu82

    501
    521
    Overfitting là việc lập trình dựa trên dữ liệu quá khứ một cách quá mức. Việc này dẫn tới mức độ hoạt động hiệu quả của EA trong tương lai giảm thiểu.
    Ví dụ đơn giản: Bạn dựa vào dữ liệu 100 giao dịch gần nhất, ở đó, giá thường đi ngược với lệnh bạn tầm 30 pips sau đó đi theo chiều bạn đặt lệnh. Như vậy, khi bạn lập trình, bạn sẽ đặt stoploss của bạn ở mức 36 pips chẳng hạn, như vậy bạn sẽ có 1 EA ở đó DD thấp, hiệu suất cao.

    Optimization là quá trình thay đổi các thông số tham số, chạy ra kết quả, sau đó so sánh các kết quả để có một bộ tham số tối ưu.
    Mình ví dụ bạn có 3 tham số, mỗi tham số có 3 lựa chọn. Như vậy bạn sẽ có 9 bộ số để chạy optimization (tối ưu).
    Sau khi chạy 9 bộ số này, bạn sẽ biết bộ số nào là tối ưu với hệ thống của bạn.
    Tuy nhiên, việc 1 bộ số trong 9 bộ số này có thể chỉ là Kết quả đẹp trong dữ liệu quá khứ bạn chọn để chạy tối ưu, nó không có nghĩa là tương lai khi bạn chạy real nó cũng ra kết quả tương tư. (Đây là EA Overfitting).
     
    No SL Trading bài này.
  6. NamVu82

    NamVu82

    501
    521
    Cập nhập tiến trình optimization (142 kết quả, 222 tiếng chạy)

    **************************************************************************

    Optimization Report
    gama02_sep212019
    Darwinex-Live (Build 1220)


    SymbolXAUUSD (Gold vs US Dollar )
    PeriodDaily (D1) 2011.07.25 00:00 - 2019.10.18 00:00 (2011.07.25 - 2019.10.19)
    ModelEvery tick (the most precise method based on all available least timeframes)
    Initial deposit2000.00
    Spread20
    OptimizationReport.
    PassProfitTotal tradesProfit factorExpected PayoffDrawdown $Drawdown %
    1144853.973591.14403.49181291.9273.66
    273089.605121.11142.75145493.2594.82
    31192.443731.033.2010412.5191.42
    4810845.613921.132068.481334362.4276.35
    5141680.825391.06262.86468366.0090.72
    643549.112811.25154.9836390.8781.80
    796556.134751.08203.28197997.7081.07
    81681.853011.025.5921166.6885.64
    96897.363831.0518.0151149.0587.56
    1083103.804121.12201.71144022.0785.80
    112312.031571.1914.735281.3983.34
    12267586.214501.20594.64282449.7581.45
    132071043.073811.135435.814481813.6676.33
    142450.001791.0913.6911210.6586.08
    1553614.335281.04101.54328408.6788.46
    162027.714021.015.0430500.5389.02
    17933496.533821.222443.711258646.8461.87
    18125864.764711.06267.23576656.6581.85
    1932141.573051.20105.3840740.5387.10
    2073871.482691.15274.62231929.9077.18
    216734.173301.0520.4144177.5287.70
    22501.771401.043.583476.7084.17
    23388899.593921.24992.09638026.3579.51
    2430182.763951.2076.4141932.9293.34
    258526936.344421.2619291.719854230.1582.30
    26308.294911.000.6321157.8390.73
    27271822.993341.21813.84308226.4176.83
    28244096.832851.26856.48364742.2375.58
    2915476.211821.4985.0313308.5578.33
    30343001.283951.16868.36454894.9975.47
    310.0000.000.000.000.00
    3214274.623651.1439.1125567.9091.54
    3337240.984431.1484.0754599.0194.60
    342724255.074231.226440.325232855.4572.11
    3541510.613761.21110.4033475.3883.40
    36113636.293961.11286.96282205.5978.06
    37666247.674131.221613.19469433.2884.15
    380.0000.000.000.000.00
    3937530.002911.12128.97138520.1284.22
    4019937.275901.0333.79108086.8394.24
    411928.102161.108.934806.5983.81
    42-1558.502140.89-7.287473.1394.86
    43216.254421.000.4920059.8391.13
    441341307.573691.343634.981609480.6870.94
    45119.272531.000.4731716.2993.74
    469474170.743931.3124107.307521478.2582.98
    47-1566.202110.90-7.425186.4092.28
    48215.731571.021.375761.1094.55
    49393070.443211.231224.52339543.9070.40
    500.0000.000.000.000.00
    5140328.801881.35214.5158774.9585.12
    520.0000.000.000.000.00
    53113918.223361.17339.04116050.9381.81
    54-1173.551740.97-6.7416175.5295.16
    550.0000.000.000.000.00
    565952.595181.0111.4986432.7093.81
    57-1497.26790.81-18.9510426.1195.40
    5826734.344361.0561.32122282.0289.89
    59-462.17330.81-14.011534.6966.59
    60-1429.521790.76-7.993970.9093.32
    610.0000.000.000.000.00
    6243742.285221.0483.80277318.4392.82
    637941.752261.2535.147839.8674.96
    6482096.312961.22277.35100850.1789.28
    654246.871471.3128.894522.8890.13
    66-1660.59840.76-19.776704.4495.18
    671178869.903401.163467.261565444.8479.58
    6827281.783291.0782.92117228.0093.66
    6918631.484911.0337.95123759.7587.29
    705742.472141.1926.836818.6688.75
    711399741.704451.113145.493338658.7072.87
    72-741.323350.99-2.2125406.9395.34
    7361149.863641.15167.99100332.5291.74
    740.0000.000.000.000.00
    75437616.174031.111085.901238913.5373.81
    7651583.172381.22216.7450407.1774.62
    771131.032801.064.043701.8791.86
    78-24.231921.00-0.1339129.7295.19
    790.0000.000.000.000.00
    80828381.074721.111755.041264711.1886.85
    810.0000.000.000.000.00
    8216928.804441.1138.1340210.2479.83
    8322413.743091.1372.5434483.9585.31
    845626.111391.1340.4810116.9166.91
    850.0000.000.000.000.00
    86-1787.541150.68-15.544643.5395.62
    87-1143.961770.90-6.465241.7194.48
    880.0000.000.000.000.00
    890.0000.000.000.000.00
    900.0000.000.000.000.00
    91-1034.331260.85-8.213339.6788.87
    9220244.902551.3079.3922117.2493.58
    930.0000.000.000.000.00
    9470512.034581.06153.96258316.2490.04
    951148404.314511.212546.351485582.3377.29
    961895855.293251.115833.404454866.3078.74
    97-1720.941620.84-10.625502.7195.17
    98-1781.161330.61-13.393729.1194.62
    99872490.653381.222581.331273177.7476.54
    100-905.602330.92-3.894541.0792.81
    10158039.954181.15138.85100910.3388.15
    1020.0000.000.000.000.00
    10355568.114421.13125.72117978.6182.61
    10416168.193421.1547.2834975.9086.00
    105-135.702491.00-0.5410378.4289.23
    106-1714.90890.43-19.272502.8089.77
    1071271.192511.015.0662362.8995.09
    108303636.044031.11753.441004345.4883.23
    109-1677.731310.79-12.816618.0795.36
    1100.0000.000.000.000.00
    111983165.113321.272961.341307310.9779.10
    1120.0000.000.000.000.00
    1130.0000.000.000.000.00
    1140.0000.000.000.000.00
    1157188.502771.1025.9522348.6991.17
    1160.0000.000.000.000.00
    117-1724.561880.83-9.175922.4195.56
    118-1338.821050.94-12.7513708.6895.40
    119358805.214861.06738.28915629.1282.78
    120174389.583421.20509.91287441.9183.04
    121-1254.581820.87-6.893825.1591.61
    1220.0000.000.000.000.00
    1233997.002221.1518.006030.7680.51
    124-1830.47840.46-21.793292.2795.10
    1252578802.835421.084757.948460674.8983.46
    126130245.654211.14309.37289233.6078.42
    127627200.674901.121280.001467568.1070.28
    1280.0000.000.000.000.00
    12917249.132911.1559.2842114.7783.00
    130-1755.80840.70-20.904688.8495.05
    1310.0000.000.000.000.00
    1327621666.764881.2415618.177490815.0880.41
    133-942.492870.98-3.2820288.1595.05
    1346982649.034341.3716089.056379327.1868.44
    13553045.293531.11150.2794962.7184.00
    1361492.645221.012.8631881.6091.57
    1370.0000.000.000.000.00
    138-1472.26790.85-18.6410751.9495.32
    139-1845.571290.51-14.312994.8995.10
    140344636.043061.341126.26438583.0966.44
    1410.0000.000.000.000.00
    142540236.525861.08921.911546404.7389.14
     
  7. aliba3

    aliba3

    143
    140
    cảm ơn bác đã giải thích. Đây là bài toán rất khó, vì nếu ai có hướng xử lý được thì đã có chén thánh rồi. Kinh nghiệm của mình là không nên sử dụng quá nhiều tham số (ban đầu có thể nhiều nhưng sau tinh chỉnh và bỏ đi các tham số không quan trọng) thì sẽ làm tăng tính ổn định của 1 chiến lược.
     
    NamVu82 bài này.
  8. 1. Không dùng Genetic Algorithm để tối ưu
    2. Chỉ optimize 1-2 tham số 1 lúc, không optimize cả 7 tham số cùng 1 lúc
    3. Đánh giá stability của cả các giá trị xung quanh optimal value
    4. Dùng fixed lot chứ ko dùng %balance để đánh giá kq
    5. Mỗi Step tối ưu không được quá chặt
    6. Design robust rules - nếu design đúng thì hầu hết các kết quả test sẽ đều lãi với bất kỳ giá trị tham số nào

    Robust rules thì optimize sẽ ra kết quả ntn:
    upload_2019-11-26_1-47-52.
     
    Chỉnh sửa cuối: 26/11/2019
    aliba3NamVu82 bài này.
  9. NamVu82

    NamVu82

    501
    521
    Cám ơn bạn nhiều.
     
  10. Mình cũng hay code EA nhưng mình không biết cách dùng Optimize để tối ưu hóa tham số. Có bạn nào chỉ cách chạy cái này như thế nào không. Nếu được thì cho mình càng chi tiết càng tốt. Cảm ơn 500 anh em trước.
     
    NamVu82 bài này.
  11. NamVu82

    NamVu82

    501
    521
  12. NamVu82 bài này.
  13. aliba3

    aliba3

    143
    140
    cao thủ đây rồi, con EA của bác ngon quá, có link myfxbook không bác? cho em mở rộng tầm mắt tí :D
     
  14. không bác à.
     
  15. NamVu82

    NamVu82

    501
    521
    Tham số bạn sử dụng là tham số thống kê hay tham số hệ thống (mô hình)?
     
  16. Không hiểu ý bạn lắm. Nếu tối ưu MACD có 3 tham số thì phải tối ưu từng tham số. Tương tự SL TP hay tất cả mọi tham số khác.
     
  17. NamVu82

    NamVu82

    501
    521
    Tham số MACD là tham số hệ thống
    Tham số Stop loss, take profit, nếu là tham số động (theo indicator nào đó hoặc theo thuật toán, ko phải tham số tĩnh) thì được coi là tham số hệ thống. Ngược lại, nếu những tham số này là con số rõ ràng, được chỉ định (kiểu stop loss 30 pips, take profit 80 pips) thì được coi là tham số thống kê (tham số tối ưu thông qua thống kê các giao dịch trong quá khư (tập dữ liệu)).
     
  18. À nếu vậy thì tất cả đều phải là tham số động hết.
    Không bao giờ nên design EA theo tham số tĩnh.
     
    NamVu82 bài này.

Bình luận mới nhất

Đang tải...

Broker được cấp phép

XTB
GKFXPrime
EightCap
SMInvest
FBS
AETOS
FXTM
Tickmill
OlympTrade
OctaFX
BDSwiss Group
Infinox Capital Ltd.
FXCM
Đang tải...