*

某インジのシグナルを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


 
 

関連記事

Neat Video v4 Pro Plugin for Final Cut Proを買ってみた編

クリスマスと言えばイルミネーションの季節。街を歩く幸せそうなカップルを見て「埋めてあげようか?」など

記事を読む

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

Amazon様で「4,990円OFFのクーポンが適用されています」という状態になぜか心惹かれて久しぶ

記事を読む

はじめてのCakePHP 樺嶋 芳充 (著) を読んだ

バージョンも上がっているので、あらためて勉強してみることにして、まずははじめてのCakePHP (I

記事を読む

59,000円くれるauひかりが開通したのでスピードテスト

工事の人が来て光回線の切り替えとNTTの端末を持って帰っていきました。1Gで早いと聞いていたので期待

記事を読む

59,000円くれる auひかりが機械を送ってきた

なかなか工事日が決まらない auひかり。工事日を決めるために数回電話で相談、結局7月22日に開通する

記事を読む

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

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKにジンバルを入れる

やっぱり高いけどEndurance (エンデュランス) カメラバッグの

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKが北の国から

一年中GWの美少女です。 Lowepro カメラリュック フリッ

MOZA Mini-S スマホ用スタビライザーが届いた!

1万円弱で買えるスマホ用ブラシレスジンバルの新型 MOZA Mini-

GoPro Hero7 Black用 保護ケース アルミ合金保護フレームがいいよって話

別に大した話ではありません。 最近書くことが少ないのでたまには書

期待の新製品 MOZA Mini-S スマホ用スタビライザーが発売されたみたい

教えてもらった新製品のホームページで MOZA Mini-Sが紹介され

→もっと見る




  •  

PAGE TOP ↑