OnChartEvent関数の続きです。
チャート上のオブジェクトに何らかのアクションがあった場合に
なんらかの処理を行うようにする。
今回の場合は
区切り線をクリックした場合
水平線をその区切り線の右側のRectangleの四本値に移動させる。
という処理になります。
まず
void OnChartEvent(const int id,const long &lparam,
const double &dparam,
const string &sparam){
と
if(id == CHARTEVENT_OBJECT_CLICK){
この二行をプログラムの一番最後に追加してください。
そして、この二つの相方の括弧を二つ
}}
これを追加。
こんな感じにします。
これは定型文と考えておけばOKです。
チャート上のオブジェクトをクリックした時に
何らかの処理を行いたい場合は
これをこのまま使えばいいです。
そして
for(int i = 2;i<RectangleTotal+1 ;i++){
string Number = "["+IntegerToString(i)+"]";
if(sparam == "VLine"+Number){
ObjectMove("High",0,0,iHigh(NULL,TimeFrame,i-1));}}
この四行を最後の二つの括弧の前に入れます。
適当に形を整えて
こんな感じ。
これで、とりあえず高値は移動できるようになります。
試してみてください。
続く

