*

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


 
 

関連記事

気になる情報・新製品発見メモ

日頃ネットをウロウロしていて記事にするほどでもない情報、記事にするほど内容がわからないものなどをメモ

記事を読む

アンドロイドタブレットでPID設定する方法とGUI設定サンプル by 調整信号。さん

毎度おなじみセッティング解説。そう、調整信号。さんが、ふたたび記事を追加してくれました。ホントありが

記事を読む

Canon EOS Picture Style を久しぶりに探索

時間があったのでDavinch Resolve で遊んでみようとEOSのMLで撮影し、読み込もうと思

記事を読む

no image

jQUery と PHP 連動

なんとなくわかりやすかったのでリンクさせてもらう。 S-MEMO(エスメモ) jQueryを使ってみ

記事を読む

no image

FXのリアルタイム成績確認場所はmyFxbookで決まりだな

2008年春頃からMeta Trader 4 の自作EAをメインに市販EAをちょっと使って自動売買。

記事を読む

EOS 5D2 でフラットなピクチャースタイルを試す

朝日新聞の糞っぷりが話題になっていますね。ちょっと感想を書こうかと思ったら「怒り」しか出てこないので

記事を読む

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

Message

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

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

気になる情報・新製品発見メモ

日頃ネットをウロウロしていて記事にするほどでもない情報、記事にするほど

CeVIO Creative StudioがMacのWin10で認証失敗

久しぶりに更新できました。 この時期は寒くて...と言い訳から入

xismoを使ってみて覚えたところと謎なところ(追記あり)

謎と言っても私の理解が足りないだけなんですけどね^^; 一応私の

Macで MikuMikuDanceができる〜 nanoemというフリーソフト

blenderが難しすぎて挫折しかかっていたときに知った xismo

wacom Intuos ペンモデルの small (ミントブルー)がかわいい

誰がなんと言おうと美少女です! すっかり xismoが気に入って

無料3D作成ソフト xismo がすごくわかりやすい感じ

こんばんは 心は美少女です。 Blenderを使いこなす、という

→もっと見る




  •  

PAGE TOP ↑