10Pips毎の基準線の引き方 - ページ 2

 

もちろんです!(笑これは単なる時間です。そして、Time[0]に時間を足すだけで、長方形が未来(チャートの右側から)広がっていくのです。ありがとうございます。ちなみに左側は単純にBarsを 使うことでわかりました。

datetime timeGap = (Time[0] - Time[1]); // get the amount of time between bars
ObjectSet("tensRec"+ix,OBJPROP_TIME2,Time[0] + (timeGap*150)); // multiplying timeGap by 150 seems to extend the rectangle off the right-hand window edge

使っている色が微妙なんですよね。ほとんど矩形を探さないと見えないくらいです。

ObjectSet("tensRec"+ix,OBJPROP_COLOR,0x080808) 
 
MisterDog:

もちろんです!(笑これは単なる時間です。そして、Time[0]に時間を足すだけで、長方形が未来(チャートの右側から)広がっていくのです。ありがとうございます。ちなみに左側は単純にBarsを 使うことでわかりました。

使っている色が微妙なんですよね。長方形を探さないと見えないくらいです。

MisterDogさん、こんにちは。

写真を見てもいいですか?

月曜日はTime[0]が月曜日で、Time[1]は土曜日 です - これが月曜日のギャップです ;).

:D

 

私は1分足チャートを使っているので、あなたが言っていることは1分で解決すると思います。週末に何が起こるか、よく見てみましょう。

これがその写真です。

 
onewithzachy:

MisterDogさん、こんにちは。

簡単なことです。

1.あるバーと別のバーの間の時間距離を取得します。これは、現在のバーの時間と前のバーの時間を引くか、周期に60秒を掛けることで得られますが、月曜日には時間差があるので、後者を選びましょう。

私の週の最初のバーは日曜日から始まるので、月曜日には タイムギャップはありません;-)

終了時刻にPERIOD_W1 * 60を足せば、どんなギャップもカバーできるのでは?)

 
MisterDog:

私が使っている色はとても微妙な色です。長方形を探さないとわからないくらいです。

なるほど、そういうことだったんですね。

RaptorUK

私は月曜日に時間的なギャップがなく、週の最初のバーは日曜日から始まります;-)

PERIOD_W1 * 60 を終了時刻に追加してみてはどうでしょうか? これで、あらゆるギャップをカバーできるはずです ... ;-)

それなら、日曜日にギャップがありますね;)。

 
  1. MisterDog:
    ObjectDelete のようなものに、ある種の「ワイルドカード」を使用する方法はないのでしょうか?ObjectDelete("tensLines "*);つまり、"tensLines "で始まるものをすべて削除する、というようなことをしたいのですが、どうすればよいでしょうか?
    #define ONDA_BEGINS   0
    #define ONDA_CONTAINS 1
    void ObjectNameDeleteAll(string name, int where=ONDA_BEGINS, int type=EMPTY){
        for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
            string on   = ObjectName(iObj);
            int    iPos = StringFind(on, name);
            if (iPos < 0)                         continue;
            if (iPos > 0 && where == ONDA_BEGINS) continue;
            if      (type == EMPTY))         ObjectDelete(on);
            else if (type == ObjectType(on)) ObjectDelete(on);
        }
    }
    
    未コンパイル、未テストです。

  2. また、それらを削除する理由はありません、ただ新しい位置にそれらを移動します。私のコードから。
    void Rect(string name, datetime T0,double P0, datetime T1,double P1, color clr){
        if (!Show.Objects)  return;                         #define WINDOW_MAIN 0
        if      (ObjectMove( name, 0, T0, P0 ))     ObjectMove(name, 1, T1, P1);
        else if (!ObjectCreate( name, OBJ_RECTANGLE, WINDOW_MAIN, T0, P0, T1, P1 ))
            Alert("ObjectCreate(",name,",RECT) failed: ", GetLastError() );
        if (!ObjectSet(name, OBJPROP_COLOR, clr )) // Allow color change
            Alert("ObjectSet(", name, ",Color) [3] failed: ", GetLastError());
        string  P0t = PriceToStr(P0);           if (MathAbs(P0 - P1) >= Point)
                P0t = StringConcatenate(P0t, " to ", PriceToStr(P1));
        if (!ObjectSetText(name, P0t, 10))
            Alert("ObjectSetText(",name,") [1] failed: ", GetLastError());
    }
    

  3. RaptorUK です。
    終了時刻にPERIOD_W1 * 60を追加してはどうでしょうか? これで、あらゆるギャップをカバーできるはずです ...;-)
    なぜ、矩形をずっと未来に投影しないのか?
    #define INF 0x6FFFFFFF // Not quite infinite, Jul 2029, or 1,879,048,191
    ObjectSet("tensRec"+ix,OBJPROP_TIME2,INF);
 
WHRoeder:
矩形をずっと未来に投影すればいいのでは?

WHRoederさん、ありがとうございました。私はそれを取るよ :D

[ EDIT : では、とにかく、many thankssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss。]

 
WHRoeder:
  1. RaptorUK です。
    終了時刻にPERIOD_W1 * 60を追加してください。)
    なぜ、矩形を未来にずっと投影しないのですか?
私は欲張りになりたくなかったのです ;-)
 
RaptorUK:
欲張らないようにしました ;-)
欲は善 なり、ですからね ;)
 
onewithzachy:
欲は善で ある、あなたは知っている ;)
欲は確かにとてもとても悪いものだと 苦労して学びました ;-)