某インジのシグナルを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
関連記事
-
-
ワコム Intuos Creative Stylus 2 と Bamboo Paperを iPadでお試し
アイデアを考えるときに手を動かすっていうのは、非常に有効だったりする訳ですが、とにかくApplePe
-
-
Apple Motion5 クルクル3D回転しながら落ちてくる文字を作る
久しぶりの Motion5 ネタ。新製品も少し届いているけど、写真を取るのが面倒で後回しです。新しい
-
-
edelkroneのフォローフォーカスと相性の良いレンズギアを探す
RONIN m が来たらリモートフォローフォーカスでも買ったるぜ〜〜とかカラ元気。一向に発送される気
-
-
Sytrus の無料プリセットダウンロードまとめ
軟弱DTM野郎としてはプリセットが神である。もちろん貧乏なので無料が大好き。 最初に使い方として
-
-
感想!freetel フリーテル SIMフリー スマートフォン priori2 スペシャルパック
メインがMacなのでたまにしか使わない Windows 7。そろそろ10も出てくるようですが、 Wi
ご質問は掲示板へお願いいたします。