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

 
hoz :
1. Neden aniden olsun ki? Burada sadece, else aracılığıyla, işlevin başka bir değer döndürdüğünü eklemeniz gerekir; bu, "Fiyat yok" dedikleri anlamına gelir. Yol boyunca mantıklı. Fonksiyonu eklediğimde önceki mantık hakkında daha çok düşündüm, sonra sonuna dikkat etmedim. Ve neden 0 işlevi kendi başına bir şey döndürecek, anlamıyorum ...

2. MarketInfo(fs_symbol, MODE_ASK)'yı her zaman kullanabiliyorsanız, neden hiç sorun (özellikle satın alma fiyatı hakkında konuşuyorsak)? Sonuçta, Sor'a dönerek böyle görünüyorsanız, belirli bir zamanda doğru olduğundan emin olamaz mısınız?

1. Aynen öyle. İşlev double olarak bildirilir; bu, çağrıldığında, içinde return çağrılmış olup olmadığına bakılmaksızın double döndüreceği anlamına gelir. Başka eklerseniz... ama henüz başka bir şey yok.

2. 3 veya 30 tuşa basmanız önemli değilse, bu Teklif Etme ve Sorma gerekli değildir. Uzman Danışman uzun hesaplamalar yapmazsa, her şey yolundadır, Teklif Et ve Sor'u kullanmak uygundur. Ve uzun hesaplamalar yapıyorsa, RefreshRates() işlevini kullanabilirsiniz. Her şey birkaç şekilde yapılabilir.

 
hoz :


Pratik olarak, anladığım kadarıyla başka bir şeye ihtiyacımız var. Ve yerel terminale değil, en son Ask and Bid sunucusuna ihtiyacımız var. Böyle?

İşte bu yüzden, onu düzenlemenin nasıl daha mantıklı ve doğru olduğunu bir kez ve herkes için anlamak için burada bir tartışma başlattım. Teoride bu doğru, ama pratikte...

Sunucu orada bir yerde ve sunucuyla bağlantı kurmamız için bize bir terminal verildi. Bir bağlantı varsa, terminaldeki son fiyat, sunucudaki son fiyata karşılık gelir. Bağlantı yoksa, fiyatların ne olduğu önemli değil.

 
Birinci veya ikinci if deyimini çalıştırdıktan sonra, aşağıdaki if deyimlerini kesmem ve kontrolü diğer ticaret kriterleri ile bloğa aktarmam gerekiyor. Döngülerin devam eden bir kesintisi var, ancak bir dizi ifadenin yürütülmesini kesmem gerekiyor. Nasıl yapılır? Söylemek.
 
kırmak; denedin mi?
 
Tünaydın. Şu anda ticaret robotları diplomam üzerinde çalışıyorum. Görkemli bir şey icat etmeye gerek yok, çünkü ben bir programcı değil, bir ekonomistim. Ama bir fikir vardı, her ne kadar parabolik sar ve (sar çok düz olmadığı için) bollinger bantlarını bağlamak birçok insanın aklına geldiyse de. prensip olarak, standart ayarlarla ve mum BB'nin alt sınırına dokunduğunda (ve parabolik aşağıdan göründüğünde) satın alın ve bir sonraki, bir öncekinin üzerinde kapanır (ve parabolik, hızlanma nedeniyle fiyattan daha uzağa hareket eder ve gösterir) bir trend). Satarken üstte aynı. Ayarları manuel olarak ayarlanabilen bir takip eden durdurma kullanmak ilginç olurdu... Zaten mql'de böyle bir fikri olan var mı? ya da birinin yardım edip edemeyeceğini asla bilemezsiniz, çünkü bunu gerçekten test etmek isterim ... şimdiden teşekkürler
 
Integer :

1. Aynen öyle. İşlev double olarak bildirilir; bu, çağrıldığında, içinde return çağrılmış olup olmadığına bakılmaksızın double döndüreceği anlamına gelir. Başka eklerseniz... ama henüz başka bir şey yok.

2. 3 veya 30 tuşa basmanız fark etmezse, bu Teklif Etme ve Sorma gerekli değildir. Uzman Danışman uzun hesaplamalar yapmazsa, her şey yolundadır, Teklif Et ve Sor'u kullanmak uygundur. Ve uzun hesaplamalar yapıyorsa, RefreshRates() işlevini kullanabilirsiniz. Her şey birkaç şekilde yapılabilir.

1. Evet, sadece fazla çalıştım, görüyorum, bu yüzden aptallık yazdım ..

2. Uzun göreceli bir kavramdır. Ortalamayı hesaplama hızını ölçmeyi öneriyor musunuz?

tamsayı :

Sunucu orada bir yerde ve sunucuyla bağlantı kurmamız için bize bir terminal verildi. Bir bağlantı varsa, terminaldeki son fiyat, sunucudaki son fiyata karşılık gelir. Bağlantı yoksa, fiyatların ne olduğu önemli değil.

Yazdığınız gibi, terminalin piyasa verileri değişkeninin son değerine sahip olduğunu varsayarsak, bizim durumumuzda fiyat, sunucunun son değerine karşılık gelir, o zaman terminalin kendisinin piyasa ortamı değişkenlerini güncellediği ortaya çıkar. sunucuyla bir bağlantı olduğunda ve bundan RefreshRates() işlevinin gerekmediği sonucu çıkar. Ama bu böyle değil, çünkü işlev orada, bu da fiyatların her zaman güncellenmeyeceği anlamına geliyor, değil mi?

Tartışmıyorum, ama kendi bakış açımı savunarak soruyorum .. Lütfen buna dikkat edin!

 
hoz :

Yazdığınız gibi, terminalin piyasa verileri değişkeninin son değerine sahip olduğunu varsayarsak, bizim durumumuzda fiyat, sunucunun son değerine karşılık gelir, o zaman terminalin kendisinin piyasa ortamı değişkenlerini güncellediği ortaya çıkar. sunucuyla bir bağlantı olduğunda ve bundan RefreshRates() işlevinin gerekmediği sonucu çıkar. Ama bu böyle değil, çünkü işlev orada, bu da fiyatların her zaman güncellenmeyeceği anlamına geliyor, değil mi?

Tartışmıyorum, ama kendi bakış açımı savunarak soruyorum .. Lütfen buna dikkat edin!


Hesaplamalar sırasında (start() işlevi çalışırken) EA'da yeni işaretler alınırsa, EA bunları bilmeyecek (tikler). RefreshRates() en son güncellenen fiyatları kullanmanıza izin verir, ancak bu işlev sunucuyu çağırmaz. Terminal tarafından bilinen piyasa ortamı güncellenmektedir. Alım satım dışında hiçbir işlev sunucuyu çağırmaz
 
Vinin :

Hesaplamalar sırasında (start() işlevi çalışırken) EA'da yeni işaretler alınırsa, EA bunları bilmeyecek (tikler). RefreshRates() en son güncellenen fiyatları kullanmanıza izin verir, ancak bu işlev sunucuyu çağırmaz. Terminal tarafından bilinen piyasa ortamı güncellenmektedir. Alım satım dışında hiçbir işlev sunucuyu çağırmaz

Bu nedenle, istek sunucuya değil de yerelse, bu işlev anında çalışmalıdır! Ve yukarıda, RefreshRates() işlevinin piyasa ortamı verilerini güncellemek için zamanı olmayabilir...
 
hoz :

Bu nedenle, istek sunucuya değil de yerelse, bu işlev anında çalışmalıdır! Ve yukarıda, RefreshRates() işlevinin piyasa ortamı verilerini güncellemek için zamanı olmayabilir...

Çalışıyor. Ve güncellenecek bir şey varsa güncellemeler. Ama yeni bir kene yoksa, güncellenecek bir şey yok
 
Vinin :

Çalışıyor. Ve güncellenecek bir şey varsa güncellemeler. Ancak yeni bir kene yoksa, güncellenecek bir şey yok


Yani yeni bir tik yoksa fiyat değişmez.. ve evet, önceki fiyatlar geçerli olacaktır. Yani işleri karmaşıklaştırmaya gerek yok!

Ve Vadim yukarıdan yazdı, sanki bu anı kontrol etmelisin. Ama sözlerinde mantığı ve tartışmayı da bulamadım. Garip... RefreshRates() eklediğim her yerde, aynı anda terminalden bilinen son veriler öncekiler yerine kullanılıyor ve her şey olması gerektiği gibi gidiyor. RefreshRates() öğesinin TRU döndürmesi şartıyla. Ve False , verilerin değişmediği anlamına geliyorsa ve önceki fiyatlarla çalışıyorsa... Doğru mu?

Uğraşmaya gerek olmadığı ortaya çıkıyor. RefreshRates() olarak adlandırılır ve her şey gerçek verilerle çalışır..

Neden: