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

 
pavel888 :
Lütfen söyleyin, MT4'te çok para birimli bir Uzman Danışman yapmak mümkün mü, böylece her çifte ayrı ayrı bahis yapmamak, sadece bir tabloya bahis oynamak mümkün mü?

Evet.

 
merkulov.artem :
İyi akşamlar! Soru, bir danışman kullanıp kullanmadığım. DC, çalışmasının algoritmasını ve değerleri nasıl hesapladığını (göstergeler, geçmiş verilerin analizi), yani. danışmanın tam kodu? Yoksa DC sadece komutlar hakkında bilgi mi alıyor: pozisyonları açma, değiştirme ve kapatma?
Hayır, DC, Uzman Danışman sürecine giremez. DC sunucusu yalnızca MT'nizden komutları alır (satın al, sat, vb.).
 
çocuklar!!!!!! En son verilere göre 2x çizgiyi geçerken basit bir MA Expert Advisor'ı nereden indirebilirim? Çoğu, alıntı tarihinden alınan orta çizgide çalışır. ve tercihen aynı gösterge
 
bikrus13 :
çocuklar!!!!!! En son verilere göre 2x çizgiyi geçerken basit bir MA Expert Advisor'ı nereden indirebilirim? Çoğu, alıntı tarihinden alınan orta çizgide çalışır. ve tercihen aynı gösterge
"Güncel" ne anlama geliyor? En son veriler ne. tarihten değil, gelecekten falan)? Belirtin. Sadece merak ediyorum - bunu ilk kez duyuyorum.
 
kakin :
"Güncel" ne anlama geliyor? En son veriler nedir? Belirtin. Sadece merak ediyorum - bunu ilk kez duyuyorum.

örneğin, geçmişi terminalden tamamen silerseniz. Bir grafiği açarken geçmişe doğru kaydırarak kendi geçmişinizi oluşturmanız gerekir. ortalama bileşen, tarihin başladığı tarihten itibaren sıfırdan başlar. yaklaşık iki aydan biraz daha az. Bir haftalık ve bir aylık geçmişe sahip bir dakikalık grafikte 1000 periyotlu MA alırsanız, bunlar farklı olacaktır. işte sorun bu. En son alıntı verilerine dayalı bir gösterge oluşturursanız , bunu göstermek daha doğru olacaktır.
 

Söyleyin bana, danışmanın doğru zamanda demo fırçasına mesaj yazdırmasını yasaklamak mümkün mü? Hatta tablodan bile kaldırabilirsiniz. Anladığım kadarıyla, bu işlev onu tamamen durdurmayacak, sadece bir sonraki tıklama mı yoksa durduracak mı? kesme noktası();

 void BreakPoint(){ //if (!IsVisualMode()) return(0);
keybd_event( 19 , 0 , 0 , 0 );
Sleep ( 10 );
keybd_event( 19 , 0 , 2 , 0 );}                    
 
Görünüşe göre, elbette durmayacak, ancak robotu programlı olarak doğru zamanda çizelgeden çıkarmak mümkün mü?
 
bikrus13 :

örneğin, geçmişi terminalden tamamen silerseniz. Bir grafiği açarken geçmişe doğru kaydırarak kendi geçmişinizi oluşturmanız gerekir. ortalama bileşen ise hikayenin başladığı tarihten itibaren sıfırdan başlar. yaklaşık iki aydan biraz daha az. Bir haftalık ve bir aylık geçmişe sahip bir dakikalık grafikte 1000 periyotlu MA alırsanız, bunlar farklı olacaktır. işte sorun bu. En son alıntı verilerine dayalı bir gösterge oluşturursanız, bunu göstermek daha doğru olacaktır.
))))))))) İnternette sadece bunun ne tür korkunç bir canavar olduğunu okumanızı tavsiye edebilirim - bu hareketli bir ortalama ve nasıl hesaplandığı. Ortalama süre gibi bir göstergenin çalışmasına odaklanın. Bunun beyin için çok zor olduğunu anlıyorum, ancak birçok soru kendiliğinden kaybolacak.
 

Şimdi kaynak kodunu anlamak açısından bir Uzman Danışman yazmayı öğreniyorum çünkü. Danışman çok iyi yazılmış.

Ama garip bir an var.

 void  FindOrders()
{
// - 1 - == Инициализация переменных перед поиском ======================================
    int  total = OrdersTotal() - 1;
   g_type = -1;                                     // На текущий момент у нас нет позиций
// - 1 - == Окончание блока =============================================================
 
// - 2 - == Непосредственно поиск =======================================================
    for  ( int  i = total; i >= 0; i--)                 // Используется весь список ордеров
       if  (OrderSelect(i, SELECT_BY_POS))            // Убедимся, что ордер выбран
          if  (MathFloor(OrderMagicNumber()) == i_magicNumber && // Ордер открыт
             OrderSymbol() == Symbol())             // ..экспертом, который прикреплен к..
         {                                          // ..текущей паре
            g_ticket = OrderTicket();               // Запишем данные ордера
            g_type = OrderType();
         } 
// - 2 - == Окончание блока =============================================================
}

Neden tüm siparişlerin sayısı OrdersTotal() - 1'e atanmış ve yalnızca OrdersTotal() değil ?

Sonuçta, toplamda 0 sipariş varsa, toplamın değeri 0 değil -1 olacaktır.

 
hoz :

Şimdi kaynak kodunu anlamak açısından bir Uzman Danışman yazmayı öğreniyorum çünkü. danışman çok kaliteli yazılmıştır.

Ama garip bir an var.

Neden tüm siparişlerin sayısı OrdersTotal() - 1'e atanmış ve yalnızca OrdersTotal() değil ?

Sonuçta, toplamda 0 sipariş varsa, toplamın değeri 0 değil -1 olacaktır.

Toplamın nerede kullanıldığını görün. Büyük olasılıkla, (i=0; i<=toplam; i++) için siparişler arasında bir sıralama döngüsü vardır.