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

 
Integer :


Etkileyici düzeyde şiddet içeren fanteziler. Veriler neden sadece bazı semboller (henüz açılmamış) için ortaya çıktı ve piyasa incelemesinde bulunanların tümü için görünmüyor? RefreshRates() işlevi, bazı karakterlerin güncellenmesi gerektiğini ve bazılarının gerekmediğini zor bir şekilde nasıl öğrendi?

Junko, çıldırmayı bırak.


Dmitry, yemin etmeyelim .. Birbirinize yardım etmek daha iyi, yoksa siz ve Vadim son zamanlarda çok fazla anlaşmazlık yaşadınız. Birkaç gün bir şekilde aklımda oyalandım, şubeye gitmedim ve sonra her zamanki gibi içeri girdim ve her şeyi gözden geçirdim. Bu yüzden dürüstçe okumak bile komikti, komik! Öyle bir çekişme, öyle tartışma ve kongreler var ki hayret ediyorum :) Bazı yerlerde muğlak ifadeler, kelimeler ağzından çıktı, ama aslında tamamen saçmalıktı. Hiç kimseyi yargılamayacağım, her ne kadar gelişmiş düşüncelerden uzak olsam da, hala kendim çalışıyorum ve çalışıyorum (bazı yerlerde özellikle yüzüyorum), konuşmanın tamamen saçmalık noktasına ulaştığını anladım ve açıkça görüyorum.

Görünüşe göre profesyoneller toplandı, aksi halde söylemeyeceğim. Aksi takdirde, senden bahsetmeyeceğim, çünkü. Görüyorum ki herkes ne yaptığını anlıyor. Ama en ilginç olanı, profesyonellerin hatalarını kabul etmek istemedikleri zaman böyle sıçramalar yaşamalarıdır. Ama hatalarından ders alıyorsun! Ve burada utanç verici bir şey yok. Bu nedenle, birisi bir hata yaptıysa konudan uzaklaşmanıza gerek yoktur, ancak kabul etmesi daha kolaydır. Kişiliklere dönüşen düzinelerce sayfa programcı için, bu bir şekilde bir seçenek değil. Amaç en azından bu başlıkta veya forumda birbirimizi tepeden tırnağa silip süpürmek değil, tabiri caizse programlamayı pompalamak ve bu konu hakkında fikir alışverişinde bulunmak. Öyleyse birlikte yaşayalım. Harosh sorun çıkarmak için.

 
hoz :

Pekala, sorun değil. Fonksiyonu satır satır "okuyorsunuz" ve nasıl çalıştığını anlayacağım, eğer kendiniz yazarsanız ve her şey yerine oturacaktır ..

Bir işlev parametreniz var:

günün son çubuğunun açılış saati, yani. o gün açılmadan önce kapatılan tüm pozisyonlar hesaplanacak ve özetlenecektir! mantıklı mı? Bu yüzden ihtiyacınız olan veya elinizde ne varsa başka bir çubuk koyun. Ama kendin gör.


üzgünüm, hala çalışmıyor.

Bugün ÖNCE olduğu gibi değil, BUGÜN için toplam karı döndürme işlevine ihtiyacım var.

Ve ne kadar denesem de... işe yaramıyor. sonuç sadece tüm hikaye.

Teoride, BÜTÜN tarihten bugün ÖNCE olanları çıkarırsak, bugün olanları elde ederiz.

 double tm1=GetProfitFromDateInCurrency ( Symbol (), - 1 , - 1 , iTime ( NULL , PERIOD_D1 , 0 ));  
double tm2=GetProfitFromDateInCurrency ( Symbol (), - 1 , - 1 , TimeCurrent ());  

Print (  m2-m1 );

SIFIR enfeksiyon yazdırır .....

 
Bir aptalın bir akıllıya aptal olduğunu kanıtlaması her zaman tersinden daha kolaydır, çünkü akıllı bir insanın şüphe etmesi doğaldır.
 
lottamer :


Teoride, BÜTÜN tarihten bugün ÖNCE olanları çıkarırsak, bugün olanları elde ederiz.

SIFIR enfeksiyon yazdırır .....


Teoride, bu fonksiyonun ne yaptığını anlamanız gerekir. Ve bunu anlamak için bir bütün olarak satır satır ayrıştırmanız gerekir. Bunu sana zaten söyledim. Burada her şey temel. Ve yardım etmenin bir anlamı yok, çünkü. Basit bir fonksiyonun kodunu anlayıp anlamadığınıza karar vermek size kalmış.

Her şeyi yukarıda anlattım.

 
hoz :


