Excel VBAでFX分析(FXトレード方法検証 Excel VBA入門)

Excel VBAでFX分析
 

VBA応用

覚えたコードを応用して使ってみよう!

移動平均DC売りエントリー

「VBA入門」では、移動平均線のGC(ゴールデンクロス)で、買エントリーするトレード方法を検証しましたが、これを応用して、DC(デッドクロス)で売りエントリーするトレード方法について、検証してみましょう。

サンプルプログラムを下記に示しますので、買エントリーの場合とどこが違うか、確認してみてください。
注釈に変更点が記載されています。


Sub MA売()
    
    '5MAが50MAを下抜けたら売エントリー
    '5MAが50MAを上抜けたら決済
    
    Dim i As Long 'カウンタ変数
    Dim j As Long 'カウンタ変数
    Dim Bottom As Long '最下行の行数
    Dim Goukei As Single 'MA計算用変数
    Dim urine As Single '売値
    
    '最下行の行数をBottomに代入
    Bottom = Cells(Rows.Count, 1).End(xlUp).Row
    
    '計算結果を表示するセルをあらかじめクリア
    Range("F2:L5000").Clear
    
    '項目名表示
    Range("F1:L1") = Split("5MA,50MA,GC/DC,売買,レート,損益,累計", ",")
    
    For j = 0 To Bottom - 51
        '5MAを計算して6列目に表示
        Goukei = 0
        For i = j + 2 To j + 6
            Goukei = Goukei + Cells(i, 5)
        Next i
        Cells(j + 2, 6) = Goukei / 5
        
        '50MAを計算して7列目に表示
        Goukei = 0
        For i = j + 2 To j + 51
            Goukei = Goukei + Cells(i, 5)
        Next i
        Cells(j + 2, 7) = Goukei / 50
    Next j
    
    For i = Bottom - 49 To 2 Step -1
        'GC表示
        If Cells(i + 1, 6) > Cells(i + 1, 7) And _
            Cells(i + 2, 6) < Cells(i + 2, 7) Then
            Cells(i, 8) = "GC"
        End If
        
        'DC表示
        If Cells(i + 1, 6) < Cells(i + 1, 7) And _
            Cells(i + 2, 6) > Cells(i + 2, 7) Then
            Cells(i, 8) = "DC"
        End If
    Next i
    
    '損益計算
    For i = Bottom - 49 To 2 Step -1
        'DCに変更
        If Cells(i, 8) = "DC" Then
            'urineに変更
            urine = Cells(i, 2)
            'エントリー売に変更
            Cells(i, 9) = "エントリー売"
            Cells(i, 10) = Cells(i, 2)
            For j = i To 2 Step -1
                'GCに変更
                If Cells(j, 8) = "GC" Then
                    '売値 - 決済時の始値で損益計算
                    Cells(j, 11) = urine - Cells(j, 2)
                    '決済買に変更
                    Cells(j, 9) = "決済買"
                    Cells(j, 10) = Cells(j, 2)
                    i = j
                    Exit For
                End If
            Next j
        End If
    Next i
    
    '累計
    For i = Bottom - 49 To 2 Step -1
        Cells(i, 12) = Cells(i, 11) + Cells(i + 1, 12)
    Next i

End Sub

損益計算のところがポイントです。
売値 - 決済時の始値で損益を計算を計算します。
逆にすると、損失と利益の符号が逆転するので、ご注意ください。

次へ
管理者プロフィール

管理者プロフィールFXのトレード方法を、VBAであれこれ検証していて、収益曲線が右肩上がりの方法を発見した時のワクワク感は、たまりません。

>>> メッセージ

おすすめFX業者
SBI FX

スプレッドが小さくて初心者にも使いやすい。スワップを0.1円まで、積算する誠実さが良いです。

マネーパートナーズ

トレードツールHyperSpeedNextのファンなんです。

JFX MATRIX TRADER

小林芳彦氏の解説は、必見。勉強になります。

はじめにVBA入門VBA応用おすすめ情報プロフィールお問い合わせ

【ご注意事項】
本サイトの利用の結果発生した損害について、当方は一切責任を負いません。
本サイトの記載内容は、予告なく変更される場合があります。

inserted by FC2 system