スポンサーリンク

ゼロから始めるMT4生活 15日目

Money
スキャット利確子修正ソース
CTN/XCB用取引所:PingExchange
DYM用取引所:MEXC BitGet

日記なので1日1記事を基本ルールとしていて、今日は第2矢の馬券収支記事のターンですが利確子のソースコードを修正したので午前中にポストしたいと思います。
昨日は日記投稿していないのもありますしねw

ワイの予想通り114円割ってるのでVモンキーでの強制ロスカットさえ無ければ予算のマイナスすら発生しなかったので怒り心頭ですが、欲をかいて生き急いだワイが悪かったという事で今後の成長の糧にしたいと思います。
うまい棒ロットに戻して資金に余裕をもってロスカットされない拘束率で運用したいと思います。
ほぼフルレバ状態でしたからねw

修正版通貨クラス

小数部分取得の_decimal、 getDecimalメソッドを追加しています。
節目に近い時はエントリーしない判定用で追加しました。

//+------------------------------------------------------------------+
//| 通貨クラス                                                          |
//+------------------------------------------------------------------+
class Currency
{
  private:
    int _ivalue;
    double _dvalue;
    //double to integer
    int _d2i(double value)
    {
      string tmp = DoubleToString(value, Digits);
      StringReplace(tmp, ".", "");
      return StringToInteger(tmp); 
    }
    //integer to double
    double _i2d(int value)
    {
      //ドル円仕様なので6桁ゼロ埋めで設定している
      string tmp = IntegerToString(value, 6, '0');
      int len = StringLen(tmp);
      string left = StringSubstr(tmp, 0, len - Digits);
      string right = StringSubstr(tmp, len - Digits, Digits);
      tmp = StringConcatenate(left, ".", right);
      return StringToDouble(tmp);
    }
    //小数点以下の値を取得
    int _decimal()
    {
      string tmp = DoubleToString(_dvalue, Digits);
      StringReplace(tmp, ".", "");
      int len = StringLen(tmp);
      string right = StringSubstr(tmp, len - Digits, Digits);
      return StringToInteger(right);
    }
  public:
    //コンストラクタ
    Currency()
    {
      _ivalue = 0;
      _dvalue = 0;
    }
    //コンストラクタ
    Currency(int value)
    {
      _ivalue = value;
      _dvalue = _i2d(value);
    }
    //コンストラクタ
    Currency(double value)
    {
      _dvalue = value;
      _ivalue = _d2i(_dvalue);
    }
    //コピーコンストラクタ
    Currency(const Currency &src)
    {
      _ivalue = src._ivalue;
      _dvalue = src._dvalue;
    }
    //int型取得
    int getInteger()
    {
      return _ivalue;
    }
    //double型取得
    double getDouble()
    {
      return _dvalue;
    }
    //小数部分の値取得
    int getDecimal()
    {
      return _decimal();
    }
    //pips加算
    void addPips(int pips)
    {
      _ivalue = _ivalue + pips;
      _dvalue = _i2d(_ivalue);
    }
};

ランコルゲチェックのサンプル

ローソク足クラスにはローソク足の長さを取得するメソッドは用意していませんが、こんな感じで長さを比較出来る・・・・というか最高値と最安値の入ってる足が違うのでローソク足クラス自体には長さは必要ないというサンプルロジックです。
ちなみにサンプルなのでワイの判定ロジックとは条件を変えていますw
(スワップは変えようが無いのでそのままです)

      //スワップが大きい時(通常5pips)はランコルゲ状態なのでエントリーしない
      Currency ask(Ask);
      Currency bid(Bid);
      if (ask.getInteger() - bid.getInteger() > 5)
        _isOrderable = false;
      
      //過去15分(現在バー含む)の最高値~最安値の変動でランコルゲチェック
      int highShift = iHighest(_Symbol, PERIOD_M5, MODE_HIGH, 3, 0);
      int lowShift = iLowest(_Symbol, PERIOD_M5, MODE_LOW, 3, 0);
      BarInfo highBar(highShift, PERIOD_M5);
      BarInfo lowBar(lowShift, PERIOD_M5);
      int pips = highBar.getHigh().getInteger() - lowBar.getLow().getInteger();
      if (pips >= DA_RANKORUGE_PIPS)
        _isOrderable = false;

スキャット利確子とは?

説明しよう!スキャット利確子とはドラマ「トリック3」に出てきたスキャット美香子を文字ったMT4用のEAスクリプトの事だ!

スキャット美香子
スキャット美香子

「お前のやった事は!全部すべてスリっとお見通しだ!」
とFXチャートを全てお見通しでティック抜きを行うスキャルピングエンジンですw
ワイが開発したスクリプトなので皆さんは同じスクリプトは利用出来ませんので自分で作りましょう!

コメント

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