MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 490
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
Tünaydın!
Belirli hesaplamalar yapan bir EA'm var. Farklı mat işlemleri, diziler, döngüler kullanır. Sonuç bir dosyaya yazılır . Tüm adımları tamamladıktan sonra her şeye en baştan başlamalıdır. Ancak tüm hesaplamaları bir kez yapıyor ve ikinci kez başlayıp donuyor, hiçbir işlem olmuyor. Söylesene, belki yeni bir hesaplamaya başlamadan önce değişkenleri sıfırlamanız, dizileri temizlemeniz veya başka bir şey mi gerekiyor?
Dosyayı kapatmayı denediniz mi?
MT4 için bir koltuk değneği/gösterge/komut dosyası ("About, General, Input Parameters, Colors, Display" sekmeleriyle birlikte bir gösterge biçiminde) nasıl programlanır, böylece bu tür verileri bir .csv dosyasından alır, örneğin , kaynak dosyanın formatı:
Onlar. gösterge, kaydedilen verileri dosyadan aldı ve uzunluk parametreleri tam olarak "gün" (sınırdan sınıra) ile segmentler (TF, TA) veya renkli bir aralık (EA) şeklinde çizelgeye bir yorumla ekledi MT4'teki günlerin dikey ayırıcılarından, satırlar için satırın rengini, satır türünü, metin rengi ve yorum boyutunu seçin ve satıra bir yorum bölümünün değiştirilmesini, örneğin "TF" biçiminde seçin. - 1,192" ikinci satır "TF - 1,1733" dosyanın ilgili satırlarından alınmıştır. Aynı zamanda, segment tamamen yataydır ve EUR;TF;1.192;1.1733 satırından itibaren, bir segment için tam olarak ilk haneyi ve ikinci segment için ikinci haneyi, segment 1.192'nin başlangıcı olarak yatay çizgisi olarak alır ve bitiş 1.192.
Ayrıca aralıklar da vardır, örneğin EA, ilke günün başından sonuna kadar aynıdır, ancak fiyat parametresi farklıdır ve başlangıç ve bitiş satırı CHF;AB1;1.03484132734247;1.02549513556164 başlangıçtır. 1.03484132734247 aralık sonu 1.02549513556164. MT4 açıldığında (bir harita üzerinde duran normal bir hindi gibi), her gün grafikte başlar ve tüm verileri tam olarak o günkü bir kez ekler, daha önce çizilen tüm çizgileri grafikten silmez ve çoğaltmaz. Bütün bunlarla, sadece aktif pencerenin şimdi olduğu yerde ve diğer aktif pencerelerde (yani çalıştığı yerde) gün için tüm segmentleri ve aralıkları seçer ve gösterir (yani bir çift açtı ve gösterge tüm segmentleri ve aralıkları çizdi) mevcut gün ve sakinleşti vb. çiftler halinde).
Örneğin, gösterge sekmesi nasıl görünmelidir Giriş parametreleri :
Kendim karalamaya çalıştım ama olmuyor, kolay gibi görünse de (peki ben hümanistim, ne yapabilirim...) Lütfen boğulan bir adama yardım edin !!!!!!! !
Merhaba!
Lütfen yardım edin lütfen. hata izini bul. programı!!!
//+------------------------------------------- --------------------+
//| test.mq4 |
//| Telif Hakkı 2018, MetaQuotes Yazılım A.Ş. |
//| https://www.mql5.com |
//+------------------------------------------- --------------------+
#özellik telif hakkı "365_MA"
#özellik bağlantısı "https://www.mql5.com"
#özellik sürümü "1.00"
#mülkiyet katı
harici int Period_MA = 365; //MA dönemi 1
dış çift Delta = 0.0010; // Bir siparişin hangi mesafede açılacağı
dize Symb; //Ticaret enstrümanının adı
//int Toplam; //sipariş sayısı
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----
ObjectDelete("Obj_Label");
ObjectDelete("Obj_Label2");
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
çifte ödül = teklif; //Mevcut fiyat
double CurrMAValue = iMA(Symb, Period(),Period_MA, 0,Mode_EMA, PRICE_CLOSE, 0); // hareketli ortalama değer
çift Fiyat2MA = fiyat - CurrMAValue; // MA'nın fiyata olan uzaklığı
datetime NextClose = Time(0) + Period()*60*2; //kapanma zamanı
int MinutesToNextClose = (NextClose - TimeCurrent())/60 + 1; // dakikalar içinde kapanma zamanı
//int hata;
// grafikteki bilgi metninin güncellenmesi
ObjectSetText ("Obj_Label", "TF" + Period() + ", " + DoubleToStr(fiyat, 4) + ", onay işareti " + TimeToStr(TimeCurrent(), TIME_SECONDS) + ", O@" + TimeToStr(Time[0 ], TIME_MINUTES) + ", NC@" + TimeToStr(NextClose, TIME_MINUTES) + " (" + MinutesToNextClose + " dk)", 10,
ObjectSetText ("Obj_Label2", "Delta " + DoubleToStr(Delta,4) + ", MA değeri " + DoubleToStr(CurrMAValue, 4) + ", MA'ya uzaklık " + DoubleToStr(Fiyat2MA, 4), 10, "Arial", koyu yeşil);
// fiyat analizi ve uyarılar
if ((MathAbs(Price2MA) < Delta) && // MA'ya olan uzaklık deltadan küçükse
(Fiyat > CurrMAValue) && // ve fiyat MA'nın üzerinde
(Open(0) > CurrMAValue+Delta)) // ve mevcut mum MA+Delta'dan daha yüksek açıldı
(
Uyarı ("Fiyat MA'ya yukarıdan yaklaştı");
)
if ((MathAbs(Price2MA) < Delta) && // MA'ya olan uzaklık deltadan küçükse
(fiyat < CurrMAValue) && // ve fiyat MA'nın altındadır
(Open(0) < CurrMAValue-Delta)) // ve mevcut mum MA-delta'nın altında açıldı
(
Uyarı ("Fiyat MA'ya aşağıdan yaklaştı");
)
dönüş(0);
//+------------------------------------------- --------------------+
Derlemeden sonra aşağıdaki hata
Merhaba!
Lütfen yardım edin lütfen. hata izini bul. programı!!!
Derlemeden sonra aşağıdaki hata
Unutulmuş kaşlı ayraç
Böyle bir soru, zikzakları türkiyeme entegre etmem gerekiyor (şimdi sap tarafından kabul ediliyor)
Gerçek şu ki, hindim OnCalculate()'i hiç kullanmıyor, her şey OnChartEvent() üzerinde
Zigzag'ı çalıştırabildiğime göre, bunu hesaplamak için oranları_toplam ve ön_hesaplanmışı nereden alabilirim?
oranları_toplam grafikteki çubukların sayısıdır . Çubuklar işlevi kullanılarak belirlenir.
prev_calculated - global olarak (veya statik olarak) bildirerek ve mevcut yinelemede gerçekten hesaplanan çubuk sayısını buna yazarak kendiniz bir analog yapın. Yani, gösterge değerlerinin başarılı bir şekilde hesaplanmasından sonra, içine mevcut çubukların sayısını yazmanız gerekir. Hesaplamalar başarısız olursa, bir sonraki yinelemede geçmişteki her çubuktaki gösterge değerlerini yeniden hesaplamak için sıfırlamak daha iyidir.
Ynt: Alekseu Fedotov
kıvırcık parantez nedir
Ynt: Alekseu Fedotov
kıvırcık parantez nedir
kare dizi dizinde x[25]
geçersiz başlangıç()
{
küme parantezleri içinde Bildirim bloğu
}
Parantez içinde, sin(30) fonksiyonunun argümanı
kare dizi dizinde x[25]
geçersiz başlangıç()
{
küme parantezleri içinde Bildirim bloğu
}