Her 10 Pipte Bir Referans Çizgisi Nasıl Çizilir - sayfa 2

 

Elbette! Sadece zaman. Ve tek yapmamız gereken, dikdörtgenin geleceğe uzanmasını sağlamak için Zaman[0]'a zaman eklemektir (tablonun sağ tarafında). Teşekkürler. Bu arada, sadece Bars kullanarak sol tarafı buldum.

 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

Kullandığım renk çok ince. Onları görmek için neredeyse dikdörtgenleri aramanız gerekiyor.

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

Elbette! Sadece zaman. Ve tek yapmamız gereken, dikdörtgenin geleceğe uzanmasını sağlamak için Zaman[0]'a zaman eklemektir (tablonun sağ tarafında). Teşekkürler. Bu arada, sadece Bars kullanarak sol tarafı buldum.

Kullandığım renk çok ince. Onları görmek için neredeyse dikdörtgenleri aramanız gerekiyor.

Merhaba BayDog,

Resimleri görebilir miyiz?

Pazartesi günü Saat[0] Pazartesi günüdür, Zaman [1] ise Cumartesi günüdür - Pazartesi'deki boşluk budur ;).

:D

 

Bir dakikalık bir çizelge çalıştırdığıma göre, bahsettiğiniz şeyin bir dakika içinde kendi kendine düzeleceğini tahmin ediyorum. Sanırım hafta sonu neler olacağını iyi göreceğiz.

İşte resim.

 
onewithzachy :

Merhaba BayDog,

Basit.

1. Bir çubuktan diğerine olan zaman mesafesini alın. Bunu, mevcut bar süresini önceki bar süresiyle çıkararak veya periyodu 60 saniye ile çarparak bulabiliriz, ikincisini seçin, çünkü Pazartesi günü zaman boşluğu var.

Pazartesi günü zaman boşluğum yok, haftanın ilk barı Pazar günü başlıyor ;-)

Neden bitiş zamanına PERIOD_W1 * 60 eklemiyorsunuz? bu hemen hemen tüm boşlukları kapsamalıdır. .. ;-)

 
MisterDog :

Kullandığım renk çok ince. Onları görmek için neredeyse dikdörtgenleri aramanız gerekiyor.

Şimdi ne demek istediğini "anladım".

Raptorİngiltere

Pazartesi günü zaman boşluğum yok, haftanın ilk barı Pazar günü başlıyor ;-)

Neden bitiş zamanına PERIOD_W1 * 60 eklemiyorsunuz? bu hemen hemen tüm boşlukları kapsamalıdır. .. ;-)

Pazar günü boşluk var o zaman ;).

 
  1. MisterDog :
    Söyleyin bana, ObjectDelete gibi şeyler için bir çeşit "joker karakter" kullanmanın bir yolu var mı? Böyle bir şey yapmak istiyorum, ObjectDelete ( "tensLines"* ); başka bir deyişle, "tensLines" ile başlayan her şeyi silin.
     #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);
        }
    }
    
    Derlenmedi, test edilmedi.

  2. Ayrıca onları silmek için bir sebep yok, sadece onları yeni pozisyona taşıyın. Kodumdan :
     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. Raptorİngiltere :
    Neden bitiş zamanına PERIOD_W1 * 60 eklemiyorsunuz? bu hemen hemen tüm boşlukları kapsamalıdır. .. ;-)
    Neden dikdörtgeni tamamen geleceğe yansıtmıyorsunuz?
     #define INF 0x6FFFFFFF // Not quite infinite, Jul 2029, or 1,879,048,191
    ObjectSet ( "tensRec" +ix,OBJPROP_TIME2,INF);
 
WHRoeder :
Neden dikdörtgeni tamamen geleceğe yansıtmıyorsunuz?

WHRoeder'a çok teşekkür ederim. ben alırım :D

[ EDIT : Her neyse, çok teşekkürlerssssssssss ]

 
WHRoeder :
  1. Raptorİngiltere :
    Neden bitiş zamanına PERIOD_W1 * 60 eklemiyorsunuz? bu hemen hemen tüm boşlukları kapsamalıdır. .. ;-)
    Neden dikdörtgeni tamamen geleceğe yansıtmıyorsunuz?
Açgözlü olmak istemedim ;-)
 
RaptorUK :
Açgözlü olmak istemedim ;-)
Açgözlülük İyidir , bilirsiniz ;)
 
onewithzachy :
Açgözlülük İyidir , bilirsiniz ;)
Açgözlülüğün kesinlikle çok, çok kötü bir şey olduğunu zor yoldan öğrendim. ;-)