Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 2236

 

Python programı ile mql5 danışmanı iletişim fonksiyonlarının son versiyonu.

EA'nın 2 işlevi vardır, biri dosyadaki zamanı günceller, ikincisi dosyadaki python programında oluşturulan mevcut ticaret sinyalini okur.

 void OnTick ()
  {
   if (!isNewBar())
       return ;
   file_refresh_time();
   sig = StringToDouble (file_read_signal());
}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string   file_refresh_time()
  {
   string time  = TimeToString ( TimeCurrent ());
   bool read = false ;
   string file_buff[];
   ArrayResize (file_buff, 1 );
   file_buff[ 0 ] = time;
   ArrayResize (file_buff, 2 );
   file_buff[ 1 ] = "not_actual" ;
   ArrayResize (file_buff, 3 );
   file_buff[ 2 ] = DoubleToString (sig);

   while ( 1 )
     {
       int h= FileOpen ( "test.txt" , FILE_WRITE | FILE_ANSI | FILE_TXT | FILE_COMMON );
       if (h== INVALID_HANDLE )
        {
         continue ;
        }
       if (h!= INVALID_HANDLE )
        {
         for ( int i= 0 ; i< ArraySize (file_buff); i++)
             FileWrite (h,file_buff[i]);

         FileClose (h);

         break ;
        }

     }
   return ( "0" );
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string   file_read_signal()
  {
   string sg= "0.5" ;
   bool read = false ;
   while ( 1 )
     {
       if (read== false )
        {
         string time  = TimeToString ( TimeCurrent ());
         int h= FileOpen ( "test.txt" , FILE_READ | FILE_ANSI | FILE_TXT | FILE_COMMON );
         if (h== INVALID_HANDLE )
           {
             continue ;
           }
         if (h!= INVALID_HANDLE )
           {
             int cnt= 0 ;
             while (! FileIsEnding (h))
              {
               string str= FileReadString (h);
               StringTrimLeft (str);
               StringTrimRight (str);
               if (cnt == 1 && str == "actual" )
                 {
                  read = true ;
                 }

               if (read == true && cnt == 2 )
                 {
                  sg =str;
                 }
               cnt++;
              }
             FileClose (h);
             if (read == true )
              {
               FileClose (h);
               break ;
              }
           }

        }

     }
   return (sg);
  }

"not_actual" durumundaki bir python programında mevcut zaman okunur, mevcut sinyal hesaplanır ve bir dosyaya yazılır.

terminal_dir = "C:/Users/AdmNB0225/AppData/Roaming/MetaQuotes/Terminal/Common/Files/"
a= 0
old_rez = 0
rez = []
while True:

     try :
        with open(terminal_dir+ 'test.txt' , 'r' ) as file:
            rez = [row.strip() for row in file]
    except IOError:
        pass

     if rez != old_rez and len(rez)!= 0 :
        print(rez)
         if rez[ 1 ] == "not_actual" :
            rez[ 1 ] = "actual"
            date = rez[ 0 ]
            date = datetime.strptime(date, '%Y.%m.%d %H:%M' )
            rez[ 2 ] = get_signal(date)


             try :
                with open(terminal_dir + 'test.txt' , 'w' ) as file:
                    file.writelines(str(i)+ '\n' for i in rez)
            except IOError:
                pass

    old_rez = rez
    # time.sleep( 2 )

Bu yapıştırma çok hızlı değildir, ancak bağımsız olarak çalışır. Test cihazında, demoda çalışıyor, gerçek hayatta denemedim. Nasıl geliştirileceğine dair sorularınız veya fikirleriniz varsa, yazın, aksi takdirde konu bir şekilde öldü ...

 
esenlik :

Python programı ile mql5 danışmanı iletişim fonksiyonlarının son versiyonu.

EA'nın 2 işlevi vardır, biri dosyadaki zamanı günceller, ikincisi dosyadaki python programında oluşturulan mevcut ticaret sinyalini okur.

"not_actual" durumundaki bir python programında mevcut zaman okunur, mevcut sinyal hesaplanır ve bir dosyaya yazılır.

Bu yapıştırma çok hızlı değildir, ancak bağımsız olarak çalışır. Test cihazında, demoda çalışıyor, gerçek hayatta denemedim. Nasıl geliştirileceğine dair sorularınız veya fikirleriniz varsa, yazın, aksi takdirde konu bir şekilde öldü ...

Tekrarlayan modeller gibi daha karmaşık modellere geçtiğimde dizüstü bilgisayarın hızıyla karşılaştım. Daha mantıklı bir şey keşfedemem

İyi bir video kamera ile yeni bir tane seçtim) NG için kendime bir hediye vermem gerekecek

 
Maksim Dmitrievski :

Tekrarlayan modeller gibi daha karmaşık modellere geçtiğimde dizüstü bilgisayarın hızıyla karşılaştım. Daha mantıklı bir şey keşfedemem

İyi bir video kamera ile yeni bir tane seçtim) NG için kendime bir hediye vermem gerekecek

Neden dizüstü bilgisayar? Görevler zor.

 
Valeriy Yastremskiy :

Neden dizüstü bilgisayar? Görevler zor.

çünkü akşamları kanepede karnınıza bir masaüstü koyamazsınız

o kadar ağır değil, ancak 2 mobil çekirdeğe sahip bir ultrabook artık çok iyi değil.

aslında, bir ekran kartına bile gerek yok, sadece iyi bir yüzde

 
Maksim Dmitrievski :

çünkü akşamları kanepede karnınıza bir masaüstü koyamazsınız

o kadar ağır değil, ancak 2 mobil çekirdeğe sahip bir ultrabook artık çok iyi değil.

aslında, bir ekran kartına bile gerek yok, sadece iyi bir yüzde

tablete normal bir bilgisayardan bir görüntü, bilgisayardan bir radyo faresi + klavye yayınlayın

 
Maksim Dmitrievski :

çünkü akşamları kanepede karnınıza bir masaüstü koyamazsınız

o kadar ağır değil, ancak 2 mobil çekirdeğe sahip bir ultrabook artık çok iyi değil.

aslında, bir ekran kartına bile gerek yok, sadece iyi bir yüzde

Peki, göbek ve görevlerin ciddiyeti)))) Bu görevler için bir çiftlik zarar vermez)))) 32GB RAM ve hafif bir ssdshka ile Topuk i9))))))

 

Şeytanı ne eğitirseniz, hangi verilerin şeytanından ve hangi hedefin şeytanından bu kapasitelerin kullanımı nedir ...

sonuç ortada, en az 100 i9 olsun

Alexey Vyazmikin :

Güçlendirmelerde, bir gradyan da kullanılır. Bu sadece MO'ya uygun bilgi ve yöntemleri genişletmek için verilen bilgilerdir.

Peki, tamam, ne olmuş? bir şey yaptın mı? ya da vidyashku attı ve unuttun mu?

 
mytarmailS :

Peki, tamam, ne olmuş? bir şey yaptın mı? ya da vidyashku attı ve unuttun mu?

Hayır, yapmadım, böyle bir sorunu çözemem - karmaşık bir algoritma ve kendi güçlendirmenizi yazmanız gerekiyor.

 
Alexey Vyazmikin :

Hayır, yapmadım, böyle bir sorunu çözemem - karmaşık bir algoritma ve kendi güçlendirmenizi yazmanız gerekiyor.

herşey uzun zamandır yazılıyor 5 satırda yapabilirsiniz....

Boynuz mql olmadan ondan kurtulun, yapabileceği tek şey işlemleri açmak/kapatmak

 
Maksim Dmitrievski :

Tekrarlayan modeller gibi daha karmaşık modellere geçtiğimde dizüstü bilgisayarın hızıyla karşılaştım. Daha mantıklı bir şey keşfedemem

İyi bir video kamera ile yeni bir tane seçtim) NG için kendime bir hediye vermem gerekecek

Aynı sorun. Alıntının tüm grafik yorumlarını 50x50 piksellik görüntülere sığdırmalıyız)) görüntüyü küçültün, doğruluğu büyük ölçüde azaltmanın bir anlamı yok. Daha büyük bir görüntü, evrişim katmanının genişliğinde ve genel olarak ağın derinliğinde bir artış gerektirecek ve bu da eğitim süresinde güçlü bir artışa neden olacaktır. Burada da yeni bir makine için erteliyorum ... paralel olarak GPU'da öğrenmeyi engellemeye çalışıyorum.