7bit氏作成 MQLライブラリー解析 part11

スポンサーリンク

こんばんは。キリンです。
留学するまでに、今までに購入だけして積んであった本を一気に読んでいます。
やっぱり本を読むと自分の無知さとエゴを痛感し、反省させられます。
その反省から失敗を避けることができると思って、日々改善に努めて行きたいですね。
読んでいた中で良いと思ったセリフがこちら。

・問題の解決は問題の理解から始まる。
・人間は怒りと愛情という相反する感情を持ちあわせており、
 怒りは愛情を破壊し、幸せを潰してしまう。
怒らないこと―役立つ初期仏教法話〈1〉 (サンガ新書)/アルボムッレ スマナサーラ
¥735
Amazon.co.jp

仏教を志してもいいなと思わせてくれるとても良い本でした。
では、7bitさんの解析です。
今日はこちら。
■超直感!MT4(MQL)プログラミング講座■
この関数はすごく簡単。
typeに注文種類を指定し、priceに建値を指定、magicにマジックナンバーを指定すれば、
そこに該当のポジションが現在あるかを確認します。
一応ソースがこちら。

bool isOrder(int type, double price, int magic){ int cnt, num;   int total=OrdersTotal(); for(cnt=0; cnt<total; cnt++){  OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);  if(OrderMagicNumber() == magic && (type == -1 || OrderType() == type)){   if(isEqualPrice(OrderOpenPrice(), price)){   num++;   }  } } return (num > 0);}

ソースの解析は必要ないかも^^;
面白いのはisEqualPriceという関数。

bool isEqualPrice(double a, double b){ return(NormalizeDouble(a, Digits) == NormalizeDouble(b, Digits));}

価格の比較時に桁を揃えています。
確かに必要な処理かもしれないですね。

コメント

  1. 七誌 より:

    SECRET: 0
    PASS:
    bool isEqualPrice(double a, double b){
    return(NormalizeDouble(a, Digits) == NormalizeDouble(b, Digits));
    }
    ありがとうございます。
    見えない桁でそろってなくて1エラー頻発するので…

タイトルとURLをコピーしました