某インジのシグナルを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
関連記事
-
-
FX 2014年の成績確認
今年も残す所あとわずか。世間はクリスマスで盛り上がっているようですが、我が家は煙突が無いのでサンタも
-
-
Alexmos 32bit controller 2種類を比較してみる
夕方になるとカミナリ。夜になると雨が降るというお天気が続きます。夜中でもムシムシと気温が高く、気持ち
-
-
激安中華な Kernel 120cm カメラスライダーを買ってみた
Amazonでいくつも見かける激安なカメラスライダー達。気にはなるけどやすかろう悪かろうって気もして
-
-
ちょっと重いけど気軽に使えて表現に幅がでる – フルードビデオ一脚561BDHV
写真撮影であれば、かなりの部分で三脚が無くても撮影できるが、ビデオの場合は三脚類無しで手持ちは不可能
-
-
BASECAM SimpleBGC_GUI をいじりまわしたけど Gimbal 起動せず
今回は SimpleBGC_GUI_2_3b4.zip をダウンロードして MacBookで使ってみ





ご質問は掲示板へお願いいたします。