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

 
hoz :

0 (sıfır) ayarlayabilirsiniz çünkü genellikle son kullanma tarihi gerekmez. Ama her ihtimale karşı görmelisin ki, eğer bir şey bu ana geri dönmezse.
Bu nedenle, standart fonksiyonda 0 maliyeti ve sonraki parametrelerin (renk) çalışması için görünümde belirtmeniz gerekir. Ertelemelerde son kullanma tarihini hiç kullanmam, ancak yalnızca koşula göre silerim.
 

Lord programcılar,


lütfen çözmeme yardım et.

Göstergemde bir fonksiyon olarak sanal ticaret için bu kodu https://www.mql5.com/ru/code/8811 ekledim.

her şey gerçek zamanlı olarak çalışır, herhangi bir karmaşıklığın sanal ticareti gerçekleştirilir.

Bunu tarihte barlarda dolaşarak yapması mümkün mü? Yoksa buraya yeni kod mu yazmam gerekiyor?


teşekkür ederim.

 
abdul1 :

Lord programcılar,

lütfen çözmeme yardım et.

Göstergemde bir fonksiyon olarak sanal ticaret için bu kodu https://www.mql5.com/ru/code/8811 ekledim.

her şey gerçek zamanlı olarak çalışır, herhangi bir karmaşıklığın sanal ticareti gerçekleştirilir.

Bunu tarihte barlarda dolaşarak yapması mümkün mü? Yoksa buraya yeni kod mu yazmam gerekiyor?

teşekkür ederim.

Yazara, indirdiğiniz kod tabanında sormak daha iyidir.
 

borilunad, örneğin fonksiyonda bir B.U. varsa alırsınız. ve TRAAL, siparişlerin döngüsü ve seçimi, anladığım kadarıyla, başlatma işlevinde yer alıyor ve tık tık çalışıyor?

Hepsini nasıl birleştireceğimi düşünüyorum, beyin zaten aşırı yüklendi, B.U. yalnızca durdurma, minimum eşiğin altında olduğunda, yani. açılış fiyatı + minimum alım . Bu değişken priceBU'ya sahibim . Trol zaten devam etti. Pratik yapmak için hemen ayrı bir fonksiyon deniyorum, anlamam daha kolay. Ve her şey yoluna girer girmez seninkine geleceğim.

Başlangıçta şunu yazdım:

 int start()
{
   int g;
   for (g = OrdersTotal () - 1 ; g >= 0 ; g--)
   {
       if (! OrderSelect (g,SELECT_BY_POS)) continue ;
       if (i_magic != - 1 ) if (OrderMagicNumber() != i_magic) continue ;
       if (OrderSymbol() != Symbol ()) continue ;
       
       if (OrderStopLoss() <= priceBU)
      {
          MovingStopLossToBU();
      }
      {
          ticket = OrderTicket();
          TrailingStop( "" , - 1 , - 1 );
      }
   }

Doğru şeyi mi yapıyorum yoksa farklı yapacak daha iyi bir şey var mı? Her şey doğru çalışıyor gibi görünüyor, ancak bir şekilde her şey herhangi bir koşul olmadan basitçe yazılmıştır ..

 
hoz :

borilunad, örneğin fonksiyonda bir B.U. varsa alırsınız. ve TRAAL, siparişlerin döngüsü ve seçimi, anladığım kadarıyla, başlatma işlevinde yer alıyor ve tık tık çalışıyor?

Hepsini nasıl birleştireceğimi düşünüyorum, beyin zaten aşırı yüklendi, B.U. yalnızca durdurma, minimum eşiğin altında olduğunda, yani. açılış fiyatı + minimum alım . Bu değişken priceBU'ya sahibim . Trol zaten devam etti. Pratik yapmak için hemen ayrı bir fonksiyon deniyorum, anlamam daha kolay. Ve her şey yoluna girer girmez seninkine geleceğim.

Başlangıçta şunu yazdım:

Doğru şeyi mi yapıyorum yoksa farklı yapacak daha iyi bir şey var mı? Her şey doğru çalışıyor gibi görünüyor, ancak bir şekilde her şey herhangi bir koşul olmadan basitçe yazılmıştır ..

Bu doğru, koşullar yerine getirildiğinde işlev çağrılmalıdır ve koşulların piyasaya yeterli olması, fiyata mesafeler koyması ve spread ve diğerlerinden (önceki) değişen gerekli boşluğa her zaman sahip olması gerekir. kendiliğinden fiyat hareketinden kaynaklanan ihlal ve hatalara karşı koruma sağlayacaktır. Ve tabii ki potikovo! Öyleyse neden her tikte bir işlev çağıralım, çünkü koşulların başlangıçta yazılması gerekiyor. Hele Real Madrid'de sizinki artık "bir çeşit" değil ama kesinlikle işe yaramayacak, hatalar art arda düşecek. Ve Demo da şüpheli. İzimi analiz edin, ayrıca kullanılmış SL ve TP'ye bir dönüşüm yapmanız ve yüklemeniz, ayrıca satış için her şeyi yapmanız ve tüm bunları bir yineleme ve pozisyon seçimi döngüsüne koymanız gerekir ve iyi işleyen bir bloğunuz olacaktır. sadece bir işleve neden olan tüm değişiklikler ve sorunsuz. ;)
 
