mql5 - son işlemden bu yana belirli bir süre sonra dikey çizgi - sayfa 6

 
Uff, işe yaramış gibi görünüyor - dosyayı ekledim :)
Çizgi, def üzerinde verilen algoritmaya göre kaydırılır. son kapanıştan bu yana ileri saatlerin sayısı. fırsatlar. Vardiya sadece 1/2/24 saatte değil, 1/2/12 saatte yapıldı, aksi takdirde tüm gün bir mola için çok fazla. Her durumda, kolaylık olması için bu değişkenleri harici parametrelerde göstereceğim. ACID_NW ile daha önce dile getirdiğim aksaklığa bakmadım bile, daha sonra test sürecinde ve olası yeni aksaklıkların tespiti sürecinde zaten anlayacağım
 
Ardından, Comment'de son son gönderinin kapanış saatini görüntüleyeceğim. işlemler ve hattın kaydırıldığı zaman, ör. bir aradan sonra ticarete devam edebileceğiniz zaman. Gerekli verilere sahip değişkenlerin zaten oluşturulduğu ve hesaplandığı göz önüne alındığında oldukça basit görünüyor - sadece formatı saniyeden tarihe dönüştürün, ancak bir nedenden dolayı hemen işe yaramadı :(
 
renatmt5 :
Ayrıca, sonuncunun kapanış saatini Yorumda göstereceğim. işlemler ve hattın kaydırıldığı zaman, ör. bir aradan sonra ticarete devam edebileceğiniz zaman. Gerekli verilere sahip değişkenlerin zaten oluşturulduğu ve hesaplandığı göz önüne alındığında oldukça basit görünüyor - sadece formatı saniyeden tarihe dönüştürün, ancak bir nedenden dolayı hemen işe yaramadı :(
 TimeToString ()
 

Sergey, teşekkürler! Denedim, ama nedense sonunda sıfır aldım. Uzun zamandır neyi hata yaptığımı araştırmadım - bununla ilgili önemli bir zorluk olmayacağını düşünüyorum

 
Ayrıca forumda ACID_NW hakkında bir arkadaşım tarafından yapılan bir açıklamayı okudum " İşlem gününün sonunda hesapta izin verilen limitten fazla bonus para kalırsa, fazlalıkları otomatik olarak Bonus hesabınıza aktarılacaktır. Aktarırken , kısaltmalar bakiye işlemine yapılan yorumlarda bulunacaktır: _ACID_NW, burada ACID - otomatik ayarlama anlamına gelir ve NW, bonus fonları anlamına gelir ".
Bu nedenle göstergeyle ilgili bir sorunum olduğundan - gösterge, son işlemdeki verileri ve son işlemin sonucunu sıfırlar. günler, en kolay seçeneği görüyorum - sadece bonus parayı hesaptan tamamen kaldırın. O zaman, tanımı gereği bu _ACID_NW'nin oluşmayacağını doğru anlıyor muyum? Alım satım sürecinde, yeni bonus fonları alım satım hesabına yatırılmayacak, ancak bonus hesabına alacak mı?
 
renatmt5 :
Ayrıca forumda ACID_NW hakkında bir arkadaşım tarafından yapılan bir açıklamayı okudum " İşlem gününün sonunda, bonus fonları hesapta izin verilen limitin üzerinde kalırsa, fazlalıkları otomatik olarak Bonus hesabınıza aktarılacaktır. Aktarırken , kısaltmalar bakiye işlemine yapılan yorumlarda bulunacaktır: _ACID_NW, burada ACID - otomatik ayarlama anlamına gelir ve NW, bonus fonları anlamına gelir ".
Bu nedenle göstergeyle ilgili bir sorunum olduğundan - gösterge, son işlemdeki verileri ve son işlemin sonucunu sıfırlar. günler, en kolay seçeneği görüyorum - sadece bonus parayı hesaptan tamamen kaldırın. O zaman, tanımı gereği bu _ACID_NW'nin oluşmayacağını doğru anlıyor muyum? Alım satım sürecinde, yeni bonus fonları alım satım hesabına yatırılmayacak, ancak bonus hesabına alacak mı?

Acele etmeyin. Geçmiş Anlaşmalar ve Siparişler komut dosyasını çalıştırın.

Başlangıç tarihi ve Bitiş tarihlerini koyun. Bilgi çıktısını varsayılan olarak bırakın (çıktı Dosya adı dosyasına gönderilecektir).

Bundan sonra, metin dosyasını görmek ve açmak için yapmanız gerekenler:

  • Adım 1: "Dosya" menüsünü ve "Veri Klasörünü Aç" öğesini seçin;
  • Adım 2: Açılan Explorer'da sırayla "MQL5\Files" klasörüne gidin.

Dosyadaki tüm bilgileri kod olarak gönderiye yapıştırın (Alt+S tuşlarına basın).

 
Bir günde bilgi çıktısını yaptım - kod şeklinde yerleştiremiyorum, çok fazla karakter var. Bir işlem ve sonraki ACID_NW'yi yakalamak için bir dosyayla yedekleme yapın veya aralığı birkaç saatle daraltın mı?
 

Yeni bir günde göstergenin son işlemin karını ve son işlemin gününü hesaplamaması nedeniyle oluşan bir aksaklık düzeltildi. Operasyon olmadığı ortaya çıktı.   _ACID_NW, ancak from_date (işlem geçmişinin yüklendiği başlangıç tarihi) değişkeninin değeri doğru ayarlanmadı. Kodda şu şekildeydi: "from_date=iTime(Symbol(),PERIOD_D1,0)", yani. anladığım kadarıyla, başlangıç noktası içinde bulunulan günün başlangıcıdır. Ve 24 saatlik tarih yüklenmeli, aksi takdirde dünün sonuçları düşmedi. Basitlik için, sonuncusu yapmadım. 24 saat ve dünün başından itibaren, yani. from_date=iTime(Symbol(),PERIOD_D1,1) - şimdi her şey doğru hesaplanıyor!

 

Beyler, bana datatime türündeki bir değişkenin değerinin çıktısını söyleyin.

Değişkenim, datetime last_deal_day=time[rates_total-1]-fromlastdeal_seconds;

Bu değişken Yorum ("last_deal_day = ",last_deal_day) değişkeninin değerini görüntülerken tarih ve saat "2019.03.21 02:48:19" gibi görüntülenir.
Tarih ve saati ayrı ayrı görüntüleyebilmek için bu değeri iki değişkene nasıl bölebilirim?

 
renatmt5 :

Beyler, bana datatime türündeki bir değişkenin değerinin çıktısını söyleyin.

Değişkenim, datetime last_deal_day=time[rates_total-1]-fromlastdeal_seconds;

Bu değişken Comment("last_deal_day = ",last_deal_day) değerini görüntülerken tarih ve saat "2019.03.21 02:48:19" gibi görüntülenir.
Tarih ve saati ayrı ayrı görüntüleyebilmek için bu değeri iki değişkene nasıl bölebilirim?

TimeToString


     Comment ( TimeToString (last_deal_day, TIME_DATE )+ " " + TimeToString (last_deal_day, TIME_SECONDS )