忍者ブログ
FXやその他投資についてのつれづれです
[4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

こんにちは(*'-')

前回のエントリーで作成したEAが思いのほか良い成績だったので、
少し検証してみましたよ(・∀・)

検証するに先立って、EAを少し改良しました
ソースはこちら→ダウンロード(mq4)

変えた部分はこんな感じです
------------------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////
// Filter
////////////////////////////////////////////////////////////////////
int call_Filter(){
    double dMa_1;
    double dMa_2 = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,iShift_Cnt);

    bFilter_Buy = true;
    bFilter_Sell = true;

    for(int iCnt = iShift_Cnt - 1; iCnt > 0; iCnt--){
        dMa_1 = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,iCnt);
        if(bFilter_Buy != false){
            //Maの値が右肩上がりなら買いフラグを立てる
            if(dMa_2 < dMa_1){
                bFilter_Buy = true;
            }else{
                bFilter_Buy = false;
            }
        }

        if(bFilter_Sell != false){
            //Maの値が右肩下がりなら売りフラグを立てる
            if(dMa_2 > dMa_1){
                bFilter_Sell = true;
            }else{
                bFilter_Sell = false;
            }
        }
        dMa_2 = dMa_1;
    }


    return(0);
}
------------------------------------------------------------------------------------
何を変えたかというと、前回のEAでは移動平均2つ分しか見ていないけど
今回は変数で指定できるようにしました(・∀・)b

このEAを使って色々とパラメータを変更しながらバックテストした結果がこちら
ダウンロード(xls)

結果を見てみると、ドル円なんてPF8以上ですよ!ヽ( ゚∀゚)/

でも2008年はこのEA向けな相場になっていたから当然か・・・
2007年だけで見ると一気に成績落ちていますしねー(´・ω・`)

今度はレンジ相場で勝てるEAを何とか作成して、このEAとヘッジしながら
緩やかな右肩上がりの環境を作成したいものですね(*'-')


PR
こんばんは(*'-')

今までいくつかEAを作ってきましたけど、どれもテクニカル分析の関数
を使ってこなかったので、今回お試しでテクニカル分析を使ったEAを作成してみました

EAのロジックはシュワッガーさんの本にのっていたこんなロジックです(・∀・)
1.チャートの価格が移動平均線を上回ったら買い
2.チャートの価格が移動平均線を下回ったら売り
3.移動平均線が買い/売りと同じ方向
これだけです
トレンドフォローなロジックらしいですけどねぇ・・・

そんなわけで作成したソースがこちら→ダウンロード(mq4)

メイン部分は、時間足が変わったら、各関数を読んでるだけですね
------------------------------------------------------------------------------------
        call_Ma();
        call_Filter();
        call_MM();
        call_PositionChk();
        call_Trade();
------------------------------------------------------------------------------------

call_Ma()関数は移動平均の関数を呼び出して、価格と比較しています
------------------------------------------------------------------------------------
    dMa = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,1);
    //価格がMAを上回ったら買いフラグを立てる
    if(dMa <= Close[1]){
        bMa_Buy = true;
    }else{
        bMa_Buy = false;
    }

    //価格がMAを下回ったら売りフラグを立てる
    if(dMa >= Close[1]){
        bMa_Sell = true;
    }else{
        bMa_Sell = false;
    }
------------------------------------------------------------------------------------

iMAていうのが、MT4で準備された移動平均を算出する関数です。
パラメータの1つめは通貨、2つ目は時間足ですけど、EAが稼動するチャート
と同じものを使う場合はNULLや0で問題なしです(・∀・) b
3つ目からは、実際の移動平均のパラメータになります
最後のパラメータは、何本前の足を使って計算するかを指定しています。
今回は1本前の足ですね

そうやって出した移動平均の値と1本前のクローズ価格と比較して売り買いフラグ
を立てています

call_Filter()関数は移動平均が右肩上がりか下がりかを判定してフラグを立てます
------------------------------------------------------------------------------------
    double dMa_1 = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,1);
    double dMa_2 = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,2);

    //Maの値が右肩上がりなら買いフラグを立てる
    if(dMa_2 < dMa_1){
        bFilter_Buy = true;
    }else{
        bFilter_Buy = false;
    }

    //Maの値が右肩下がりなら売りフラグを立てる
    if(dMa_2 > dMa_1){
        bFilter_Sell = true;
    }else{
        bFilter_Sell = false;
    }
------------------------------------------------------------------------------------
1本前と2本前の移動平均を算出して、大小でフラグを立てております(*'-')

MMの関数はいつも出しているからスルーして・・・

call_PositionChk()は、すでに持っているポジションを特定して
買い増しや売り増しをしないようにフラグを立てます
------------------------------------------------------------------------------------
    // 持っている注文数を取得
    int iTotal = OrdersTotal();

    // 注文があればポジションクローズと注文のキャンセルを実施
    if(iTotal > 0){
        for(int i = iTotal -1; i >= 0; i-- ){
            // オーダー特定
            bool bSelected = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
            // マジックNoを判定して、自分が出したオーダーかチェック
            if(bSelected == true && OrderMagicNumber() == iMagicNo){
                // オーダーの種類を特定
                int iType = OrderType();
                switch(iType){
                    // Longポジション
                    case OP_BUY:
                        bPosition_Sell = false;
                        bPosition_Buy = true;
                        break;
                    // Shortポジション
                    case OP_SELL:
                        bPosition_Sell = true;
                        bPosition_Buy = false;
                        break;
                }
            }
        }
    }
------------------------------------------------------------------------------------
他の部分からソースコピーして改良しただけだから、コメントがおかしい(;'-')
基本として、同時には1つしかポジションを持たないようにするための配慮です

call_Trade()関数は実際の売買部分です
今までの関数で設定されたフラグを判定して売りポジションなりをとっていきます
------------------------------------------------------------------------------------
    // 買い注文
    if(bMa_Buy == true && bFilter_Buy == true && bPosition_Buy == false){
        // まずは既存のエントリをクローズする
        Ordclose();

        // 買い注文
        Aki0307_OrderSend(Symbol(), OP_BUY, dEntry_Lots, Ask, iSlip, 0.0, 0.0, "買い注文", iMagicNo, 0, Blue);
    }

    // 売り注文
    if(bMa_Sell == true && bFilter_Sell == true && bPosition_Sell == false){
        // まずは既存のエントリをクローズする
        Ordclose();

        // 買い注文
        Aki0307_OrderSend(Symbol(), OP_SELL, dEntry_Lots, Bid, iSlip, 0.0, 0.0, "売り注文", iMagicNo, 0, Blue);
    }
------------------------------------------------------------------------------------
ああ、今見てみるとやっぱりコメントが・・・・

フラグが立っていて、ポジションを持っていないときにその方向に向かってエントリーします。
どてんなので、注文出す前に既存のポジションを閉じます

さてさて、こんなんでできたEAですが、ドル円日足でバックテストしてみましたよ(・∀・)
20090321_001.JPG


おおお!∑( ̄□ ̄;)

予想外にすばらしい結果に驚きですねヽ( ゚∀゚)/


こんばんは(*'-')

タイトルどおり、使っている人がいましたら
先週より夏時間になりましたのでEAのパラメータでiMonAMを
7→6へ変更してください(・∀・)

実際に使っている人はいるんですかねー?(*'-')
(私は使っていますよ)
こんばんは(*'-')

前回作成したEAを、色々な通貨ペアでバックテストしてみましたよ(・∀・)

とりあえずで121証券のMT4上でバックテストした結果がこちら→ダウンロード(xls)

8つの通貨ペアで利益を上げていて、全部合わせると7000ドルを超える利益が
上がることになりましたヽ( ゚∀゚)/

今週も週明けの窓で50Pipとってるし、かなりの実力があるかもしれませんね(・∀・)b

もうしばらくデモ口座で様子をみたら、本格的にリアル口座で運用してみようかしら(*´Д`*)

こんばんは(*'-')

今まで使っていたEAがどうにも利益を上げてくれないので
新しいEAを作ってみましたよ(・∀・)

EAのソースファイルはこちら→ダウンロード(mq4)

どんなEAかといいますと・・・

週明けに窓が開いたら、成行でエントリーしてリミットを窓が埋まるポイントにしているだけです(・∀・)

FXはじめてから、ずっと思っていたんですけど、窓ってほぼ埋まる感じがしていたんですよねー。

さてさて、EAをドル円でバックテストしてみた結果がこちら
20090303_001.JPG

一発の負けが大きいですが、9割以上の勝率を誇っています!ヽ( ゚∀゚)/
今週も実行していれば利益出ていましたし、なかなかよさそうなEAが出来上がりました(・∀・)b

他の通貨ペアとかも検証しつつ、デモ口座でフォワードテストしていきますよ(*'-')


忍者ブログ [PR]
カレンダー
12 2025/01 02
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
カウンター
プロフィール
投資は自己責任・自己判断で実施するようお願いいたします。 ここの情報を見て損失が発生しても責任は負えませんのでご注意してください
HN:
Aki
性別:
男性
最新コメント
[06/06 fxjol]
[02/18 FXに人生を賭ける男]
[01/01 Aki]
[01/01 Aki]
[12/31 FXに人生を賭ける男]
ブログ内検索
最新トラックバック
アクセス解析