hoz :



Yani bu dava için bir kontrolüm var:

Dur - yeni durak (kullanılan) sıfıra eşit değilse... o zaman değiştiririz... Değilse, değiştirmeyiz. Yani bu nasıl oluyor anlamıyorum. Sonuçta, geçmişin ve yeni durağın eşitliği için bir kontrole ihtiyacımız olduğunu anlıyorum ve yaptım.

if (ND(OrderStopLoss()) - ND(priceBU * pt) != 0.0 ) - ND(...) normalleştirme ise buna ihtiyaç vardır.

 
borilunad :
Bu doğru, koşullar yerine getirildiğinde işlev çağrılmalıdır ve koşulların piyasaya uygun olması, fiyata mesafeler koyması ve spread ve diğerlerinden (önceki) değişen gerekli boşluğa her zaman sahip olması gerekir. kendiliğinden fiyat hareketinden kaynaklanan ihlal ve hatalara karşı koruma sağlayacaktır. Ve tabii ki potikovo! Öyleyse neden her tikte bir fonksiyon çağıralım, çünkü koşulların başlangıçta yazılması gerekiyor. Hele Real Madrid'de sizinki artık "bir çeşit" değil ama kesinlikle işe yaramayacak, hatalar art arda düşecek. Ve Demo da şüpheli. İzimi analiz edin, ayrıca kullanılmış ve SL ve TP'yi kurmak için bir transfer yapmanız, ayrıca satış için her şeyi yapmanız ve tüm bunları bir yineleme ve pozisyon seçimi döngüsüne koymanız gerekir ve iyi işleyen bir bloğunuz olacaktır. sadece bir işleve neden olan tüm değişiklikler ve sorunsuz. ;)


Vay canına. Sanki yeniden doğdum. Eskiden daha kolaydı ama şimdi genel olarak nasıl değiştireceğimi düşünüyorum. Başlangıçta bir döngü yaptı. Şimdi her şeyi yeniden yazmak zorundayım.

Biri garip. İşe yaramayacak diyorsun. Ancak kaç uzman görmüş olursa olsun, her şey herkes için ayrı işlevlerle çağrılır ve işe yarar ... Daha fazla kaynak tükettiğine katılıyorum, ancak .. neden bir sürü hata olacağı benim için bir gizem.

Sonuçta ne kadar kepçeyle karşılaşsam da her yerde benimkiyle aynı tonda yazılmış. Ve böylece başlangıçta bir döngü ve bir seçim ve sonra her şey ona yapıştı .. tanışmadım ...

 
hoz :


Vay canına. Sanki yeniden doğdum. Eskiden daha kolaydı ama şimdi genel olarak nasıl değiştireceğimi düşünüyorum. Başlangıçta bir döngü yaptı. Şimdi her şeyi yeniden yazmak zorundayım.

