Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 569
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
Ve işte önerilen çözüm:
Merhaba! MQL4 çalışırken küçük bir soru ortaya çıktı. Sorun bu sitedeki ders kitabında yayınlanmıştır. İşte koşul: Görev 25. Aşağıdaki koşulları uygulayan bir program yazın: oran belirli bir seviyenin üzerine çıktıysa, o zaman seviyenin üzerindeki fazlalığın (100 puana kadar) kelimelerle belirtildiği bir mesaj verin; diğer durumlarda, oranın belirtilen seviyeyi aşmadığını bildirin.
Ve işte önerilen çözüm:
Olası çözümler gösterilir. Öğrenmek için kullanışlıdır.
Başka seçenekler var. Başka hatalar var.
Kendine daha çok güven. Deney.
Merhaba! MQL4 çalışırken küçük bir soru ortaya çıktı. Görev, bu sitedeki ders kitabında yayınlanmıştır. İşte koşul: Görev 25. Aşağıdaki koşulları uygulayan bir program yazın: oran belirli bir seviyenin üzerine çıktıysa, o zaman seviyenin üzerindeki fazlalığın (100 puana kadar) kelimelerle belirtildiği bir mesaj verin; diğer durumlarda, oranın belirtilen seviyeyi aşmadığını bildirin.
Ve işte önerilen çözüm:
not
Spesifik olarak, bir diziyle çalışırken bu örneğin kullanışlılığı,
verilerin kelimelerle olası temsili,
NormalizeDouble işlevini ve önceden tanımlanmış değişken Point'i kullanarak.
Daha kolay bir hobi seçme fırsatı.
Görünüşe göre, sınıfın kendisinde doğrudan harici değişkenleri bildirmenin bir yolu yoktur. O halde seçenekler nelerdir? EA'nın kendisinde veya başka bir yerde, yalnızca bu sınıfı kullanırken ihtiyaç duyulan bu harici belirli değişkenleri bildirmek istemiyorsam. Anladığım kadarıyla, tek seçenek bu dış değişkenlerin bildirileceği bir içerme yapmak. Ve ayrıca içine bir sınıf ekleyin, değil mi?
Ardından, sınıfı çağırmak için, zaten sınıfı doğrudan içeren kapsayıcıyı dahil etmek gerekecektir. Böyle? Yoksa başka seçenekler var mı?
Bana pek iyi görünmüyor. Oluşturulacak bir sürü iç içe dosya-inklüzyon... İşte bu yüzden soru şu.
Yoksa normal bir kütüphanede olduğu gibi, bir sınıf bildirmeden önce harici değişkenleri bildirmek ve gerekli kütüphaneleri içe aktarmak hala mümkün mü? şöyle demek istiyorum:
Bunu görmedim. Bu yüzden doğru yönde mi ilerliyorum diye merak ediyorum..Bunları yorum aracılığıyla terminal ekranında global değişkenler olarak gösterdi. Sıfır yoktu, sadece negatif sayılar vardı. Sonra değişti
Gösterge kodunu Expert Advisor'a aktarıyorum, bir hata oluşuyor. kod bölümünde sıfır bölme
...
Bunları yorum aracılığıyla terminal ekranında global değişkenler olarak gösterdi. Sıfır yoktu, sadece negatif sayılar vardı. Sonra değişti
...
üzerinde
...
her şey yerine oturdu, geri döndü. Hata yok! Sebep neydi? Inet henüz kapandı.Ayrıca kesrin paydasında sıfırın geçilemediği " sıfır bölme " hatası aldım. Şimdi, bölmeden önce resmi bir tip kontrolü yapıyorum:
ve hata gitti. Onlar. derleyiciye payda = 0 ise, programcı orada 0 olmadığından %100 emin olsa bile ne yapması gerektiği konusunda talimatlar verilmelidir.
Merhaba, lütfen bana kod konusunda yardım edin. Danışmanın temel bir şey yapmasına ihtiyacım var - dikey (yani kesinlikle zaman, fiyat değil) bir çizgiye yaklaşırken, yani burada 120'ye sahip olduğum belirtilen shi aralığı için açık pozisyonlar . Anladığım kadarıyla - 2 dakika. Çizginin rengi, alış mı yoksa satış mı olduğunu belirlemelidir. İnternette araştırdım ve yeniden yazdım, şu çıktı:
void OnTick()
{
int AllObject = ObjectsTotal();
for ( int i = 0; i < AllObject; i++)
{
string NameObj = ObjectName(i);
Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
Vremyaaa = (ObjectGet(NameObj, OBJPROP_TIME) - shi);
if(Vremyaaa == TimeLocal())
break;
}
int kolpos = 0;
if((Colorrr == Green)||(Colorrr == Aqua)){operacia = "OP_BUY";}
if((Colorrr == Red)||(Colorrr == Purple)){operacia = "OP_SELL";}
for (int pos = 0; pos < OrdersTotal(); pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
kolpos++;
}
}
}
if(kolpos == 0)
{
if (iTime(NULL,0,1) == Vremyaaa)
{
int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
}
}
}
Merhaba, lütfen bana kod konusunda yardım edin. Danışmanın temel bir şey yapmasına ihtiyacım var - dikey (yani kesinlikle zaman, fiyat değil) bir çizgiye yaklaşırken, yani burada 120'ye sahip olduğum belirtilen shi aralığı için açık pozisyonlar. Anladığım kadarıyla - 2 dakika. Çizginin rengi, alış mı yoksa satış mı olduğunu belirlemelidir. İnternette araştırdım ve yeniden yazdım, aşağıdaki çıktı:
void OnTick()
{
int AllObject = ObjectsTotal();
for ( int i = 0; i < AllObject; i++)
{
string NameObj = ObjectName(i);
Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
Vremyaaa = (ObjectGet(NameObj, OBJPROP_TIME) - shi);
if(Vremyaaa == TimeLocal() )
break;
}
int kolpos = 0;
if((Colorrr == Green)||(Colorrr == Aqua)){operacia = "OP_BUY" ;}
if((Colorrr == Red)||(Colorrr == Purple)){operacia = "OP_SELL" ;}
for (int pos = 0; pos < OrdersTotal(); pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
kolpos++;
}
}
}
if(kolpos == 0)
{
if (iTime(NULL,0,1) == Vremyaaa)
{
int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
}
}
}
Bilgisayar saatiniz terminal saatiyle çakışıyorsa, TimeLocal () kullanabilirsiniz, ancak yine de TimeCurrent () 'den daha güvenilirdir .
Operacia değişkeninin türünü int olarak değiştirin ve OP_BUY ve OP_SELL tırnaklarını kaldırın
Bilgisayar saatiniz terminal saatiyle çakışıyorsa, TimeLocal () kullanabilirsiniz, ancak yine de TimeCurrent () 'den daha güvenilirdir .
Operacia değişkeninin türünü int olarak değiştirin ve OP_BUY ve OP_SELL tırnaklarını kaldırın
Teşekkür ederim. TimeCurrent hakkında, bu kesin, benim zamanım sunucu zamanı ile örtüşmüyor. Düzelttim ama hala çalışmıyor... Günlüğe herhangi bir hata yazmıyor.
not önceki mesajımda, nedense boşluksuz kod eklendi. Ama doğru yerleştirilmiş tüm kaşlı ayraçları seviyorum.
MT4 - 625, baykuşları kitaplıkla test etmeye çalışırken test edenin mesajı:
2014.03.29 18:38:48.753 'C:\Program Files\Admiral1\MQL4\Libraries\ingLib094.mq4' 32 bit sürüm değil
Ondan önce, baykuşlar sorunsuz bir şekilde derlendi ve kütüphane de tek bir kelime olmadan. Ve hiç anlamıyorum.
Sistemim (Windows anlamında) 32 bit, diğeri hiç tutmadı. Yedi.
Kütüphane tamamen bana ait. Normalde yeni bir yapı üzerinde gerçek zamanlı olarak gider. Diğer baykuşlar dahil. Ve test cihazında önceki sürümlerde sorunsuz.
Ancak test cihazında açmak istemiyor ve hatta nedeni parmağından emdi.
Ve tüm yardım sayfalarında 32 bitlik durumlar hakkında bir kelime yok.