MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 645
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Taras, fareyi tıklayarak çerçeveyi değiştirmek için grafiğin böyle bir normalizasyonunu yapmak mümkün mü?
Bazen alışkanlıktan dolayı imleç düğmenin yanındayken basıyorum ama eylemin sonucunu hiç sevmiyorum.
Olay işleme listesinde uygun bir şey bulamadım, belirli bir açıklaması olmayan yalnızca CHARTEVENT_CHART_CHANGE var. Bir fare düğmesine basmayı bağlamayı deneyebilirsiniz, ancak anladığım kadarıyla kullanıcı, yalnızca kendi düğmelerinizi oluşturursanız sistem menüsü ile çalışamaz. Basit bir çözüm var mı?
Taras, fareyi tıklayarak çerçeveyi değiştirmek için grafiğin böyle bir normalizasyonunu yapmak mümkün mü?
Bazen alışkanlıktan dolayı imleç düğmenin yanındayken basıyorum ama eylemin sonucunu hiç sevmiyorum.
Olay işleme listesinde uygun bir şey bulamadım, belirli bir açıklaması olmayan yalnızca CHARTEVENT_CHART_CHANGE var. Bir fare düğmesine basmayı bağlamayı deneyebilirsiniz, ancak anladığım kadarıyla kullanıcı, yalnızca kendi düğmelerinizi oluşturursanız sistem menüsü ile çalışamaz. Basit bir çözüm var mı?
Yani, fare ile grafikteki belirli "dokunma bölgelerine" tıklamak mı?
Yapabilirsin, imlecin koordinatlarını izlemen ve fare düğmelerine tıklaman gerekir.
CHARTEVENT_MOUSE_MOVE
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu
Taras Slobodyanik , 2018.10.04 09:37
Yani, fare ile grafikteki belirli "dokunma bölgelerine" tıklamak mı?
Yapabilirsin, imlecin koordinatlarını izlemen ve fare düğmelerine tıklaman gerekir.
mevcut sembol dönemini hatırlıyoruz ve " CHARTEVENT_CHART_CHANGE " olduğunda değişiklikleri kontrol ediyor ve ihtiyacımız olanı yapıyoruz
Lütfen bana OnTick() danışmanının gövdesindeki aynı işlevin neden çalışmadığını (veya daha doğrusu, çalıştığını, ancak arızalı tüm çizelgelerde doğru şekilde çalışmadığını) söyleyin.
, ve OnInit() prosedüründen normal bir komut dosyasından da iyi çalışır. Danışman hemen 80 çizelgeye kurulur (her 4 pencere için 20 para birimi W1 D1 H4 H1) belki bilgisayar başa çıkamıyor? Lütfen bana söyle. Robotun görevi, çizelgelerden birinde bir sinyal algılandığında ekranda MessageBox mesajlarını görüntülemektir. Bu mesajların başlatıldığı sırada bilgisayar yavaşlayabilir mi?Nedense olay işlemeden önceki dönemi hatırlayamıyorum, bunu nerede yapmalıyım?
Mesajları takip etmeye karar verdim, CHARTEVENT_CHART_CHANGE'ın tek tıklamada 2 kez işlendiği ortaya çıktı, ctime değişkeni sıfırlandı.
#mülkiyet katı
#özellik göstergesi_chart_window
int zaman;
geçersiz OnInit()
{
Print(" OnInit------------1 ", ChartPeriod(0));
Print("OnInit ctime = ", ctime);
// ctime=ChartPeriod(0);
}
int OnCalculate(const int oranları_toplam,
const int önceki_hesaplanmış,
const tarihsaat &saat[],
const double &aç[],
const çift &yüksek[],
const çift &düşük[],
const double &kapat[],
const uzun &tick_volume[],
const uzun &hacim[],
const int &spread[])
{
ctime=ChartPeriod(0);
dönüş(oranlar_toplam);
}
geçersiz OnChartEvent(const int kimliği,
const uzun &lparam,
const double &dparam,
const string &sparam)
{
if(id==CHARTEVENT_CHART_CHANGE)
{
Print("CHARTEVENT_CHART_CHANGE başlatıldı ctime=", ctime);
if(ctime!=ChartPeriod(0))
{
Print(ChartPeriod(0), "DEĞİŞTİ!!!!!!!!!!!!!!!!", ctime);
}
}
}
Saate bir gösterge ekleme, ardından günlük bir göstergeye geçme
2018.10.05 01:04:45.171 _t1 CADJPY,Günlük: CHARTEVENT_CHART_CHANGE başlatıldı ctime=1440
2018.10.05 01:04:45.156 _t1 CADJPY,Günlük: 1440 DEĞİŞTİ!!!!!!!!!!!!!!!! 0
2018.10.05 01:04:45.156 _t1 CADJPY,Günlük: CHARTEVENT_CHART_CHANGE başlatıldı ctime=0
2018.10.05 01:04:45.156 _t1 CADJPY,Günlük: başlatıldı
2018.10.05 01:04:45.156 _t1 CADJPY,Günlük: OnInit ctime = 0
2018.10.05 01:04:45.156 _t1 CADJPY,Günlük: OnInit-----------1 1440
2018.10.05 01:04:45.156 _t1 CADJPY,H1: uninit neden 3
2018.10.05 01:02:02.000 _t1 CADJPY,H1: CHARTEVENT_CHART_CHANGE başlatıldı ctime=60
2018.10.05 01:02:02.000 _t1 CADJPY,H1: 60 DEĞİŞTİ!!!!!!!!!!!!!!!! 0
2018.10.05 01:02:02.000 _t1 CADJPY,H1: CHARTEVENT_CHART_CHANGE başlatıldı ctime=0
2018.10.05 01:02:02.000 _t1 CADJPY,H1: başlatıldı
2018.10.05 01:02:02.000 _t1 CADJPY,H1: OnInit ctime = 0
2018.10.05 01:02:02.000 _t1 CADJPY,H1: OnInit------------1 60
2018.10.05 01:02:01.078 Özel gösterge _t1 CADJPY,H1: başarıyla yüklendi
Nedense olay işlemeden önceki dönemi hatırlayamıyorum, bunu nerede yapmalıyım?
Mesajları takip etmeye karar verdim, CHARTEVENT_CHART_CHANGE'ın tek tıklamada 2 kez işlendiği ortaya çıktı, ctime değişkeni sıfırlandı.
Mesaja doğru kodu yapıştırın! Böyle okumak çok zor. Bu böyle olmalı.
Gösterge, grafik parametreleri değiştirildiğinde zorla yeniden yüklenir, başlatmadan kaldırma nedeni ve neden değişkeni için dokümanı okuyun.
Gerekli parametreleri depolamak için terminal global değişkenlerini kullanabilirsiniz.
Doğru kodu mesaja yapıştırın! Böyle okumak çok zor. Bu böyle olmalı.
Gösterge, grafik parametreleri değiştirildiğinde zorla yeniden yüklenir, başlatmadan kaldırma nedeni ve neden değişkeni için dokümanı okuyun.
Gerekli parametreleri depolamak için terminal global değişkenlerini kullanabilirsiniz.
Evet, GlobalVariable'daki değerleri kaydetmeniz ve ardından başlangıçta varlıklarını kontrol etmeniz gerekiyor.
Yani, grafik numarasını, sembolü, noktayı kaydetmeniz gerekir.
Peki, o zaman gereksiz değişkenleri silin veya bunları başlangıçta geçici global değişkenler yapın.
not. bilgileri grafikteki nesnelerde de saklayabilirsiniz - çizelge varken - nesneler vardır
Çok daha kolay olacağını düşündüm :-)
O zaman tamamen çocukça bir soru - kodum ticaret veya grafik anlamına gelmiyor, ne tür programları kullanmak daha iyidir?
Komut dosyaları tek kullanımlıktır, ancak bir döngüde çalıştırılabilirler mi? Uzman Danışmanları hiç kullanmadığım için özel bir göstergeyi yalnızca atalete göre beyan ettim. Ama sonra kendini yeniden başlattığı ortaya çıktı, hiçbir şeye ihtiyacım olmadığı dikkate alınmalı. Genel olarak, lütfen tavsiyede bulunun.
ps
Nesneler görsel olarak karışmamaları için sıfır boyutta olabilir mi?