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

 
vasabu2012 :

Beyler Kim'i tanımıyorum belki bilen biri bu başlıkta cevap verir

Çok minnettar olacağım!

İşte o Kim Igor V. Ve işte KimIV'ten faydalı işlevler
 

Profesyonellere soru: Son kapanan veriyi çıkarmanız gerekiyor
sipariş numaralarını saymak mümkün değildir, çünkü
birkaç danışman çalışıyor ve hepsi her şeyi uyumsuzluğa sokup kapatıyor
tek hesapta siparişler Her danışmanın kendi büyüsü vardır.
Soru, terminaldeki son kapatılan siparişin verileriyle ilgili mi?

CEVABINI KİM BİLİYOR - LÜTFEN CEVAP !!!

 
vasabu2012 :
Profesyonellere soru: Son kapatılan veriyi çıkarmanız gerekiyor
sipariş numaralarını saymak mümkün değildir, çünkü
birkaç danışman çalışıyor ve hepsi her şeyi uyumsuz hale getiriyor ve kapatıyor
tek hesapta siparişler Her danışmanın kendi büyüsü vardır.
Soru, terminaldeki son kapatılan siparişin verileriyle ilgili mi?

Tabii ki Kopenhag değilim ama sonuncusunu arıyorsanız zamanla bulun...
 
ÖZEL OLARAK, NASIL?
 
danışmanın sadece demoda çalışmasını nasıl sağlayabilirim?
Dosyalar:
sovetnik.ex4  31 kb
 
sergio7 :
danışmanın sadece demoda çalışmasını nasıl sağlayabilirim?
Burada paylaştığınız - HİÇBİR ŞEY
 
sergio7 :
danışmanın sadece demoda çalışmasını nasıl sağlayabilirim?

Orijinal değil! mq4 olmalı, ex4 değil!
 
paladin80 :
Burada paylaştığınız - HİÇBİR ŞEY


Aynı saldırgan başka bir iş parçacığında:

sergio7 04/04/2013 21:04
danışmanın yalnızca demoda çalışmasına yardımcı olmaz.
Ekli dosyalar:
tpyokfcx.ex4 (30,27 KB)
 

TarasBy'nin yazdığı kütüphanelerde ustalaşmaya karar verdim. Bununla başladı https://www.mql5.com/en/code/10659

Bazı sorular ortaya çıktı. tutarlı olacağım. Örneğin:

 //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|  Автор : TarasBY, taras_bulba@tut.by                                              |
//+-----------------------------------------------------------------------------------+
//|        Получаем торговую информацию по символу                                    |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void fGet_MarketInfo ( string fs_Symbol, int fi_Ticket = 0 )
{
//----
         if (fs_Symbol != bs_Symbol || fi_Ticket < 0 )
         {
                   if (fi_Ticket > 0 )
                  {
                     bs_Symbol = OrderSymbol();
                  }
                   else
                  {
                     bs_Symbol = fs_Symbol;
                  }
                   if (bs_Symbol == Symbol ())
                  {
                      bi_SymDigits = Digits ;
                      bd_SymPoint = Point ;
                  }
                   else
                  {
                      bi_SymDigits = MarketInfo (fs_Symbol, MODE_DIGITS);
                      bd_SymPoint = MarketInfo (fs_Symbol, MODE_POINT);
                  }
         if (bd_SymPoint == 0.0 )
        {
           bd_SymPoint = fGet_Point (fs_Symbol);
        }
                  bd_ProfitMIN = NDP (ProfitMIN_Pips);
         }
         if (fi_Ticket > 0 )
         {
            fGet_OrderDetails (fi_Ticket);
         }
     //---- Получаем текущие цены по инструменту
    RefreshRates();
    bda_Price[ 0 ] = NDD (fGet_TradePrice ( 0 , bb_RealTrade, bs_Symbol));
    bda_Price[ 1 ] = NDD (fGet_TradePrice ( 1 , bb_RealTrade, bs_Symbol));
    bd_Spread = NDD (bda_Price[ 1 ] - bda_Price[ 0 ]);
//----
}

Fonksiyonun parametresinde şunu görüyoruz:

fi_Ticket = 0

Genellikle, bu tür işlevler siparişler alındıktan sonra çağrılır, bu da onların bir biletleri olacağı anlamına gelir. O zaman neden sıfıra varsayılan bir değer atayalım?

Bundan sonrası daha da ilginç:

 if (fs_Symbol != bs_Symbol || fi_Ticket < 0 )
{
   if (fi_Ticket > 0 )
   {
      bs_Symbol = OrderSymbol();
   }
    else
   {
     bs_Symbol = fs_Symbol;
                  }
                   if (bs_Symbol == Symbol ())
                  {
                      bi_SymDigits = Digits ;
                      bd_SymPoint = Point ;
                  }

fs_Symbol değişkeni, bs_Symbol ile hemen karşılaştırılır.

Yukarıdaki bs_Symbol başlatılmadı, burada fGet_MarketInfo() işlevinin kendisi çağrılır. Ve genel olarak, neden bu bs_Symbol ?

ayrıca şu durumda:

 if (fs_Symbol != bs_Symbol || fi_Ticket < 0 )

koşul, eğer fi_Ticket < 0 ise, o zaman devamı...

 if (fi_Ticket > 0 )
{
   bs_Symbol = OrderSymbol();
}

ve bu zaten koşulla çelişiyor. Başlangıçta kodun çalışabilmesi için fi_Ticket < 0 koşulunun sağlanması ve ardından bu koşulun içinde bilet > 0 olması gerekir. mantık nerede?

Neden: