某インジのシグナルをEA化して改造してみる(5)
公開日:
:
FX
今回は思い切った購入方法を試してみます。
トレンドフォロー系の自動売買は、どうしても「ダマシ」に引っかかります。つまりどうやってダマシを回避するのか?がポイントになるようです。
そこで今回はちょっと考え方を変えてみました。簡単に言えば両建てです。
試してみて、一番大きな問題がシグナルの速さです。例えば買いのポジションを持っている時。売りのシグナルが発生したとします。これは「ダマシ」なのか、それともトレンドが変わったのか?性格に判断することができません。そのため一旦売りポジションを持って利益を固定します。そのまま下落すれば買いポジションを手仕舞って売りポジションをトレールしていく。また再度上昇したときは売りポジションを損切りし、買ポジションの利益を伸ばす。こんなイメージを描いてみました。
まずは追加部分。現在保有しているポジションが売りなのか買いなのかを調べる関数です。
string CheckPositions() { string msg = ""; for(int i=0; iそして現在の利益を調べる関数GetProfit()に引数を追加しました。
double GetProfit(string cmd) { double pf=0; for(int i=0; iそしてトレイリングにも同様に引数を指定するように解像します。(コードは省略)
start()関数を以下のように修正します。if (c>0) { if (GetProfit("BUY")>(CUTOUT*POINT)) MaTrailingStopLoss("BUY"); if (GetProfit("SELL")>(CUTOUT*POINT)) MaTrailingStopLoss("SELL"); } if (c<2) { if (OrderSignal()=="BUY") { if (BollingerCheck("BUY")==true && CheckPositions()!="BUY") ret=OrderBuyPosition(); } else if (OrderSignal()=="SELL") { if (BollingerCheck("SELL")==true && CheckPositions()!="SELL") ret=OrderSellPosition(); } }簡単に解説を。保有しているポジション(変数c)が0以上(つまりポジションがある場合)はトレーリングすポップの移動を行います。
保有しているポジションが2個以下(つまりポジションがない場合も含まれる)の時はシグナル発生時にボリバンの位置を確認し保有ポジションがあれば同じ方向でない場合(例えば売りポジを2個持たない)にオーダーを入れます。
微妙な結果ですね^^;
Sponsored Link
関連記事
-
-
ブラシレスジンバルの映像を手ぶれ補正してみる
色々な動画を見ていると、やっぱりスライダーっていいなぁって思いません?自由度の高いブラシレスジンバル
-
-
DAVINCI RESOLVE 12の使い方 〜 パワーウインドウを調べた
Pilotfly H2がそろそろ来るのか? Youtubeに新しい動画を出しました。詳細はまったくわ
-
-
Nexus 5のカメラを適当にテストしてみる(動画と静止画のサンプル)
サンプルという名のダメダメな作例を公開する、恥も外聞も気にしない時間がやってまいりました。個人的な結
-
-
SONY α6300のバッテリー駆動を色々実験してみる
AnkerのPowerCore 20100 モバイルバッテリーをアマゾンセールでお安く購入してありま
-
-
GH3はいつ買うのがお得なのか?暇なんで考えてみた。
ほう、はじまったのか....高精細テレビ「4K」の試験放送が2日に始まりました。さすがに4Kは力入っ
ご質問は掲示板へお願いいたします。