Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 356
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Karputov Vladimir :
Высылайте.
Gönderilmiş
Göndermek.
Vladimir Karputov'un yardımıyla . Sorun çözüldü: OnInit() işlevinde gösterge tanıtıcısını almak ve ardından OnDeinit()'te silmek gerekliydi.
Lütfen bana göstergenin tüm tarih boyunca değil de belirli bir çubuktan nasıl çizgiler çizeceğini söyler misiniz?
Tünaydın. Böyle bir problemim var. MQL öğrenmeye başladım ve bir Uzman Danışman yazıyorum. EA'yı derlerken ve ardından başlatırken, hangi grafiğin herhangi bir yerde açılacağını belirtmemiş olmama rağmen, saatlik bir Euro/Dolar grafiği alıyorum. 5 dakikalığına Euro Dolar'ın açılışını kaydetti. Önce Euro Doları bir saat, ardından 5 dakika açar. Bu programı bir saatliğine nasıl kaldırabilirim? İşte danışman kodu. Şimdiden tavsiye için teşekkürler.
//+------------------------------------------- --------------------+
//| a.mq4 |
//| Valery Vilks |
//| https://www.mql5.com |
//+------------------------------------------- --------------------+
# mülkiyet telif hakkı "Valery Vilks"
#özellik bağlantısı "https://www.mql5.com"
#özellik sürümü "1.00"
#mülkiyet katı
çift iAlligator();
bool ObjectSetInteger();
uzun a=ChartOpen("EURUSD",PERIOD_M5);
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int OnInit()
{
//--- zamanlayıcı oluştur
EventSetTimer(5);
//---
dönüş(INIT_SUCCESSED);
}
//+------------------------------------------- --------------------+
//| Uzman başlatmasızlaştırma işlevi |
//+------------------------------------------- --------------------+
geçersiz OnDeinit(const int nedeni)
{
//--- zamanlayıcıyı yok et
EventKillTimer();
}
//+------------------------------------------- --------------------+
//| Uzman onay işlevi |
//+------------------------------------------- --------------------+
geçersiz OnTick()
{
for(int f=3;;f++)
{
double val=iFractals("EURUSD",15,1,f);
if(val!=0)
{
Alert("Fractal satın al",val,"Soldaki çubuk",f);
kırmak;
}
}
for(int f1=3;; f1++)
{
double val1=iFractals("EURUSD",15,2,f1);
if(val1!=0)
{
Alert("Fractal sat",val1,"Soldaki çubuk",f1);
kırmak;
}
Uyarı(Teklif);
}
}
//+------------------------------------------- --------------------+
//| zaman fonksiyonu |
//+------------------------------------------- --------------------+
geçersiz OnTimer()
{
}
//+------------------------------------------- --------------------+
//| test fonksiyonu |
//+------------------------------------------- --------------------+
çift OnTester()
{
//---
çift ret=0.0;
//---
//---
dönüş(ret);
}
//+------------------------------------------- --------------------+
Tünaydın. Böyle bir problemim var. MQL öğrenmeye başladım ve bir Uzman Danışman yazıyorum. EA'yı derlerken ve başlatırken, hangi grafiğin herhangi bir yerde açılacağını belirtmemiş olsam da, saatlik bir Euro/Dolar grafiği alıyorum. 5 dakikalığına Euro Dolar'ın açılışını kaydetti. Önce Euro Doları bir saat, ardından 5 dakika açar. Bu programı bir saatliğine nasıl kaldırabilirim? İşte danışman kodu. Şimdiden tavsiye için teşekkürler.
Muhtemelen hata ayıklamayı etkinleştirirsiniz ve ardından Uzman Danışmanınız varsayılan sembolde başlatılır. Meta düzenleyici ayarlarında istediğiniz sembolü ve TF'yi belirtin. (ekli resme bakın)
Yani, bu parçada maksimumdan minimuma maksimum ve minimum değerleri mi arıyoruz? (içeriden dışarıya) doğru anladım mı?
ve bunda
minimumdan maksimuma? (dışarıdan içeriye)
İşte kod:
maksimum değere sahip elemanın indeksini arar. Arama, sıfır elemanından başlayarak ve tüm dizide gerçekleştirilir.
İşte kod
, ve işte çalışmasının sonucu:
Lütfen çalış.