Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Что происходит в MQL5.community? Раздел Стена ответит на этот вопрос!
Forex Trader
114237
Forex Trader 2006.01.10 20:07 
Провожу тестирование стратегии на истории, получаю отчет с 1000 сделками. Можно ли написать скрипт, который будет анализировать эти результаты? Ну к примеру высчитает сколько раз в результатах встречаются 2 лосса подряд или что-то другое, не важно. Важно как это реализовать.
Кто и как это делает?
Спасибо.
Forex Trader
114237
Forex Trader 2006.01.10 21:54  
это проще в тело эксперта вставить - или запоминать постоянно нужную инфу, или в конце всю историю перебрать.
сам не занимался, так что кодом не поделюсь =)
Forex Trader
114237
Forex Trader 2006.01.11 06:32  
Forex Trader
114237
Forex Trader 2006.01.11 08:22  


ага, спасибо, идею понял. Буду пробовать.
Forex Trader
114237
Forex Trader 2006.01.12 10:21  
вот тебе, к примеру, экселовские скрипты, 2шт. :)
коряво, но работает. :)
сохраняешь репорт в хтмл, потом выделяешь всю таблицу с данными, потом Ctrl-C,
потом переходишь на ексцел, и запускаешь первый, затем второй.
Sub clean_strategy_tester()
' Keyboard Shortcut: Ctrl+t
    
    Cells.Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.Paste
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown
    Selection.Insert Shift:=xlDown
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    Selection.End(xlToRight).Select
    Range(Selection, Cells(1, 1)).Select
' ------------------------------------------------------------
    
    Selection.AutoFilter
    Selection.AutoFilter Field:=3, Criteria1:="=modify", Operator:=xlOr, _
        Criteria2:="=delete"
    Selection.EntireRow.Delete
    
    Selection.AutoFilter
    Selection.AutoFilter Field:=3, Criteria1:="=buy stop", Operator:=xlOr, _
        Criteria2:="=sell stop"
    Selection.EntireRow.Delete
    
    Columns("F:H").Select
    Selection.Delete Shift:=xlToLeft
    
    Columns("G:G").Select
    Selection.MergeCells = False
    Columns("G:G").Select
    Selection.Delete Shift:=xlToLeft
    
    Columns("A:G").Select
    Selection.Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
'
    Range("G2").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C[-5]"
    Selection.AutoFill Destination:=Range("G2:G650"), Type:=xlFillDefault
'
    Range("H2").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C[-5]"
    Selection.AutoFill Destination:=Range("H2:H650"), Type:=xlFillDefault
'++++
    Columns("I:J").Select
    Selection.NumberFormat = "[h]:mm:ss;@"
    
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "=RC[-7]-RC[-2]"
    Selection.AutoFill Destination:=Range("I2:I650"), Type:=xlFillDefault
    Columns("I:I").EntireColumn.AutoFit
    
    Range("J2").Select
    ActiveCell.FormulaR1C1 = "=RC[-3]-INT(RC[-3])"
    Selection.AutoFill Destination:=Range("J2:J650"), Type:=xlFillDefault
'    Columns("I:I").EntireColumn.AutoFit
    
    
    
    
    
'    Selection.NumberFormat = "[h]:mm:ss;@"
    

'++++
    
 ' ------------------------------------------------------------
    
    Columns("G:H").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("G:G").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "dd/mm/yy h:mm;@"
    
    Columns("B:B").Select
    Selection.NumberFormat = "dd/mm/yy h:mm;@"
    
    Columns("B:B").EntireColumn.AutoFit
    
    Columns("A:H").Select
        
    Selection.AutoFilter
    Selection.AutoFilter Field:=8, Criteria1:="<>sell", Operator:=xlAnd, _
        Criteria2:="<>buy"
    Cells.Select
    Selection.Delete Shift:=xlUp
    
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        Columns("E:F").Select
        Selection.NumberFormat = "0.0"

    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

    
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        Columns("G:G").Select
        'Selection.NumberFormat = "0.0"

    Selection.Replace What:=".", Replacement:="-", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        Columns("B:B").Select
        'Selection.NumberFormat = "0.0"

    Selection.Replace What:=".", Replacement:="-", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False


End Sub


Sub color_F()

Selection.End(xlDown).Select


For i = Selection.Row To 1 Step -1
    Cells(i, 6).Select
    Cells(i, 5) = Cells(i, 5) * 1
    Cells(i, 6) = Cells(i, 6) * 1
'    ActiveCell.Offset(1, 5).Range("A1").Select
    If ActiveCell < 0 Then
        Selection.Font.ColorIndex = 3
        ActiveCell.Rows("1:1").EntireRow.Select
        With Selection.Interior
            .ColorIndex = 36
            .Pattern = xlGray50
            .PatternColorIndex = 2
        End With
    End If
Next i

End Sub
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий