【トレステ】簡単な分析テクニックを自作してみよう【初級編】ーPart4ー騰落率時系列を表示する。



騰落率時系列(5日前まで)を表示する。スイング等で底狙い銘柄を探す時、使えるインジケーターです。

それでは、トレードステーション【トレステ】 EasyLanguage(イージーランゲージ)でプログラムを作っていきましょう。

これらの言葉をプログラムでどう表現すれば良いか調べます。

騰落率時系列(5日前まで)を表示する。』を調べていきます。

  • 『騰落率』は、『(終値ー前日の終値)÷前日の終値』になるので『(close-close[1])/close[1]』。
  • 『前日の値幅』は、『(前日の終値ー前々日の終値)÷前々日の終値』になるので『(close[1]-close[2])/close[2]』。

では、プログラムしていきます。

  1. 事前変動宣言valueを使って、騰落率の式を代入する。
    Value1 = (close-close[1])/close[1]; //当日の騰落率
  2. 同様に、事前変動宣言valueを使って、前日の騰落率の式を代入する。
    Value2 = (close[1]-close[2])/close[2]; //前日の騰落率
  3. 同じ手順で5日前の騰落率まで作っていく。ここまでをプログラムするとValue1 = (close-close[1])/close[1];//当日の騰落率
    Value2 = (close[1]-close[2])/close[2];//1日前の騰落率
    Value3 = (close[2]-close[3])/close[3];//2日前の騰落率
    Value4 = (close[3]-close[4])/close[4];//3日前の騰落率
    Value5 = (close[4]-close[5])/close[5];//4日前の騰落率
    Value6 = (close[5]-close[6])/close[6];//5日前の騰落率

    Plot文で表示すると

    Plot1(Value1,”当日の騰落率”);//当日の騰落率を表示する
    Plot2(Value2,”1日前の騰落率”);//1日前の騰落率を表示する
    Plot3(Value3,”2日前の騰落率”);//2日前の騰落率を表示する
    Plot4(Value4,”3日前の騰落率”);//3日前の騰落率を表示する
    Plot5(Value5,”4日前の騰落率”);//4日前の騰落率を表示する
    Plot6(Value6,”5日前の騰落率”);//5日前の騰落率を表示する

    騰落率がプラスなら文字を赤く、プラスでないなら文字をシアン色にする。
    -10%の騰落率の場合、その枠の背景色を青にする。

    If Value1 > 0 then SetPlotColor(1,Red) else SetPlotColor(1,Cyan);//騰落率がプラスなら文字を赤く、プラスでないなら文字をシアン色にする。
    If Value2 > 0 then SetPlotColor(2,Red) else SetPlotColor(2,Cyan);
    If Value3 > 0 then SetPlotColor(3,Red) else SetPlotColor(3,Cyan);
    If Value4 > 0 then SetPlotColor(4,Red) else SetPlotColor(4,Cyan);
    If Value5 > 0 then SetPlotColor(5,Red) else SetPlotColor(5,Cyan);
    If Value6 > 0 then SetPlotColor(6,Red) else SetPlotColor(6,Cyan);

    If Value1 < -0.1 then SetPlotBGColor(1,Blue);//-10%の騰落率の場合、その枠の背景色を青にする。
    If Value2 < -0.1 then SetPlotBGColor(2,Blue);
    If Value3 < -0.1 then SetPlotBGColor(3,Blue);
    If Value4 < -0.1 then SetPlotBGColor(4,Blue);
    If Value5 < -0.1 then SetPlotBGColor(5,Blue);
    If Value6 < -0.1 then SetPlotBGColor(6,Blue);

    6日間の騰落率の合計が、-10%以下ならアラートを鳴らし、
    【累積下落10%以上】と銘柄名をアラートウィンドウに表示する。

    If AlertEnabled then if Value1 < -0.1 or (Value1+Value2) < -0.1 or (Value1+Value2+Value3) < -0.1 or (Value1+Value2+Value3+Value4) < -0.1 or (Value1+Value2+Value3+Value4+Value5) < -0.1 or  (Value1+Value2+Value3+Value4+Value5+Value6) < -0.1 then
    Alert(“【累積下落10%以上】” +Description);
    //アラートが有効かつ当日の騰落率が10%以上下落していたら、または、当日と1日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前と3日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前と3日前と4日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前と3日前と4日前と5日前の騰落率の合計が10%以上下落していたら、【累積下落10%以上】と銘柄名をアラートウィンドウに表示する。

    *なぜ6日間の騰落率の合計にせずに直近当日か直近1日の合計にしたかというと、直近近くで下ってる銘柄を探すためです。
    *アラートをならすのは、違う理由もあってトレードステーションにはアラートが鳴った銘柄、つまり条件を満たした銘柄を一番上や下に並び替えれるので便利なのです。
    アラートでの並び替えできなければ、こういった複雑な条件を満たした銘柄をすぐに探せず、条件を満たした銘柄を一つ一つ探さないとイケなくかなり手間になります。

    実際のプログラム

    Value1 = (close-close[1])/close[1];//当日の騰落率
    Value2 = (close[1]-close[2])/close[2];//1日前の騰落率
    Value3 = (close[2]-close[3])/close[3];//2日前の騰落率
    Value4 = (close[3]-close[4])/close[4];//3日前の騰落率
    Value5 = (close[4]-close[5])/close[5];//4日前の騰落率
    Value6 = (close[5]-close[6])/close[6];//5日前の騰落率

    Plot1(Value1,”当日の騰落率”);//当日の騰落率を表示する
    Plot2(Value2,”1日前の騰落率”);//1日前の騰落率を表示する
    Plot3(Value3,”2日前の騰落率”);//2日前の騰落率を表示する
    Plot4(Value4,”3日前の騰落率”);//3日前の騰落率を表示する
    Plot5(Value5,”4日前の騰落率”);//4日前の騰落率を表示する
    Plot6(Value6,”5日前の騰落率”);//5日前の騰落率を表示する

    If Value1 > 0 then SetPlotColor(1,Red) else SetPlotColor(1,Cyan);//騰落率がプラスなら文字を赤く、プラスでないなら文字をシアン色にする。
    If Value2 > 0 then SetPlotColor(2,Red) else SetPlotColor(2,Cyan);
    If Value3 > 0 then SetPlotColor(3,Red) else SetPlotColor(3,Cyan);
    If Value4 > 0 then SetPlotColor(4,Red) else SetPlotColor(4,Cyan);
    If Value5 > 0 then SetPlotColor(5,Red) else SetPlotColor(5,Cyan);
    If Value6 > 0 then SetPlotColor(6,Red) else SetPlotColor(6,Cyan);

    If Value1 < -0.1 then SetPlotBGColor(1,Blue);//-10%の騰落率の場合、その枠の背景色を青にする。
    If Value2 < -0.1 then SetPlotBGColor(2,Blue);
    If Value3 < -0.1 then SetPlotBGColor(3,Blue);
    If Value4 < -0.1 then SetPlotBGColor(4,Blue);
    If Value5 < -0.1 then SetPlotBGColor(5,Blue);
    If Value6 < -0.1 then SetPlotBGColor(6,Blue);

    If AlertEnabled then if Value1 < -0.1 or (Value1+Value2) < -0.1 or (Value1+Value2+Value3) < -0.1 or (Value1+Value2+Value3+Value4) < -0.1 or (Value1+Value2+Value3+Value4+Value5) < -0.1 or (Value1+Value2+Value3+Value4+Value5+Value6) < -0.1 then
    Alert(“【累積下落10%以上】” +Description);//アラートが有効かつ当日の騰落率が10%以上下落していたら、または、当日と1日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前と3日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前と3日前と4日前の騰落率の合計が10%以上下落していたら、または、当日と1日前と2日前と3日前と4日前と5日前の騰落率の合計が10%以上下落していたら、【累積下落10%以上】と銘柄名をアラートウィンドウに表示する。

Follow me!