[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 308

 
Şu anda ABD'de saat kaç? Moskova'da saat kaçta açılıyor / kapanıyorlar şimdi .. Japonya'da saat kaçta Moskova'da saat kaçta açılıyor / kapanıyorlar ? Sadece kış saatinin bu kaldırılmasıyla, biraz belirsiz .. ve Avrupa, Asya, Amerika Birleşik Devletleri saatleri mi aktarıyor?
 
Elenn :
Çözüm gerçekten orijinal, denemelisiniz. Ancak bir diziyi yeniden bildirirken, yeniden başlatma nedeniyle veriler kaybolacak mı?

Dizinin boyutu artırılırken daha önce girilen veriler kaybolmaz. Ve "yakalanan" (yeni) hücreler RAM çöpü içerecektir. Dizi kesilirse, kesilen hücrelerdeki veriler geri alınamaz bir şekilde kaybolur. Bunlar programlamanın temelleri.
 
vilard :

bekleyen bir MODE_TRADE emrinin MODE_HISTORY haline gelmesi ne kadar sürer?

Hiçbiri aracılığıyla. Bekleyen siparişler geçmişe kaydedilmez.

Piyasaya dönüşüp kapanır kapanmaz tarih olur ama ertelenmiş değil piyasa tipiyle.

Örneğin:

Bir OP_BUYSTOP varsa, OP_BUY'a dönüştürülür. Kapandıktan sonra tarihe geçecek.

AMA, OP_BUYSTOP'tan OP_BUY'a dönüştürüldükten sonra, orijinal OP_BUYSTOP geçmişte olmayacak .

 
001 :

İyi akşamlar! Lütfen bana söyle. Farklı çubuklarda iki gösterge değeri vardır. Aralarında bir çizgi nasıl çizilir ve göstergede bununla nasıl çalışılır? Teşekkür ederim!

OBJ_TREND nesnesini kullanarak aralarında bir çizgi çizebilirsiniz. İlk koordinat, birinci çubuğun zamanı ve fiyatı, ikinci koordinat, ikinci çubuğun zamanı ve fiyatıdır.

İşlev:

 //+----------------------------------------------------------------------------+
void SetTLine( color cl, string nm, datetime t1= 0 , double p1= 0 , datetime t2= 0 , double p2= 0 , int st= 0 , int sz= 0 ) {
   if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_TREND , 0 , 0 , 0 , 0 , 0 );
   ObjectSet (nm, OBJPROP_TIME1    , t1);
   ObjectSet (nm, OBJPROP_PRICE1   , p1);
   ObjectSet (nm, OBJPROP_TIME2    , t2);
   ObjectSet (nm, OBJPROP_PRICE2   , p2);
   ObjectSet (nm, OBJPROP_COLOR     , cl);
   ObjectSet (nm, OBJPROP_STYLE     , st);
   ObjectSet (nm, OBJPROP_WIDTH     , sz);
   ObjectSet (nm, OBJPROP_RAY      , 0 );
}
//+----------------------------------------------------------------------------+

Umarım içinde her şey açıktır.

cl - nesne rengi, nm - nesne adı, t1, p1 - başlangıç koordinatları, t2, p2 - bitiş koordinatları, st - çizgi stili, sz - boyut.

Ayrıca ışın ekleyebilirsiniz: 1 - ışın, 0 - segment. Bu işlevin son satırı bir segment içerir. 0 yerine, iletilen parametrenin adını koyabilirsiniz.

Ancak göstergede (bu satırla) onunla nasıl çalışılacağı hakkında - burada ondan neye ihtiyacınız olduğunu bilmeniz gerekir. Ancak bununla ilgili veriler (çizgi) standart işlev kullanılarak alınabilir.

ObjectGet("nesne adı",istenen nesne özelliği);

 
artmedia70 :

OBJ_TREND nesnesini kullanarak aralarında bir çizgi çizebilirsiniz. İlk koordinat, birinci çubuğun zamanı ve fiyatı, ikinci koordinat, ikinci çubuğun zamanı ve fiyatıdır.

İşlev:

Umarım içinde her şey açıktır.

cl - nesne rengi, nm - nesne adı, t1, p1 - başlangıç koordinatları, t2, p2 - bitiş koordinatları, st - çizgi stili, sz - boyut.