Vadim, senaryonu ana dallar ve yen ile çaprazlar dışında hiçbir enstrüman açmadığım terminalde çalıştırdım. Genel olarak, işte ekran görüntüsü:

Hiçbir şey indirilmiyor, tk. Yorumlara bakılırsa piyasa veri dizisi boş.

1. Nasıl başlattınız? Önce güncelleme yapmadan başlamanız gerekir. Onlar. IsRefreshRate = yanlış. Veriler güncellenmeyecektir.

2. Ardından IsRefreshRates = true ile çalıştırın. Veriler güncellenecektir.

İşte ekran görüntüsü 1: ekran görüntüsü 2:

Bar saatlerine dikkat edin. MarketInfo()'nun piyasaya genel bakıştan veri aldığını da görebilirsiniz.

İşte bir uzman. Biraz kurcaladı. Enstrümanın adını görüntüler.

 extern string Tool           = "AUDNZD" ; // Имя инструмента.
extern bool    IsRefreshRates = true ;     // Флаг включения обновления таймсерий.
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()
 {
   string sTool = Tool; // Имя инструмента.
   if (Tool == "" ) sTool = Symbol ();
   while (! IsStopped ())
   {
     if (IsRefreshRates) RefreshRates();
     string sComment = StringConcatenate ( "MarketInfo() (" , sTool, ")\n" ,
                                        TimeToStr(MarketInfo(sTool, MODE_TIME), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n" ,
                                        DoubleToStr(MarketInfo(sTool, MODE_BID), Digits ), "  " , DoubleToStr(MarketInfo(sTool, MODE_ASK), Digits ),
                                         "\n\nПредопределенные переменные (" , Symbol (), ")\n" ,
                                        TimeToStr(Time[ 0 ], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n" ,
                                        DoubleToStr(Bid, Digits ), "  " , DoubleToStr(Ask, Digits ),
                                         "\n\nМассивы-таймсерии (" , sTool, ")\n" );
     for ( int i = 0 ; i < 10 ; i++)
     {
      sComment = sComment + StringConcatenate (TimeToStr(iTime(sTool, 0 , i), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "  " ,
                                              DoubleToStr(iOpen(sTool, 0 , i), Digits ), "  " ,
                                              DoubleToStr(iLow(sTool, 0 , i), Digits ), "  " ,
                                              DoubleToStr(iHigh(sTool, 0 , i), Digits ), "  " ,
                                              DoubleToStr(iClose(sTool, 0 , i), Digits ), "  " ,
                                              DoubleToStr(iVolume(sTool, 0 , i), 0 ), "\n" );
     }
     Comment (sComment);
     Sleep ( 300 );
   }
 } 
saat :


Dmitry, yemin etmeyelim .. Birbirinize yardım etmek daha iyi, yoksa siz ve Vadim son zamanlarda çok fazla anlaşmazlık yaşadınız. Birkaç gün bir şekilde aklımda oyalandım, şubeye gitmedim ve sonra her zamanki gibi içeri girdim ve her şeyi gözden geçirdim. Bu yüzden dürüstçe okumak bile komikti, komik! Öyle bir çekişme, öyle tartışma ve kongreler var ki hayretle izliyorum :) Bazı yerlerde muğlak ifadeler, kelimeler ağzından çıktı, ama aslında tamamen saçmalıktı. Hiç kimseyi yargılamayacağım, her ne kadar gelişmiş düşüncelerden uzak olsam da, hala kendim çalışıyorum ve çalışıyorum (bazı yerlerde özellikle yüzüyorum), konuşmanın tamamen saçmalık noktasına ulaştığını anladım ve açıkça görüyorum.

Görünüşe göre profesyoneller toplandı, aksi halde söylemeyeceğim. Aksi takdirde, senden bahsetmeyeceğim, çünkü. Görüyorum ki herkes ne yaptığını anlıyor. Ama en ilginç olanı, profesyonellerin hatalarını kabul etmek istemedikleri zaman böyle sıçramalar yaşamalarıdır. Ama hatalarından ders alıyorsun! Ve burada utanç verici bir şey yok. Bu nedenle, birisi bir hata yaptıysa konudan uzaklaşmanıza gerek yoktur, ancak kabul etmesi daha kolaydır. Kişiliklere dönüşen düzinelerce sayfa programcı için, bu bir şekilde bir seçenek değil. Amaç en azından bu başlıkta veya forumda birbirimizi tepeden tırnağa silip süpürmek değil, tabiri caizse programlamayı pompalamak ve bu konu hakkında fikir alışverişinde bulunmak. Öyleyse birlikte yaşayalım. Harosh sorun çıkarmak için.

Victor, dikkat etme. Bir düşünceyi nasıl formüle edeceğini bilmeyen ve mantıklı bir konuşma yapmayı bilmeyen insanlar var. Onlar için en güçlü argüman küfürdür.

Yine de bu tür insanlar yeni bir şeye açık değiller. Dmitry, kendi kuyruğunuzu düzenlemeden iş parçacıklarıyla nasıl çalışabileceğinizi hala çözemedi. Bu kuyruğa nerede ihtiyaç duyulduğuna dair bir örnek bile vermedi.

Şimdi yine tartışıyor. Konumunuzu kontrol etmek ve ikna edici bir şekilde kanıtlamak yerine.

 
Zhunko :

Victor, dikkat etme. Bir düşünceyi nasıl formüle edeceğini bilmeyen ve mantıklı bir konuşma yapmayı bilmeyen insanlar var. Onlar için en güçlü argüman küfürdür.

Yine de bu tür insanlar yeni bir şeye açık değiller. Dmitry, kendi kuyruğunuzu düzenlemeden iş parçacıklarıyla nasıl çalışabileceğinizi hala çözemedi. Bu kuyruğa nerede ihtiyaç duyulduğuna dair bir örnek bile vermedi.

Şimdi yine tartışıyor. Konumunuzu kontrol etmek ve ikna edici bir şekilde kanıtlamak yerine.


Junko, çok ileri gidiyorsun. Burada yazılan her şey doğrudan sizin için geçerlidir. Akışları anlamadınız, verilerin neden güncellendiğini anlamadınız vb. ama kendinizden bir uzman çıkarıyorsunuz, bu tam bir bilgisayar. Hala kendini doğru kişi olarak gösteriyorsun.
 
Integer :


Etkileyici düzeyde şiddet içeren fanteziler. Veriler neden sadece bazı semboller (henüz açılmamış) için ortaya çıktı ve piyasa incelemesinde mevcut olanların tümü için görünmüyor? RefreshRates() işlevi, bazı karakterlerin güncellenmesi gerektiğini ve bazılarının gerekmediğini zor bir şekilde nasıl öğrendi?

Junko, çıldırmayı bırak.

RefreshRates() yalnızca Expert Advisor'ın birlikte çalıştığı şeyi günceller. Böylece öğrenir. Bir uzmandan. Uzun zaman önce, Metaquotes'tan biri bunun hakkında yazdı.
 
hoz :


Teoride, bu fonksiyonun ne yaptığını anlamanız gerekir. Ve bunu anlamak için bir bütün olarak satır satır ayrıştırmanız gerekir. Bunu sana zaten söyledim. Burada her şey temel. Ve yardım etmenin bir anlamı yok, çünkü. Basit bir fonksiyonun kodunu anlayıp anlamadığınıza karar vermek size kalmış.

Her şeyi yukarıda anlattım.


Bunu anladım.

genel olarak, işlev toplam karı döndürür, ancak yalnızca Geçmiş sekmesinde sizin belirlediğiniz dönem için. ve TARİH sekmesindeki dönemi değiştirirseniz, işin seyri sırasında değiştirir.

Ona ihtiyacım yok.

Verilen parametreye göre periyodu ayarlamam gerekiyor.

işlevin kendisinde bir değişiklik yapmaya çalışıyor ...

 double GetProfitFromDateInCurrency( string sy= "" , int op=- 1 , int mn=- 1 , datetime dt=iTime ( NULL , PERIOD_D1 , 0 )   )
{
   double p= 0 ;
   int     i, k=OrdersHistoryTotal();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
       if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (mn< 0 || OrderMagicNumber()==mn) {
             if (dt<OrderCloseTime()) {
              p+=OrderProfit()+OrderCommission()+OrderSwap();
            }
          }
        }
      }
    }
  }
   return (p);
}

ama derleyici bundan şikayet ediyor

' iTime ' - başlatma bekleniyor

ne eklenmeli?

 
Zhunko :
RefreshRates() yalnızca Expert Advisor'ın birlikte çalıştığı şeyi günceller. Böylece öğrenir. Bir uzmandan. Uzun zaman önce, Metaquotes'tan biri bunun hakkında yazdı.

Bir programlama dilinin işlevlerini, sahip olmadıkları bazı mistik yetenek ve özelliklerle donatmak gerekli değildir.

 
Bir önceki sayfada, sondaki verilerin nelerden güncellendiğini yazdı.
Neden: