test4.1
//作成にあたってぽぬさんブログを参考にしています。
使う場合は、コード内最初の注意事項をよく読んでご使用ください。
//test5で追加したオブジェクト指向ではうまく実現できず、
test4ベースに戻ってしまったのでtest4.1です。
そのうえ、プログラムも2つに分かれてしまいました。
1つ目[チャート上に線を表示するプログラム]
//※ショウミーです。(ショウミーでしか検証してないけどショウミーでなくても動くと思う)
//ぽぬきちさんブログを参考にしています。
//15分足に使うことを想定しています。
//15分足の転換点、1時間足の転換点、日足の転換点を表示してくれます。
//1時間足は15分足4本で判定、日足は15分足20本で判定しているなんちゃって日足なので、先物とか為替はInputで調整ください。
//コメントはプログラムが古い時のまま直していないので多いので、古いnoteのコメントを参照ください。
//開発中のゴミあり。
Using elsystem;
Using tsdata.marketdata;
using elsystem.drawing;
using elsystem.drawingobjects;
Inputs:
Int Length1( 10 ) [DisplayName="短期線の最高値,最安値を判定する期間"],
Int Length2( 40 ) [DisplayName="中期線の最高値,最安値を判定する期間"],
Int Length3( 200 ) [DisplayName="長期線の最高値,最安値を判定する期間"];
Variables:
TextLabel TXL(null), //テキスト作成用関数
BNPoint PoBN(null), //テキストの位置指定関数
TrendLine myTrendLine1(null), //線描画用関数
BNPoint myBNPoint1(null), //線描画用関数
BNPoint myBNPoint2(null), //線描画用関数
PriceSeriesProvider PSP(null), //線描画用関数
intrabarpersist string tenkan_text(""), //テキスト内容
//1用
Double ue1 ( 0 ), //直前の天の転換点の値
Double sita1 ( 0 ), //直前の底の転換点の値
Double Max_ue ( 0 ), //過去X日の最大値
Double Min_sita ( 0 ), //過去X日の最小値
Int tenkanten ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_1 ( 0 ), //直前の転換点の値
Double tenkanten_atai_2 ( 0 ), //2つ前の転換点の値
Int bar_no_pre1 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre2 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_1 ( 0 ), //天の転換点のバーナンバー
Int bar_no_2 ( 0 ), //底の転換点のバーナンバー
Int barSuu ( 0 ), //バーナンバー
Int TakaCount ( 0 ), //高値カウンター
Int YasuCount ( 0 ), //安値カウンター
//1用
Double ue11 ( 0 ), //直前の天の転換点の値
Double sita11 ( 0 ), //直前の底の転換点の値
Double Max_ue1 ( 0 ), //過去X日の最大値
Double Min_sita1 ( 0 ), //過去X日の最小値
Int tenkanten1 ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_11 ( 0 ), //直前の転換点の値
Double tenkanten_atai_12 ( 0 ), //2つ前の転換点の値
Int bar_no_pre11 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre12 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_11 ( 0 ), //天の転換点のバーナンバー
Int bar_no_12 ( 0 ), //底の転換点のバーナンバー
Int barSuu1 ( 0 ), //バーナンバー
Int TakaCount1 ( 0 ), //高値カウンター
Int YasuCount1 ( 0 ), //安値カウンター
//2用
Double ue21 ( 0 ), //直前の天の転換点の値
Double sita21 ( 0 ), //直前の底の転換点の値
Double Max_ue2 ( 0 ), //過去X日の最大値
Double Min_sita2 ( 0 ), //過去X日の最小値
Int tenkanten2 ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_21 ( 0 ), //直前の転換点の値
Double tenkanten_atai_22 ( 0 ), //2つ前の転換点の値
Int bar_no_pre21 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre22 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_21 ( 0 ), //天の転換点のバーナンバー
Int bar_no_22 ( 0 ), //底の転換点のバーナンバー
Int barSuu2 ( 0 ), //バーナンバー
Int TakaCount2 ( 0 ), //高値カウンター
Int YasuCount2 ( 0 ), //安値カウンター
//3用
Double ue31 ( 0 ), //直前の天の転換点の値
Double sita31 ( 0 ), //直前の底の転換点の値
Double Max_ue3 ( 0 ), //過去X日の最大値
Double Min_sita3 ( 0 ), //過去X日の最小値
Int tenkanten3 ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_31 ( 0 ), //直前の転換点の値
Double tenkanten_atai_32 ( 0 ), //2つ前の転換点の値
Int bar_no_pre31 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre32 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_31 ( 0 ), //天の転換点のバーナンバー
Int bar_no_32 ( 0 ), //底の転換点のバーナンバー
Int barSuu3 ( 0 ), //バーナンバー
Int TakaCount3 ( 0 ), //高値カウンター
Int YasuCount3 ( 0 ), //安値カウンター
DateTime DT1(null),
DateTime DT2(null),
TrendLine TL(null);
Once ClearPrintLog;//デバッグ用(ログを削除)
// --------------------------------------------------
// 15分足
// --------------------------------------------------
//過去X日の最大値、最小値を算出
Max_ue1 = Highest(High[1],Length1);
Min_sita1 = Lowest(Low[1],Length1);
//過去X日の最大値より今日の高値が大きい時、ue1に高値をセット、bar_no_1に足数をセット、転換点を天にセット
If Max_ue1 < High Then Begin
ue11 = High;
bar_no_11 = CurrentBar;
tenkanten1 = 1;
//過去X日の最小値より今日の安値が小さい時、sita1に安値をセット、bar_no_2に足数をセット、転換点を底にセット
end Else
If Min_sita1 > Low Then begin
sita11 = Low;
bar_no_12 = CurrentBar;
tenkanten1 = 0;
End;
//前日の転換点が天、今日の転換点が底の時、天の転換点が確定したとして、転換点の値をue1とする。ue1を天の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten1[1] = 1 AND tenkanten1 = 0 Then begin
//転換点の値をue1とする。
tenkanten_atai_12 = tenkanten_atai_11 ;
tenkanten_atai_11 = ue11;
bar_no_pre12 = bar_no_pre11;
bar_no_pre11 = bar_no_11;
//転換点を結ぶ。
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre11-1,tenkanten_atai_11); //線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + bar_no_pre12-1,tenkanten_atai_12); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 0; //線の種類
myTrendLine1.Weight = 1; //線の太さ
myTrendLine1.Color = Color.FromName("Green"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
end;
//前日の転換点が底、今日の転換点が天の時、底の転換点が確定したとして、転換点の値をsita1とする。sita1を底の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten1[1] = 0 AND tenkanten1 = 1 Then begin
//転換点の値をsita1とする。
tenkanten_atai_12 = tenkanten_atai_11 ;
tenkanten_atai_11 = sita11;
bar_no_pre12 = bar_no_pre11;
bar_no_pre11 = bar_no_12;
//転換点を結ぶ。
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre11-1,tenkanten_atai_11); //線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + bar_no_pre12-1,tenkanten_atai_12); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 0; //線の種類
myTrendLine1.Weight = 1; //線の太さ
myTrendLine1.Color = Color.FromName("Green"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
end;
// --------------------------------------------------
// 60分足
// --------------------------------------------------
//過去X日の最大値、最小値を算出
Max_ue2 = Highest(High[1],Length2);
Min_sita2 = Lowest(Low[1],Length2);
//過去X日の最大値より今日の高値が大きい時、ue1に高値をセット、bar_no_1に足数をセット、転換点を天にセット
If Max_ue2 < High Then Begin
ue21 = High;
bar_no_21 = CurrentBar;
tenkanten2 = 1;
//過去X日の最小値より今日の安値が小さい時、sita1に安値をセット、bar_no_2に足数をセット、転換点を底にセット
end Else
If Min_sita2 > Low Then begin
sita21 = Low;
bar_no_22 = CurrentBar;
tenkanten2 = 0;
End;
//前日の転換点が天、今日の転換点が底の時、天の転換点が確定したとして、転換点の値をue1とする。ue1を天の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten2[1] = 1 AND tenkanten2 = 0 Then begin
//転換点の値をue1とする。
tenkanten_atai_22 = tenkanten_atai_21 ;
tenkanten_atai_21 = ue21;
bar_no_pre22 = bar_no_pre21;
bar_no_pre21 = bar_no_21;
//転換点を結ぶ。
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre21-1,tenkanten_atai_21); //線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + bar_no_pre22-1,tenkanten_atai_22); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 0; //線の種類
myTrendLine1.Weight = 2; //線の太さ
myTrendLine1.Color = Color.FromName("Orange"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
end;
//前日の転換点が底、今日の転換点が天の時、底の転換点が確定したとして、転換点の値をsita1とする。sita1を底の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten2[1] = 0 AND tenkanten2 = 1 Then begin
//転換点の値をsita1とする。
tenkanten_atai_22 = tenkanten_atai_21 ;
tenkanten_atai_21 = sita21;
bar_no_pre22 = bar_no_pre21;
bar_no_pre21 = bar_no_22;
//転換点を結ぶ。
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre21-1,tenkanten_atai_21); //線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + bar_no_pre22-1,tenkanten_atai_22); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 0; //線の種類
myTrendLine1.Weight = 2; //線の太さ
myTrendLine1.Color = Color.FromName("Orange"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
end;
// --------------------------------------------------
// 日足
// --------------------------------------------------
//過去X日の最大値、最小値を算出
Max_ue3 = Highest(High[1],Length3);
Min_sita3 = Lowest(Low[1],Length3);
//過去X日の最大値より今日の高値が大きい時、ue1に高値をセット、bar_no_1に足数をセット、転換点を天にセット
If Max_ue3 < High Then Begin
ue31 = High;
bar_no_31 = CurrentBar;
tenkanten3 = 1;
//過去X日の最小値より今日の安値が小さい時、sita1に安値をセット、bar_no_2に足数をセット、転換点を底にセット
end Else
If Min_sita3 > Low Then begin
sita31 = Low;
bar_no_32 = CurrentBar;
tenkanten3 = 0;
End;
//前日の転換点が天、今日の転換点が底の時、天の転換点が確定したとして、転換点の値をue1とする。ue1を天の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten3[1] = 1 AND tenkanten3 = 0 Then begin
//転換点の値をue1とする。
tenkanten_atai_32 = tenkanten_atai_31 ;
tenkanten_atai_31 = ue31;
bar_no_pre32 = bar_no_pre31;
bar_no_pre31 = bar_no_31;
//転換点を結ぶ。
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre31-1,tenkanten_atai_31); //線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + bar_no_pre32-1,tenkanten_atai_32); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 0; //線の種類
myTrendLine1.Weight = 3; //線の太さ
myTrendLine1.Color = Color.FromName("red"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
end;
//前日の転換点が底、今日の転換点が天の時、底の転換点が確定したとして、転換点の値をsita1とする。sita1を底の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten3[1] = 0 AND tenkanten3 = 1 Then begin
//転換点の値をsita1とする。
tenkanten_atai_32 = tenkanten_atai_31 ;
tenkanten_atai_31 = sita31;
bar_no_pre32 = bar_no_pre31;
bar_no_pre31 = bar_no_32;
//転換点を結ぶ。
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre31-1,tenkanten_atai_31); //線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + bar_no_pre32-1,tenkanten_atai_32); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 0; //線の種類
myTrendLine1.Weight = 3; //線の太さ
myTrendLine1.Color = Color.FromName("red"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
end;
// --------------------------------------------------
// 最後のバーにて、最後の転換点から最新の終値に向けて破線を引く
// --------------------------------------------------
if LastBarOnChart Then begin
//最新の終値に向かって引く
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre11-1 ,tenkanten_atai_11);//線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + CurrentBar ,Close[0]); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 2; //線の種類
myTrendLine1.Weight = 1; //線の太さ
myTrendLine1.Color = Color.FromName("Green"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
//最新の終値に向かって引く
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre21-1 ,tenkanten_atai_21);//線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + CurrentBar ,Close[0]); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 2; //線の種類
myTrendLine1.Weight = 2; //線の太さ
myTrendLine1.Color = Color.FromName("Orange"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1); //線をチャートにプロット
//最新の終値に向かって引く
myBNPoint1 = BNPoint.Create(MaxBarsBack + bar_no_pre31-1 ,tenkanten_atai_31);//線の開始点
myBNPoint2 = BNPoint.Create(MaxBarsBack + CurrentBar ,Close[0]); //線の終了点
myTrendLine1 = TrendLine.create(myBNPoint1,myBNPoint2); //線の作成コマンド
myTrendLine1.Persist = True; //ティックの更新後、線が画面に残る
myTrendLine1.Style = 2; //線の種類
myTrendLine1.Weight = 3; //線の太さ
myTrendLine1.Color = Color.FromName("Red"); //線の色
myTrendLine1.ExtRight = False; //右に延長しません
DrawingObjects.Add(myTrendLine1);
end;
//Print (CurrentBar,",",Value1,",",Value2,",",Value3,",",Value4,",",Value5,",",Value6,",",Value7,",",Value8,",",Value9,",",Value10,",",Value11,",",Value12,",",Value13,",",Value14);//デバッグ用(ログを表示)
// --------------------------------------------------
// おしまい
// --------------------------------------------------
2つ目[チャート上に価格を表示するプログラム]
//※ショウミーです。(ショウミーでしか検証してないけどショウミーでなくても動くと思う)
//ぽぬきちさんブログを参考にしています。
//15分足に使うことを想定しています。
//もう1個のプログラムの補完として、転換点の価格を表示します。
//コメントはプログラムが古い時のまま直していないので多いので、古いnoteのコメントを参照ください。
//開発中のゴミあり。
Using elsystem;
Using tsdata.marketdata;
using elsystem.drawing;
using elsystem.drawingobjects;
Inputs:
Int Length1( 10 ) [DisplayName="最高値,最安値を判定する期間"];
Variables:
TextLabel TXL(null), //テキスト作成用関数
BNPoint PoBN(null), //テキストの位置指定関数
TrendLine myTrendLine1(null), //線描画用関数
BNPoint myBNPoint1(null), //線描画用関数
BNPoint myBNPoint2(null), //線描画用関数
PriceSeriesProvider PSP(null), //線描画用関数
intrabarpersist string tenkan_text(""), //テキスト内容
//1用
Double ue1 ( 0 ), //直前の天の転換点の値
Double sita1 ( 0 ), //直前の底の転換点の値
Double Max_ue ( 0 ), //過去X日の最大値
Double Min_sita ( 0 ), //過去X日の最小値
Int tenkanten ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_1 ( 0 ), //直前の転換点の値
Double tenkanten_atai_2 ( 0 ), //2つ前の転換点の値
Int bar_no_pre1 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre2 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_1 ( 0 ), //天の転換点のバーナンバー
Int bar_no_2 ( 0 ), //底の転換点のバーナンバー
Int barSuu ( 0 ), //バーナンバー
Int TakaCount ( 0 ), //高値カウンター
Int YasuCount ( 0 ), //安値カウンター
//1用
Double ue11 ( 0 ), //直前の天の転換点の値
Double sita11 ( 0 ), //直前の底の転換点の値
Double Max_ue1 ( 0 ), //過去X日の最大値
Double Min_sita1 ( 0 ), //過去X日の最小値
Int tenkanten1 ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_11 ( 0 ), //直前の転換点の値
Double tenkanten_atai_12 ( 0 ), //2つ前の転換点の値
Int bar_no_pre11 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre12 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_11 ( 0 ), //天の転換点のバーナンバー
Int bar_no_12 ( 0 ), //底の転換点のバーナンバー
Int barSuu1 ( 0 ), //バーナンバー
Int TakaCount1 ( 0 ), //高値カウンター
Int YasuCount1 ( 0 ), //安値カウンター
//2用
Double ue21 ( 0 ), //直前の天の転換点の値
Double sita21 ( 0 ), //直前の底の転換点の値
Double Max_ue2 ( 0 ), //過去X日の最大値
Double Min_sita2 ( 0 ), //過去X日の最小値
Int tenkanten2 ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_21 ( 0 ), //直前の転換点の値
Double tenkanten_atai_22 ( 0 ), //2つ前の転換点の値
Int bar_no_pre21 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre22 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_21 ( 0 ), //天の転換点のバーナンバー
Int bar_no_22 ( 0 ), //底の転換点のバーナンバー
Int barSuu2 ( 0 ), //バーナンバー
Int TakaCount2 ( 0 ), //高値カウンター
Int YasuCount2 ( 0 ), //安値カウンター
//3用
Double ue31 ( 0 ), //直前の天の転換点の値
Double sita31 ( 0 ), //直前の底の転換点の値
Double Max_ue3 ( 0 ), //過去X日の最大値
Double Min_sita3 ( 0 ), //過去X日の最小値
Int tenkanten3 ( 0 ), //直前の転換点 1:天 0:底
Double tenkanten_atai_31 ( 0 ), //直前の転換点の値
Double tenkanten_atai_32 ( 0 ), //2つ前の転換点の値
Int bar_no_pre31 ( 0 ), //直前の転換点のバーナンバー
Int bar_no_pre32 ( 0 ), //2つ前の転換点のバーナンバー
Int bar_no_31 ( 0 ), //天の転換点のバーナンバー
Int bar_no_32 ( 0 ), //底の転換点のバーナンバー
Int barSuu3 ( 0 ), //バーナンバー
Int TakaCount3 ( 0 ), //高値カウンター
Int YasuCount3 ( 0 ), //安値カウンター
DateTime DT1(null),
DateTime DT2(null),
TrendLine TL(null);
Once ClearPrintLog;//デバッグ用(ログを削除)
// --------------------------------------------------
// 15分足
// --------------------------------------------------
//過去X日の最大値、最小値を算出
Max_ue1 = Highest(High[1],Length1);
Min_sita1 = Lowest(Low[1],Length1);
//過去X日の最大値より今日の高値が大きい時、ue1に高値をセット、bar_no_1に足数をセット、転換点を天にセット
If Max_ue1 < High Then Begin
ue11 = High;
bar_no_11 = CurrentBar;
tenkanten1 = 1;
//過去X日の最小値より今日の安値が小さい時、sita1に安値をセット、bar_no_2に足数をセット、転換点を底にセット
end Else
If Min_sita1 > Low Then begin
sita11 = Low;
bar_no_12 = CurrentBar;
tenkanten1 = 0;
End;
//前日の転換点が天、今日の転換点が底の時、天の転換点が確定したとして、転換点の値をue1とする。ue1を天の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten1[1] = 1 AND tenkanten1 = 0 Then begin
//転換点の値をue1とする。
tenkanten_atai_12 = tenkanten_atai_11 ;
tenkanten_atai_11 = ue11;
bar_no_pre12 = bar_no_pre11;
bar_no_pre11 = bar_no_11;
//ue1を天の転換点の足にテキスト表示する。
tenkan_text = NumToStr ( tenkanten_atai_11, 2 ); //転換点の価格を数値形式からテキスト形式にフォーマット変換する
PoBN = BNPoint.Create(bar_no_11,tenkanten_atai_11*1.001); //テキストを挿入する位置を指定
TXL = TextLabel.Create(PoBN,tenkan_text); //テキストの印字内容を指定(テキスト作成指示も含む)
TXL.Color = Color.FromName ("yellow"); //テキストの色を指定
TXL.Font = new Font("Microsoft Sans Sefif", 7.5, FontStyle.Regular); //テキストのフォントサイズ等を指定
DrawingObjects.Add(TXL); //テキスト描画実行
end;
//前日の転換点が底、今日の転換点が天の時、底の転換点が確定したとして、転換点の値をsita1とする。sita1を底の転換点の足にテキスト表示する。転換点を結ぶ。
If tenkanten1[1] = 0 AND tenkanten1 = 1 Then begin
//転換点の値をsita1とする。
tenkanten_atai_12 = tenkanten_atai_11 ;
tenkanten_atai_11 = sita11;
bar_no_pre12 = bar_no_pre11;
bar_no_pre11 = bar_no_12;
//sita1を底の転換点の足にテキスト表示する。
tenkan_text = NumToStr ( tenkanten_atai_11, 2 ); //転換点の価格を数値形式からテキスト形式にフォーマット変換する
PoBN = BNPoint.Create(bar_no_11,tenkanten_atai_11*0.9998); //テキストを挿入する位置を指定
TXL = TextLabel.Create(PoBN,tenkan_text); //テキスト作成コマンド
TXL.Color = Color.FromName ("yellow"); //テキストの色を指定
TXL.Font = new Font("Microsoft Sans Sefif", 7.5, FontStyle.Regular); //テキストのフォントサイズ等を指定
DrawingObjects.Add(TXL); //テキスト描画実行
end;
//Print (CurrentBar,",",Value1,",",Value2,",",Value3,",",Value4,",",Value5,",",Value6,",",Value7,",",Value8,",",Value9,",",Value10,",",Value11,",",Value12,",",Value13,",",Value14);//デバッグ用(ログを表示)
// --------------------------------------------------
// おしまい
// --------------------------------------------------