Aleksei Stepanenko : Şaşkın. Excel'den csv'de 3 sayfalık bir çalışma kitabını kaydetmeye çalıştım:
csv içinde aynı yerde sadece sütun ayırıcılar var, başka bir işaretleme yok gibi görünüyor
Ah! Bu formatı bilmiyordum. Benim için, birkaç sayfa içeren bir kitabı kaydetmeye çalıştığımda, abonelikten çıkmıyor ... Sadece önceki sayfayı siliyor, boş bir yenisini tutuyor
Güzel gün. lütfen söyle bana Uyarılı bir gösterge yazdım(belirli koşullar altında bir mesaj ve ses görüntüler), her şey çalışıyor, ancak grafiğin Zaman Çerçevesi her değiştiğinde tekrar sinyal veriyor. Nasıl düzeltebilirim? Uyarı kodu, OnCalculate'den doğrulama için çağrılan ayrı bir işleve yerleştirilir. Eğer sadece bir danışmansa, o zaman normları yerine getirir, ancak benim yaptığım gibi, TM çizelgesini değiştirirken tekrar tekrar tetikleme olmadan grafiksel bir ekrana ihtiyacım var.
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий. Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть...
Progaus : Güzel gün. lütfen söyle bana Uyarılı bir gösterge yazdım(belirli koşullar altında bir mesaj ve ses görüntüler), her şey çalışıyor, ancak grafiğin Zaman Çerçevesi her değiştiğinde tekrar sinyal veriyor. Nasıl düzeltebilirim? Uyarı kodu, OnCalculate'den doğrulama için çağrılan ayrı bir işleve yerleştirilir. Eğer sadece bir danışmansa, o zaman normları yerine getirir, ancak benim yaptığım gibi, TM çizelgesini değiştirirken tekrar tekrar tetikleme olmadan grafiksel bir ekrana ihtiyacım var.
zaman çerçevesini değiştirirken, gösterge 0'dan başlar.
Buna göre, ona Uyarının zaten yayınlandığını - güvenilir bir şekilde, bu tür haberleri terminalin global değişkenlerine veya geçici bir dosyaya kaydetmeyi ve mümkün gibi göründüğünü hatırlamasını öğretmek gerekir (kendim kullanmadım) basitçe statik bir değişken yapmak için.
örneğin son bildirimin saatini kaydedin ve süre 2 saniyeden az geçmişse yeni bir Uyarı ile ıslık çalmayın.
ve öyle görünüyor ki (kendim kullanmadım) sadece statik bir değişken yapabilirsiniz.
göstergelerle imkansızdır, ne statik ne de küresel olarak tanımlanmış değişken - TF değiştirilirken, göstergenin yeni bir kopyası oluşturulur ve eski kopya imha edilir
EA ile statik (veya genel olarak tanımlanmış) değişkenleri kullanmak mümkündür (ve gerekli mi?)
Maksim Kuznetsov :
zaman çerçevesini değiştirirken, gösterge 0'dan başlar.
prev_calculated, OnCalculated()'a yapılan ilk çağrıda sıfırlanacak
konuya göre, terminalin global değişkenlerini veya bir grafik nesnesini bir etiket olarak oluşturun, göstergenin zaten bu çizelgede olduğunu, ilk çağrıda bu grafik nesnesini arayın, ancak IMHO terminalin global değişkenleri bu sorunu çözer birkaç satırda
tarihsaat o_open = OrderOpenTime();
MqlDateTime dt_struct;
TimeToStruct( o_open, dt_struct);
int min = dt_struct. dk;
csv'ye yazarken yeni sayfalar

csv içinde aynı yerde sadece sütun ayırıcılar var, başka bir işaretleme yok gibi görünüyorŞaşkın. Excel'den csv'de 3 sayfalık bir çalışma kitabını kaydetmeye çalıştım:
csv içinde aynı yerde sadece sütun ayırıcılar var, başka bir işaretleme yok gibi görünüyorAh! Bu formatı bilmiyordum. Benim için, birkaç sayfa içeren bir kitabı kaydetmeye çalıştığımda, abonelikten çıkmıyor ... Sadece önceki sayfayı siliyor, boş bir yenisini tutuyor
Teşekkür ederim!
Benim için zevkti :)
Güzel gün. lütfen söyle bana Uyarılı bir gösterge yazdım (belirli koşullar altında bir mesaj ve ses görüntüler), her şey çalışıyor, ancak grafiğin Zaman Çerçevesi her değiştiğinde tekrar sinyal veriyor. Nasıl düzeltebilirim? Uyarı kodu, OnCalculate'den doğrulama için çağrılan ayrı bir işleve yerleştirilir. Eğer sadece bir danışmansa, o zaman normları yerine getirir, ancak benim yaptığım gibi, TM çizelgesini değiştirirken tekrar tekrar tetikleme olmadan grafiksel bir ekrana ihtiyacım var.
zaman çerçevesini değiştirirken, gösterge 0'dan başlar.
Buna göre, ona Uyarının zaten yayınlandığını - güvenilir bir şekilde, bu tür haberleri terminalin global değişkenlerine veya geçici bir dosyaya kaydetmeyi ve mümkün gibi göründüğünü hatırlamasını öğretmek gerekir (kendim kullanmadım) basitçe statik bir değişken yapmak için.
örneğin son bildirimin saatini kaydedin ve süre 2 saniyeden az geçmişse yeni bir Uyarı ile ıslık çalmayın.
ve öyle görünüyor ki (kendim kullanmadım) sadece statik bir değişken yapabilirsiniz.
göstergelerle imkansızdır, ne statik ne de küresel olarak tanımlanmış değişken - TF değiştirilirken, göstergenin yeni bir kopyası oluşturulur ve eski kopya imha edilir
EA ile statik (veya genel olarak tanımlanmış) değişkenleri kullanmak mümkündür (ve gerekli mi?)
zaman çerçevesini değiştirirken, gösterge 0'dan başlar.
prev_calculated, OnCalculated()'a yapılan ilk çağrıda sıfırlanacak
konuya göre, terminalin global değişkenlerini veya bir grafik nesnesini bir etiket olarak oluşturun, göstergenin zaten bu çizelgede olduğunu, ilk çağrıda bu grafik nesnesini arayın, ancak IMHO terminalin global değişkenleri bu sorunu çözer birkaç satırda
Meslektaşlarım, temel bir soru için hemen özür dilerim, sadece şu anda bilgisayarda değilim, ama buna ihtiyacım var.
TimeCurrent() https://www.mql5.com/ru/docs/dateandtime/timecurrent
bu işlev imzasının ikinci sürümünü kullanın:
Not: Yapay elmasa yazacağım - MT4'te çalışıyor, kullandım;)
UPD: MT4'te Hour() ve Minute() de vardı - Uzun zamandır kullanmadım ama son sunucu zamanını saat ve dakika olarak vermeleri gerekiyor