*

某インジのシグナルをEA化して改造してみる(2)

公開日: : FX


各関数を具体的に見ながら検討してみる。前回を読まないと意味不明だと思うのでよろしく。


まずはinit()部分。

int init() {
if(Digits==3 || Digits==5)    POINT=Point*10;
else   POINT=Point;
return(0);
}

ここでFX会社による小数点以下の違いを吸収できるようにしておく。当初想定しているGBPUSDだけでなく、クロス円などにも対応するかもしれないのでオマジナイ。これで正確にうごいてくれるのかどうかは不明だったりする。ごめんね。
続いてdeinit()部分。ココには特に書くことがないのでそのまま。
次はClosePositions()関数。読んで字のごとくポジションを終了させる関数。実は今のところ使う予定が無いのだが、今後のために書いておくことにする。当然、MAGICも見ながら、このEAで持っているポジションだけを閉じる処理となる。現状では持っているポジション数に関係なくすべて閉じる予定の関数。

CountPositionsでポジションを数える

CountPositions()はポジションの数を数える。これは上の関数の中身とほとんど同じで、counterという変数を+していって、そのままreturnする内容。複数のポジションを持つEAにするか、常に1ポジションのみのものとするか?もしくはポジションがある場合にストップラインを調整するかどうかなどの判定に使用する。

OrderBuyPositionとOrderSellPosition

この関数が呼ばれると、最初に設定されたLOTをオーダーする。現状ではロット数の調整は行わないので、関数の中で固定とする。

int OrderBuyPosition()
{
int ticket;
int err;
double sl = STOPLOSS * POINT;
RefreshRates();
ticket = OrderSend(Symbol(),OP_BUY, LOT, Ask, 10, 0, 0, COMMENT, MAGIC, 0, Blue);
if( ticket < 0 ){
err=GetLastError();
Alert("EA(BUY):", EaName, " error(",err,"): ",ErrorDescription(err));
}
else
{
OrderSelect(ticket,SELECT_BY_TICKET);
ticket = OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() - sl, 0, White);
}
return(ticket);
}

ストップはSTOPLOSSで設定した整数にPOINTをかけて設定。買う場合は購入額からマイナスした金額。得る場合は足した金額になる。最初にストップや利確(TakeProfit)を0でオーダーして、無事に購入できたら改めてストップを入れるというパターン。

とりあえずのTrailingStopLoss

単純なトレーリングストップより良い方法があるけど、ちょっと面倒なので当初はシンプルなヤツで。初期設定できるようにしたほうが良さそうなので

extern int TRAILING=50;

とか入れておくことにする。書いてみたのか次のコード。間違ってるかもしれないから、気がついたら教えて下さい。

void TrailingStopLoss()
{
double sl=TRAILING*POINT;
for(int i=0; iAsk+sl)
OrderModify(OrderTicket(),OrderOpenPrice(), Ask + sl, OrderTakeProfit(), White);
}
}
}

現在のストップ値をチェックしてストップラインが上下しないようにしておくことにする。特に難しいところもないようなので次へ。
平均足のフィルタは後ほど検討することにする。
あとはOrderSignal関数だが、現状では非公開ですいません。そしてチャートの足が新しくできたかどうかの判定関数。これはネットで探してきたパクリなので説明は省略。パクってすいません。
とりあえず、次回はこれらを組み立ててみる


Sponsored Link


 
 

関連記事

Keynote Remote を iPad と MacBook(OS X Lion)でアドホック接続

今更だけど Keynote Remote を購入してみました。理由は簡単。値上げが予想されるからです

記事を読む

no image

これか!? はじめてのフレームワークとしてのFuelPHP

というわけで、怪しい知識の補完計画として、そして FuelPHP入門 がイマイチ理解できないので購

記事を読む

面白い事例がいっぱい紹介されているー0円販促を成功させる5つの法則

0円販促を成功させる5つの法則 (DO BOOKS)を読んだ感想です。 全体を通して5つの法則

記事を読む

韓国の東大門(トンデムン)デザインプラザ(DDP)を見てきた

EOS C100 Mark II が出たようです。期待の4Kは無し。FHD60P付きで60万円。妥当

記事を読む

Final Cut Pro X のタイムラプスでクロスディゾルブ&セール情報

報道ステーションで古舘伊知郎が容疑者をかばっていると受け止められるような発言をして盛り上がっているよ

記事を読む

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

Message

メールアドレスが公開されることはありません。

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

簡単にSONYカメラとURSA mini 4.6Kの色を合わせる LUTS

少し色々試してみて、とっても気に入ったので改めてご紹介してみます。

MOZA AirCrossのPIDを調整してみる美少女

最初に MOZA AirCrossをPCに繋いで調整する手順を簡単に紹

JJC 液晶シェード(液晶フード) SONY α6000 α6300 α6500 用を試す!

おじさんが液晶フードを試してみたけど...というお話をしまーす!

MOZA AirCross 3軸手持ちジンバルを買ってみた【動画編】

Amazon様で「4,990円OFFのクーポンが適用されています」とい

無料の動画素材サイトをメモ

自分用の動画素材サイトをメモ。 ライセンス等は当然ですが自己責任。良

→もっと見る




  •  

PAGE TOP ↑