[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 55

 
Lians :

Bir dosyaya dizi yazma ve okuma konusunda foruma zaten başvurdum ve şimdi yine bir sorunla karşılaştım: bir dosyaya dizi yazdıktan sonra değerine göre bir dizi öğesi bulamıyorum, işte komut dosyası:

Bu betiği benim için yürütmenin sonucu, "Kayıtlı dosyada xyz kelimesi yok, ancak xyz kelimesi var" bir günlük girişidir.

Lütfen bana neyin yanlış olduğunu ve nasıl düzeltileceğini söyle?

2 boyutlu bir dizi dizesi y[][] kullanıyorsunuz ve tek boyutlu bir dizide kontrol (arama) yapıyorsunuz. Bu işlevi deneyin:

 bool ArraySearchString ( string m[][], string e1)
{
     for ( int i1 = 0 ; i1 < ArrayRange (m, 0 ); i1++)
    {
         for ( int i2 = 0 ; i2 < ArrayRange (m, 1 ); i2++)
         if (m[i1][i2] == e1) return ( true );
    }
     return ( false );
}

ve test koşulunu şu şekilde değiştirin:

 if (ArraySearchString (y, "xyz" ))
 

Tarasby , çok teşekkür ederim! İşler!

Ve başka bir soru, farklı terminal yapılarında belirli bir tamsayıyı matematiksel olarak hesaplayan aynı komut dosyası farklı değerler ürettiğinde böyle bir fenomenle karşılaşan var mı? Örneğin, yapı 399'da 488143839 sonucunu verir ve yapı 416'da 348186686 sonucunu verir.

Zaten birkaç kez kontrol ettim - farklı yapılardaki komut dosyası aynı parametreleri aynı parametrelerle çalıştırıyor.

 
Lians :

Tarasby , çok teşekkür ederim! İşler!

Ve başka bir soru, farklı terminal yapılarında belirli bir tamsayıyı matematiksel olarak hesaplayan aynı komut dosyası farklı değerler ürettiğinde böyle bir fenomenle karşılaşan var mı? Örneğin, yapı 399'da 488143839 sonucunu verir ve yapı 416'da 348186686 sonucunu verir.

Zaten birkaç kez kontrol ettim - farklı yapılardaki komut dosyası aynı parametreleri aynı parametrelerle çalıştırıyor.



Rakamlarınız büyük, belki de nedeni bir tamsayı değişkeninin taşmasıdır.
 
Merhaba, stoploss eklememe yardım et. Kendim denedim, zararı durdur görünmüyor.
Dosyalar:
q163hud4n85.mq4  33 kb
 
moskitman :
hayır, Vadim, masaüstü! Vidyuha ve kendisi 512mb GForce-9600
32 bit istemci işletim sistemlerinde 3.5 GB'den fazla bellek kullanmak mümkün değildir (bazı 3.25'te bu, anakart BIOS özelliklerine bağlıdır)
Bunun nedeni 32 bit mimari ve 3.5'ten 4 Gb'ye kadar olan alanın PCI aygıtlarını adresleyerek işgal edilmesidir, özellikle çok sayıda PCI aygıtınız kuruluysa, sahip olduğunuzdan daha az RAM "göreceksiniz".
.
 
Zhunko :
Evet, bunu zaten düşündün, yine de teşekkürler Vadim.
 
sand :

Rakamlarınız büyük, belki de nedeni bir tamsayı değişkeninin taşmasıdır.
Nasıl önleneceğini bilmiyor musun? MathFloor() , MathSqrt() ... gibi işlevleri kullanmayın mı? Yoksa bu konuda hiçbir şey yapmıyor musunuz? Her yerde aynı olmasını istiyorum.
 
yosuf :
İnternet genellikle kaybolur, yeniden başlatılmasını programlı olarak otomatikleştirmek mümkün müdür? Ya da bu yönde bilinenler nelerdir? Aynı anda iki veya daha fazla sağlayıcıdan paralel olarak güç sağlamanın bir yolu var mı? Şimdiden teşekkür ederim.

XmaksasX :

düz metin belgesi oluşturun ve bu metni içine yapıştırın

:DÖNGÜ
ping 8.8.8.8 | "%100" && bul (rasdial /disconnect & rasdial "BAĞLANTI ADINIZ" giriş kartı)
ping -w 1000 -n 30 127.0.0.1

LOOP'a git

kaydedin ve uzantıyı *.txt'den *.bat'a değiştirin, çalıştırın, kapatın ve keyfini çıkarın))

Sevgili XmaksasX , Çok pratik tavsiyeniz için çok teşekkür ederim, iki gün boyunca İnternet hiç kesilmedi ya da fark etmedim, belki de önerdiğiniz ilke işe yarıyor. Önceden, her 10 dakikada bir, her saat veya gece kesilebilirdi, işteyken daha da üzücü, yani. herhangi bir sistem olmadan. Şimdi - Grace, uyuyabilirsin.

Başka bir soru, gerçek bir hesabı aynı anda iki bilgisayardan, evdeki ve işyerindeki bilgisayarlardan paralel olarak yönetmek mümkün müdür?

 

İşte danışmandan bir kod parçası. Sigma başına açılış fiyatından bir sapma varsa, o zaman kapatacağımız fikrini uygulamak istedim. sigma = 1*Puan koymak için fikir. O danışman her zaman kârla kapatmalıdır çünkü. 1*Point'te sapma her zaman mevcuttur, başka bir şey de gerçek hayatta bir yayılma vardır, bu nedenle birleşecektir, ancak test edenin bir spreadi yoktur, bu da sürekli kazanması gerektiği anlamına gelir. az ama sürekli.

Bence burada bir hata var.

 if ( OrdersTotal ()!= 0 )
    {
     OrderSelect ( 0 ,SELECT_BY_POS,MODE_TRADES);
     
     if ( OrderType ()==OP_BUY)
     {
       if ((Bid-Open[ 0 ])>=SigmaHigh* Point ) OrderClose ( OrderTicket (), OrderLots (),Bid,slippage, Red );
     }
      
     if ( OrderType ()==OP_SELL) 
     {
       if ((Open[ 0 ]-Ask)>=SigmaLow* Point ) OrderClose ( OrderTicket (), OrderLots (),Ask,slippage, Green );
     }
    }
 
orb :

ve test cihazının yayılımı yok


Test cihazında bir yayılma var. Test çalıştırması sırasında çizelgedeki ile tamamen aynı.