PU-METALのブログ

日銀にはウンザリなので外貨専になりました

鈎足チャートの研究開始

1年で10万が150万にとかいう凄いのが有り

ほんまかいな?と最初から辿ってみると案の定眉唾

20万になるところまで見て解ったがレバレッジ100倍のフルレバかよと

 

でもまあスイングのシステム作りたかったし有効かも?ということでやり出しました

 

随分悩んだのでマクロ置いとこうと

f:id:kohnodechu:20171129132619p:plain

Sub 向き色()
Dim Rp As Range 'rpは日付
Dim Ow As Single
Dim Y1 As Single, Y15 As Single, Y2 As Single, Y3 As Single '安値
Dim Yz1 As Single, Yz15 As Single, Yz2 As Single, Yz3 As Single '前回の安値
Y1 = 114.55: Y15 = 114.55: Y2 = 114.55: Y3 = 114.55 '初期値
Dim T1 As Single, T15 As Single, T2 As Single, T3 As Single
Dim Tz1 As Single, Tz15 As Single, Tz2 As Single, Tz3 As Single
T1 = 114.55: T15 = 114.55: T2 = 114.55: T3 = 114.55
Dim M1 As Long, M15 As Long, M2 As Long, M3 As Long '向き
Dim I1 As Long, I15 As Long, I2 As Long, I3 As Long '色
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each Rp In Selection
With Rp
Ow = .Offset(, 5).Value
If M1 <= 0 And Ow >= Y1 + 1 Then
M1 = 1
Tz1 = T1
T1 = Ow
ElseIf M1 >= 0 And Ow <= T1 - 1 Then
M1 = -1
Yz1 = Y1
Y1 = Ow
ElseIf M1 > 0 And Ow > T1 Then
T1 = Ow
ElseIf M1 < 0 And Ow < Y1 Then
Y1 = Ow
End If
If I1 >= 0 And Ow < Yz1 Then
I1 = -1
ElseIf I1 <= 0 And Ow > Tz1 Then
I1 = 1
End If
If M15 <= 0 And Ow >= Y15 + 1.5 Then
M15 = 1
Tz15 = T15
T15 = Ow
ElseIf M15 >= 0 And Ow <= T15 - 1.5 Then
M15 = -1
Yz15 = Y15
Y15 = Ow
ElseIf M15 > 0 And Ow > T15 Then
T15 = Ow
ElseIf M15 < 0 And Ow < Y15 Then
Y15 = Ow
End If
If I15 >= 0 And Ow < Yz15 Then
I15 = -1
ElseIf I15 <= 0 And Ow > Tz15 Then
I15 = 1
End If
If M2 <= 0 And Ow >= Y2 + 2 Then
M2 = 1
Tz2 = T2
T2 = Ow
ElseIf M2 >= 0 And Ow <= T2 - 2 Then
M2 = -1
Yz2 = Y2
Y2 = Ow
ElseIf M2 > 0 And Ow > T2 Then
T2 = Ow
ElseIf M2 < 0 And Ow < Y2 Then
Y2 = Ow
End If
If I2 >= 0 And Ow < Yz2 Then
I2 = -1
ElseIf I2 <= 0 And Ow > Tz2 Then
I2 = 1
End If
If M3 <= 0 And Ow >= Y3 + 3 Then
M3 = 1
Tz3 = T3
T3 = Ow
ElseIf M3 >= 0 And Ow <= T3 - 3 Then
M3 = -1
Yz3 = Y3
Y3 = Ow
ElseIf M3 > 0 And Ow > T3 Then
T3 = Ow
ElseIf M3 < 0 And Ow < Y3 Then
Y3 = Ow
End If
If I3 >= 0 And Ow < Yz3 Then
I3 = -1
ElseIf I3 <= 0 And Ow > Tz3 Then
I3 = 1
End If
.Offset(, 6).Value = M1
.Offset(, 7).Value = I1
.Offset(, 8).Value = M15
.Offset(, 9).Value = I15
.Offset(, 10).Value = M2
.Offset(, 11).Value = I2
.Offset(, 12).Value = M3
.Offset(, 13).Value = I3
End With
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub