트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 2236

 

파이썬 프로그램과 mql5 어드바이저 통신 기능의 최종 버전.

EA에는 2가지 기능이 있습니다. 하나는 파일의 시간을 업데이트하고, 다른 하나는 파이썬 프로그램에서 생성된 파일의 현재 거래 신호를 읽습니다.

 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" 상태의 파이썬 프로그램에서 현재 시간 을 읽고 현재 신호를 계산하여 파일에 기록합니다.

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 )

이 접착은 특별히 빠르지는 않지만 독립적으로 작동합니다. 테스터에서 작동하고 데모에서 작동하며 실제 생활에서 시도하지 않았습니다. 개선 방법에 대한 질문이나 아이디어가 있으면 작성하십시오. 그렇지 않으면 주제가 어떻게 든 사라졌습니다 ...

 
웰리모른 :

파이썬 프로그램과 mql5 어드바이저 통신 기능의 최종 버전.

EA에는 2가지 기능이 있습니다. 하나는 파일의 시간을 업데이트하고, 다른 하나는 파이썬 프로그램에서 생성된 파일의 현재 거래 신호를 읽습니다.

"not_actual" 상태의 파이썬 프로그램에서현재 시간 을 읽고 현재 신호를 계산하여 파일에 기록합니다.

이 접착은 그리 빠르지는 않지만 독립적으로 작동합니다. 테스터에서 작동하고 데모에서 작동하며 실제 생활에서 시도하지 않았습니다. 개선 방법에 대한 질문이나 아이디어가 있으면 작성하십시오. 그렇지 않으면 주제가 어떻게 든 사라졌습니다 ...

되풀이되는 것과 같은 더 복잡한 모델로 전환했을 때 나는 노트북의 속도에 부딪쳤다. 이보다 더 합리적인 것은 탐색할 수 없어

좋은 비디오 카메라로 새로운 것을 선택했습니다) 나 자신에게 NG를 선물해야 할 것입니다

 
막심 드미트리예프스키 :

되풀이되는 것과 같은 더 복잡한 모델로 전환했을 때 나는 노트북의 속도에 부딪쳤다. 이보다 더 합리적인 것은 탐색할 수 없어

좋은 비디오 카메라로 새로운 것을 선택했습니다) 나 자신에게 NG를 선물해야 할 것입니다

왜 노트북인가? 과제는 어렵습니다.

 
발레리 야스트렘스키 :

왜 노트북인가? 과제는 어렵습니다.

저녁에 배 위에 탁상을 놓을 수 없기 때문에 소파에서

그렇게 무겁지는 않지만 2개의 모바일 코어가 있는 울트라북은 더 이상 좋지 않습니다.

사실, 비디오 카드는 필요하지도 않습니다. 단지 좋은 비율일 뿐입니다.

 
막심 드미트리예프스키 :

저녁에 배 위에 탁상을 놓을 수 없기 때문에 소파에서

그렇게 무겁지는 않지만 2개의 모바일 코어가 있는 울트라북은 더 이상 좋지 않습니다.

사실, 비디오 카드는 필요하지도 않습니다. 단지 좋은 비율일 뿐입니다.

일반 컴퓨터에서 태블릿으로 이미지 방송, 컴퓨터에서 라디오 마우스 + 키보드

 
막심 드미트리예프스키 :

저녁에 배 위에 탁상을 놓을 수 없기 때문에 소파에서

그렇게 무겁지는 않지만 2개의 모바일 코어가 있는 울트라북은 더 이상 좋지 않습니다.

사실, 비디오 카드는 필요하지도 않습니다. 단지 좋은 비율일 뿐입니다.

글쎄, 배와 작업의 심각도)))) 이러한 작업의 경우 농장은 아프지 않을 것입니다))) 32GB RAM과 가벼운 ssdshka가있는 Heel i9)))))

 

악마에게 무엇을, 악마에게 어떤 데이터를, 악마에게 어떤 표적을 훈련한다면 이러한 능력의 용도는 무엇입니까?

결과는 명백합니다. 적어도 100개의 i9-ty가 있어야 합니다.

알렉세이 비아즈미킨 :

부스트에서는 그라디언트도 사용됩니다. MO에 적합한 지식과 방법론을 확장하기 위한 정보일 뿐입니다.

글쎄요, 그래서 어쩌죠? 뭔가 했어? 또는 vidyashku를 던졌고 잊었습니까?

 
mytarmailS :

글쎄요, 그래서 어쩌죠? 뭔가 했어? 또는 vidyashku를 던졌고 잊었습니까?

아니요, 그렇지 않았습니다. 복잡한 알고리즘과 같은 문제를 해결할 수 없으며 자신의 부스팅을 작성해야 합니다.

 
알렉세이 비아즈미킨 :

아니요, 그렇지 않았습니다. 복잡한 알고리즘과 같은 문제를 해결할 수 없으며 자신의 부스팅을 작성해야 합니다.

모든 것이 오랫동안 작성되었습니다. 5 줄로 할 수 있습니다 ....

antler mql 없이 제거하세요. 할 수 있는 일은 거래를 열고/닫는 것뿐입니다.

 
막심 드미트리예프스키 :

되풀이되는 것과 같은 더 복잡한 모델로 전환했을 때 나는 노트북의 속도에 부딪쳤다. 이보다 더 합리적인 것은 탐색할 수 없어

좋은 비디오 카메라로 새로운 것을 선택했습니다) 나 자신에게 NG를 선물해야 할 것입니다

같은 문제. 견적의 모든 그래픽 해석을 50x50 픽셀의 이미지에 맞춰야 합니다.)) 이미지를 더 작게 만들기 때문에 정확도를 크게 줄이는 것은 의미가 없습니다. 더 큰 이미지는 컨볼루션 레이어의 너비와 일반적으로 네트워크의 깊이를 늘려야 하므로 훈련 시간이 크게 늘어납니다. 여기에서도 새 기계를 위해 미루고 있습니다 ... 동시에 GPU에서 학습을 억제하려고합니다.