Excel VBA code (technical index for trading system)

Excel VBA Source Code

Technical code for trading system.

Sub AveLine()

'''-----http://www.samurai-logic.com/
'''-----Project of Trading System Development
'''------------------------------------------------------------------
''----B列(日付)、C列(始値)、D列(高値)、E列(安値)、F列(終値)
''----
''----TextBox1に転換線の期間、TextBox2に基準線の期間
''--------------------------------------------------------------------

Dim length1%, length2%, length3%, LastRow&, i&

Application.ScreenUpdating = False

Worksheets("転換線&基準線").Activate

LastRow = (Range("B4").End(xlDown).Row)
    
length1 = CInt(ActiveSheet.TextBox1.Value)  'period of average
length2 = CInt(ActiveSheet.TextBox2.Value)  '±%

Range("H3") = "転換線:" & length1
Range("I3") = "基準線:" & length2

Range("H5:I5000").ClearContents

  For i = length1 + 4 To LastRow
   Cells(i, 8).Value = _
    (WorksheetFunction.Max(Range("D" & i - (length1) + 1, "D" & i)) + _
     WorksheetFunction.Min(Range("E" & i - (length1) + 1, "E" & i))) / 2

  Next

  For i = (length2) + 4 To LastRow
   Cells(i, 9).Value = _
    (WorksheetFunction.Max(Range("D" & i - (length2) + 1, "D" & i)) + _
     WorksheetFunction.Min(Range("E" & i - (length2) + 1, "E" & i))) / 2
     
  Next

Range("H5", "I" & LastRow).NumberFormatLocal = "0"

Application.ScreenUpdating = True
End Sub