Ayrıca ışın ekleyebilirsiniz: 1 - ışın, 0 - segment. Bu işlevin son satırı bir segment içerir. 0 yerine, iletilen parametrenin adını koyabilirsiniz.

Ancak göstergede (bu satırla) onunla nasıl çalışılacağı hakkında - burada ondan neye ihtiyacınız olduğunu bilmeniz gerekir. Ancak bununla ilgili veriler (çizgi) standart işlev kullanılarak alınabilir.

ObjectGet("nesne adı",istenen nesne özelliği);


Çok teşekkürler! İzin verirseniz bir soru daha. Nasıl çalışılır (belirli bir çubukta trend çizgisinin ne kadar değerli olduğunu bilmeniz gerekir), bir Uzman Danışmanda bir iplikle nasıl çalışılır. iCustom yavaşlıyor, göstergenin bir kısmını Uzman Danışmana (hesaplamalar) aktarmak istiyorum.
 
Günaydın!!! Hesabıma giriş yapamıyorum! ne x. bu "genel hata"?
 
Bilgisayarda bir sorun mu var?
 
Elenn :
Çözüm gerçekten orijinal, denemelisiniz.


Belki de size Delphi ile ilgili bir ders kitabından küçük bir metin alıntılayacağım. Bilmekten zarar gelmez.

"Dinamik diziler" dinamik veri yapılarıdır, bu nedenle, onlarla çalışmanın sonunda, program bunların bilgisayarın belleğinden açıkça çıkarılmasını sağlamalıdır. Gereksiz dinamik değişkenleri bilgisayar belleğinden kaldırma işlemine bazen çöp toplama denir."

MQL4 dili için uygun olan bir değişken, çalışmayı bitirdiğinizde ArrayResize() işlevi https://docs.mql4.com/en/array/ArrayResize kullanarak dinamik bir dizinin boyutunu sıfır uzunluğa değiştirmektir.

 
drknn :


Belki de size Delphi ile ilgili bir ders kitabından küçük bir metin alıntılayacağım. Bilmekten zarar gelmez.

"Dinamik diziler" dinamik veri yapılarıdır, bu nedenle, onlarla çalışmanın sonunda, program bunların bilgisayarın belleğinden açıkça çıkarılmasını sağlamalıdır. Gereksiz dinamik değişkenleri bilgisayar belleğinden kaldırma işlemine bazen çöp toplama denir."

MQL4 dili için uygun olan bir değişken, çalışmayı bitirdiğinizde ArrayResize() işlevi https://docs.mql4.com/en/array/ArrayResize kullanarak dinamik bir dizinin boyutunu sıfır uzunluğa değiştirmektir.

Sorun değil: Kendinden sonra çöpü temizlemek bir görgü kuralıdır...

Sadece bu bağlamda, şu anda "çöpün" temizlenmesi gerektiğinin nasıl belirleneceği veya tam tersi: bu çöp değil - bu, daha fazla hesaplama için gerekli verilerdir.

Anladığım kadarıyla, deinit()'te kendinizden sonra temizlemeniz gerekiyor, ancak... sadece bir ticaret enstrümanının tablosu silindiğinde değil, Uzman Danışman ondan kaldırıldığında değil, aynı zamanda çalışan TF'de de yürütülüyor. değişti. Bu durumda, TF için birikmiş tüm veriler kaybolacak ve önceki zaman dilimine dönerken EA, sıfır dizi ile tekrar çalışmaya başlayacaktır. Danışmanın parametrelerinden herhangi birini değiştirdiğinizde de aynısı olacaktır.

Bazı durumlarda "çöp toplamanın" karmaşık bir mantıksal süreç olduğu ve bir dizinin boyutunda basit bir değişiklik olmadığı ortaya çıktı.

 
001 :

Çok teşekkürler! Başka bir soru, eğer yapabilirsem. Nasıl çalışılır ( belirli bir çubukta trend çizgisinin hangi değeri aldığını bilmeniz gerekir ), bir Uzman Danışmanda bir iplikle nasıl çalışılır . iCustom yavaşlıyor, göstergenin bir kısmını Uzman Danışmana (hesaplamalar) aktarmak istiyorum.

ObjectGetValueByShift() size yardımcı olmak için

Ve onunla orada nasıl çalışacaksın - sadece sen biliyorsun ...