Biri garip. İşe yaramayacak diyorsun. Ancak kaç uzman görmüş olursa olsun, her şey herkes için ayrı işlevlerle çağrılır ve işe yarar ... Daha fazla kaynak tükettiğine katılıyorum, ancak .. neden bir sürü hata olacağı benim için bir gizem.

Sonuçta ne kadar kepçeyle karşılaşsam da her yerde benimkiyle aynı tonda yazılmış. Ve böylece başlangıçta bir döngü ve bir seçim ve sonra her şey ona yapıştı .. tanışmadım ...

Codebase'de birçok farklı çözüm ve farklı seviye vardır. Değişikliklerle başladım ve yavaş yavaş, hiç de yeni olmayan ama benim için uygun olan bu yapıya geldim. Değişiklikler olmadan başlangıç dışında birçok işlevim var. Ayrıca emir ve/veya pozisyon açmak için bir fonksiyon vardır. Ancak açmadan önce, başlangıç dışındaki fonksiyonlarla da birçok kontrol yapıyorum. Ve pozisyonları kapatmak için, çeşitli kontrollerin daha da fazla fonksiyonunun olduğu birçok koşul kullanıyorum.

Değişiklikler için sadece bu işlevi kullanıyorum, ancak değişiklikler farklı ve buna göre farklı koşullar, kontroller ve koruyucu önlemlerle. Tüm bunları tek bir işleve sığdıramam ve bu anlamsız. Tüm koşullar sağlandığında ve her şey hesaplandığında ona dönüyorum ve işlevi yalnızca son adımla şarj ediyorum. Bir şey yanlışsa, göndermez, geri döner, verileri tekrar kontrol eder ve tekrar dener ve DC'ye sadece kesin fiyat ve kesin veriler gönderilir, bunlar hemen kabul edilir ve ayarlanır. Ana şey DC'yi bir kez daha rahatsız etmemek.

Bir kez daha, trol yaparken yeni bir ST değeri belirlemek için sadece iki koşul satırını anlamanızı tavsiye ederim, o zaman burada titiz bir titizliğin gerekli olduğunu anlayacaksınız. Bu arada, benim geliştirdiğim bu blok, küçük değişikliklerle bir araçtan diğerine dolaşıyor. Ve diğer her şey, özellikle kapatma, seçilen TS algoritmasına bağlı olarak tekrar yapılmalıdır. Ve son olarak, hiçbir şeyde ısrar etmiyorum, sadece çalıştığım ve test ettiğim şeyi paylaşıyorum ve birinin size daha kabul edilebilir bir şey sunabileceğini dışlamıyorum. Bu yüzden deneyin, anlayın, kontrol edin, ancak Real'e asla rastgele, bir tür yarı bitmiş ürün üzerine bahse girmeyin.

Bunu size neden anlatıyorum, çünkü burada tüm yeni başlayanlar bir şeyleri çabucak toparlamak ve "ganimet" yapmak istiyor. İyi yapılmış bir iş için bir hediye gibi olmalıdır. Ve henüz çocukluktan ayrılmamış, işten zevk almayan ve sadece oynamak isteyen pazar, bunun için onu affetmeyecektir.

İyi geceler! Yarın, taze bir zihinle, işe geri dönün!

 
Valerius :


Görünüşe göre bu en basit soruyu cevaplayamayacak uzman yok.Yani, iki programcı bir kabalda bir araya geldi ve hepsi bu... O zaman bu foruma neden ihtiyaç var ???

 
Valerius :


Görünüşe göre bu en basit soruyu cevaplayamayacak uzman yok.Yani, iki programcı bir kabalda bir araya geldi ve hepsi bu... O zaman bu foruma neden ihtiyaç var ???

Sorunuz zaten yüzlerce kez yanıtlandı - iki kesirli sayıyı karşılaştırıyorsanız, karşılaştırmadan önce ikisini de normalleştirin
Neden: