2007-01

200701

自動売買ロボット作成マニュアルを読んで

いままでは、あまりVBは使わないでやってきたので新鮮であったが、自分用にアレンジするのは、結構難しい。

検証や最適化のコードも載っているので、参考にしていきたい。

ただ、私の今までのシステムを試そうとしたが、この本だと、権利落ちとか補正していないみたいだし、
せっかく指標のマクロを作れば検証できるように成っているが、共通の売買部分が、トリプルスクリーンとは違うので、かなり改造が必要です。

自動売買ロボット作成マニュアルを読んで[勢力指数]

こちらは、勢力指数。

Sub force()

lastrow = (Range("B4").End(xlDown).Row) 'B列の一番最後の行番号を代入

Range("AU5:AV65000").ClearContents 'シートをクリーンアップ

length(1) = input_temp(10) '移動平均の期間

'指定したセルを結合し、大きな見出しをつける
Range("AU3:AV3").Select
Selection.MergeCells = True
Selection = "勢力指数"
Selection.HorizontalAlignment = xlCenter

'列に見出しをつける
Range("AU4") = "Force Index"
Range("AV4") = "EMA(" & length(1) & ")"

'勢力指数の値を算出して代入
For i = 6 To lastrow

Cells(i, 47) = (Cells(i, 6) - Cells(i - 1, 6)) * Cells(i, 7)

Next

'勢力指数のEMAの値を算出して代入
For i = length(1) + 4 To lastrow

If i = length(1) + 5 Then

Cells(i, 48) = WorksheetFunction.Average(Range("AU" & i - length(1) + 1, "AU" & i))

Else

Cells(i, 48) = Cells(i - 1, 48) + ((Cells(i, 47) - Cells(i - 1, 48)) * 2 / (1 + length(1)))

End If

Next

'セルの形式を整える
Range("AU5", "AV" & lastrow).NumberFormatLocal = "0"

End Sub

自動売買ロボット作成マニュアルを読んで[RAVI]

いくつか、マクロを書いてみた。
まずは、RAVIを移動平均を取得するマクロ(P.38〜63参照)を参考に作成した。

Sub RAVI()

lastrow = (Range("B4").End(xlDown).Row) 'B列の一番最後の行番号を代入

Range("AO5:AQ65000").ClearContents 'シートをクリーンアップ

length(1) = input_temp(1) '移動平均の期間 1
length(2) = input_temp(2) '移動平均の期間 2

'指定したセルを結合し、大きな見出しをつける
Range("AO3:AQ3").Select
Selection.MergeCells = True
Selection = "RAVI"
Selection.HorizontalAlignment = xlCenter

'移動平均を代入する列に見出しをつける
Range("AO4") = "MA(" & length(1) & ")"
Range("AP4") = "MA(" & length(2) & ")"
Range("AQ4") = "RAVI"

'1つ目の移動平均の値を算出して代入
For i = length(1) + 4 To lastrow

Cells(i, 41) = WorksheetFunction.Average(Range("F" & i - length(1) + 1, "F" & i))

Next

'2つ目の移動平均の値を算出して代入
For i = length(2) + 4 To lastrow

Cells(i, 42) = WorksheetFunction.Average(Range("F" & i - length(2) + 1, "F" & i))

Next

'RAVIの値を算出して代入
For i = length(2) + 4 To lastrow

Cells(i, 43) = Abs(Cells(i, 41) - Cells(i, 42)) / Cells(i, 42)

Next


'セルの形式を整える
Range("AO5", "AP" & lastrow).NumberFormatLocal = "0"
Range("AQ5", "AQ" & lastrow).NumberFormatLocal = "0.00%"

End Sub

«PREV  | HOME |  NEXT»

Google
Web prosit.blog4.fc2.com

投資関連おすすめサイト

外国為替(FX)

カテゴリー

ir投資スクール

個人投資家のための専門店

最近の記事

月別アーカイブ

リンク

FC2ブックマークに追加する

 

FC2ブックマークに追加

 

RSSフィード

プライバシーポリシー

 

    当サイトは、サイト内の広告利用状況の集計のために、クッキー、ウェブ・ビーコンといった汎用技術を用いています。
    取得したホスト情報などは広告利用状況の集計にのみ利用することをお約束いたします。