그리고 다시 dll과 시장 - 페이지 4

 
Nikolai Karetnikov :

Market Advisor가 텍스트 파일을 리소스로 작성할 수 있습니까?

그런 다음 닫힌 코드로 파일을 만들고 열린 코드로 확장자를 변경하고 재생산합니다.

시장 고문은 다음을 수행할 수 있습니다.

1. 사용자 권고자가 해당 자원에 대한 경로를 알고 병렬로 작동하는 경우 구문 분석할 수 있는 내부 자원에 데이터를 씁니다. 그는 읽은 정보로 무엇을 더 할 것인가 - 한 사용자는 알고 있습니다.
2. 데이터를 일반 파일에 덤프할 수 있습니다. 이 파일은 사용자 권고자가 리소스로 포함하고 자체 알고리즘으로 내용을 "다이제스트"합니다.


 
Реter Konow :
그리고 시도하십시오. 그들이 말했듯이 시도는 고문이 아닙니다.)
그런 다음 효과가 있었는지 여부를 알려주세요.

나는 시도하고 즉시 질문을 시작했다.

라이브러리 winapi\fileapi.mqh

 #include <WinAPI\windef.mqh>

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
#import "kernel32.dll"
int     AreFileApisANSI( void );
int     CompareFileTime(FILETIME &file_time1,FILETIME &file_time2);
int     CreateDirectoryW( const string path_name,PVOID security_attributes);
HANDLE CreateFile2( const string file_name, uint desired_access, uint share_mode, uint creation_disposition,CREATEFILE2_EXTENDED_PARAMETERS &create_ex_params);
HANDLE CreateFileW( const string file_name, uint desired_access, uint share_mode,PVOID security_attributes, uint creation_disposition, uint flags_and_attributes,HANDLE template_file);
int     DefineDosDeviceW( uint flags, const string device_name, const string target_path);
int     DeleteFileW( const string file_name);
int     DeleteVolumeMountPointW( const string volume_mount_point);
int     FileTimeToLocalFileTime(FILETIME &file_time,FILETIME &local_file_time);
int     FindClose(HANDLE find_file);
int     FindCloseChangeNotification(HANDLE change_handle);
HANDLE FindFirstChangeNotificationW( const string path_name, int watch_subtree, uint notify_filter);
HANDLE FindFirstFileExW( const string file_name,FINDEX_INFO_LEVELS info_level_id,FIND_DATAW &find_file_data,FINDEX_SEARCH_OPS search_op,PVOID search_filter, uint additional_flags);
HANDLE FindFirstFileNameW( const string file_name, uint flags, uint &StringLength, ushort &LinkName[]);
HANDLE FindFirstFileW( const string file_name,FIND_DATAW &find_file_data);
HANDLE FindFirstStreamW( const string file_name,STREAM_INFO_LEVELS InfoLevel,FIND_STREAM_DATA &find_stream_data, uint flags);
HANDLE FindFirstVolumeW( ushort &volume_name[], uint &buffer_length);
int     FindNextChangeNotification(HANDLE change_handle);
int     FindNextFileNameW(HANDLE find_stream, uint &StringLength, ushort &LinkName[]);
int     FindNextFileW(HANDLE find_file,FIND_DATAW &find_file_data);
int     FindNextStreamW(HANDLE find_stream,FIND_STREAM_DATA &find_stream_data);
int     FindNextVolumeW(HANDLE find_volume, ushort &volume_name[], uint &buffer_length);
int     FindVolumeClose(HANDLE find_volume);
int     FlushFileBuffers(HANDLE file);
uint    GetCompressedFileSizeW( const string file_name, uint &file_size_high);
int     GetDiskFreeSpaceExW( const string directory_name, ulong &free_bytes_available_to_caller, ulong &total_number_of_bytes, ulong &total_number_of_free_bytes);
int     GetDiskFreeSpaceW( const string root_path_name, uint &sectors_per_cluster, uint &bytes_per_sector, uint &number_of_free_clusters, uint &total_number_of_clusters);
uint    GetDriveTypeW( const string root_path_name);
int     GetFileAttributesExW( const string file_name,GET_FILEEX_INFO_LEVELS info_level_id,FILE_ATTRIBUTE_DATA &file_information);
uint    GetFileAttributesW( const string file_name);
int     GetFileInformationByHandle(HANDLE file,BY_HANDLE_FILE_INFORMATION &file_information);
uint    GetFileSize(HANDLE file, uint &file_size_high);
int     GetFileSizeEx(HANDLE file, long &file_size);
int     GetFileTime(HANDLE file,FILETIME &creation_time,FILETIME &last_access_time,FILETIME &last_write_time);
uint    GetFileType(HANDLE file);
uint    GetFinalPathNameByHandleW(HANDLE file, ushort &file_path[], uint file_path, uint flags);
uint    GetFullPathNameW( const string file_name, uint buffer_length, ushort &buffer[], ushort &file_part[]);
uint    GetLogicalDrives( void );
uint    GetLogicalDriveStringsW( uint buffer_length, ushort &buffer[]);
uint    GetLongPathNameW( const string short_path, string &long_path, uint buffer);
uint    GetShortPathNameW( const string long_path, string &short_path, uint buffer);
uint    GetTempFileNameW( const string path_name, const string prefix_string, uint unique, ushort &temp_file_name[]);
uint    GetTempPathW( uint buffer_length, ushort &buffer[]);
int     GetVolumeInformationByHandleW(HANDLE file, ushort &volume_name_buffer[], uint volume_name_size, uint &volume_serial_number, uint &maximum_component_length, uint &file_system_flags, ushort &file_system_name_buffer[], uint file_system_name_size);
int     GetVolumeInformationW( const string root_path_name, ushort &volume_name_buffer[], uint volume_name_size, uint &volume_serial_number, uint &maximum_component_length, uint &file_system_flags, ushort &file_system_name_buffer[], uint file_system_name_size);
int     GetVolumeNameForVolumeMountPointW( const string volume_mount_point, string volume_name, uint buffer_length);
int     GetVolumePathNamesForVolumeNameW( const string volume_name, string volume_path_names, uint buffer_length, uint &return_length);
int     GetVolumePathNameW( const string file_name, ushort &volume_path_name[], uint buffer_length);
int     LocalFileTimeToFileTime(FILETIME &local_file_time,FILETIME &file_time);
int     LockFile(HANDLE file, uint file_offset_low, uint file_offset_high, uint number_of_bytes_to_lock_low, uint number_of_bytes_to_lock_high);
int     LockFileEx(HANDLE file, uint flags, uint reserved, uint number_of_bytes_to_lock_low, uint number_of_bytes_to_lock_high,OVERLAPPED &overlapped);
uint    QueryDosDeviceW( const string device_name, ushort &target_path[], uint max);
int     ReadFile(HANDLE file, ushort &buffer[], uint number_of_bytes_to_read, uint &number_of_bytes_read,OVERLAPPED &overlapped);
int     ReadFile(HANDLE file, ushort &buffer[], uint number_of_bytes_to_read, uint &number_of_bytes_read,PVOID overlapped);
int     ReadFileScatter(HANDLE file,FILE_SEGMENT_ELEMENT &segment_array[], uint number_of_bytes_to_read, uint &reserved,OVERLAPPED &overlapped);
int     ReadFileScatter(HANDLE file,FILE_SEGMENT_ELEMENT &segment_array[], uint number_of_bytes_to_read, uint &reserved,PVOID overlapped);
int     RemoveDirectoryW( const string path_name);
int     SetEndOfFile(HANDLE file);
void    SetFileApisToANSI( void );
void    SetFileApisToOEM( void );
int     SetFileAttributesW( const string file_name, uint file_attributes);
int     SetFileInformationByHandle(HANDLE file,FILE_INFO_BY_HANDLE_CLASS FileInformationClass,FILE_INFO &file_information, uint buffer_size);
int     SetFileIoOverlappedRange(HANDLE FileHandle, uchar &OverlappedRangeStart, ulong Length);
uint    SetFilePointer(HANDLE file, long distance_to_move, long &distance_to_move_high, uint move_method);
int     SetFilePointerEx(HANDLE file, long distance_to_move, long &new_file_pointer, uint move_method);
int     SetFileTime(HANDLE file,FILETIME &creation_time,FILETIME &last_access_time,FILETIME &last_write_time);
int     SetFileValidData(HANDLE file, long ValidDataLength);
int     UnlockFile(HANDLE file, uint file_offset_low, uint file_offset_high, uint number_of_bytes_to_unlock_low, uint number_of_bytes_to_unlock_high);
int     UnlockFileEx(HANDLE file, uint reserved, uint number_of_bytes_to_unlock_low, uint number_of_bytes_to_unlock_high,OVERLAPPED &overlapped);
int     WriteFile(HANDLE file, const ushort &buffer[], uint number_of_bytes_to_write, uint &number_of_bytes_written,OVERLAPPED &overlapped);
int     WriteFile(HANDLE file, const ushort &buffer[], uint number_of_bytes_to_write, uint &number_of_bytes_written,PVOID overlapped);
int     WriteFileGather(HANDLE file,FILE_SEGMENT_ELEMENT &segment_array[], uint number_of_bytes_to_write, uint &reserved,OVERLAPPED &overlapped);
int     WriteFileGather(HANDLE file,FILE_SEGMENT_ELEMENT &segment_array[], uint number_of_bytes_to_write, uint &reserved,PVOID overlapped);
#import
//+------------------------------------------------------------------+

CopyFileW 기능이 누락된 이유는 무엇입니까?

 
Nikolai Karetnikov :

나는 시도하고 즉시 질문을 시작했다.

라이브러리 winapi\fileapi.mqh

CopyFileW 기능이 누락된 이유는 무엇입니까?

나는 그것을 모른다. 프로토타입이 목록에 없으면 다른 함수 dll 어셈블리에서 가져온 것입니다.
 
Renat이 병렬 스레드에서 말한 것으로 판단하면 이 호출은 구식이며 터미널의 32비트 버전에만 적합합니다.

다음은 주제에 대한 링크입니다. https://www.mql5.com/ru/forum/342311
 
Nikolai Karetnikov :

오 )

vbs 스크립트가 Windows 음성 엔진에 액세스한다는 사실을 방해합니다.

제 생각에는, 당신은 일종의 복잡한 자전거를 생각해 냈습니다 :)

Microsoft와 Google의 무료 음성 엔진이 있습니다.

첫 번째 요청에서 Microsoft googles http://speech-text.narod.ru/chap5.html


글쎄, 제목에 의해 \MQL5\Include\WinAPI를 발견한 첫 번째 사람이 아닙니다.

그러나 MQ 정책은 변경되지 않았습니다.

- MQL 프로그램의 보안이 보장되어야 하므로 자유롭게 배포되는 모든 프로그램은 "MQL 샌드박스"(호출, 파일 액세스) 내에서 작동해야 합니다.

- 개인용 또는 교육용 자료로 .dll을 호출하는 기능을 사용할 수 있습니다.

 
Windows의 음성 엔진을 사용하는 어드바이저로는 시장에 갈 수 없는 것 같습니다. 여기에 판매 가능한 Expert Advisors 개발의 극복 할 수없는 한계가 있습니다.))

물론 슬프다. 미래에는 제스처 제어를 연결하는 것이 가능할 것입니다.
 
Реter Konow :
Windows의 음성 엔진을 사용하는 어드바이저로는 시장에 갈 수 없는 것 같습니다. 여기에 판매 가능한 Expert Advisors 개발의 극복 할 수없는 한계가 있습니다.))

물론 슬프다. 미래에는 제스처 제어를 연결하는 것이 가능할 것입니다.

제 생각에는 음성 명령을 사용하여 단말기에 명령을 내리거나 EA가 하는 일을 듣는 아이디어는 미래에 일종의 노이로제처럼 보이며 정신병 또는 관련 질병과 같은 복잡한 형태로 바뀔 준비를합니다.

)))

IMHO, 기술의 가능성을 가지고 놀아보십시오.


추신:

휴대폰에서 OK-Google을 사용하는데, 검색하기 쉽고, 실용적이고, PC에서 멀티미디어나 인터넷서핑도 가능합니다.

그러나 터미널에 무엇을 말할 수 있습니까? 주문을 엽니다! 가격은 목표에 빨리 이동합니다! 워셔-워셔!

 
Igor Makanu :

제 생각에는, 당신은 일종의 복잡한 자전거를 생각해 냈습니다 :)

Microsoft와 Google의 무료 음성 엔진이 있습니다.

첫 번째 요청에서 Microsoft googles http://speech-text.narod.ru/chap5.html


글쎄, 제목에 의해 \MQL5\Include\WinAPI를 발견한 첫 번째 사람이 아닙니다.

그러나 MQ 정책은 변경되지 않았습니다.

- MQL 프로그램의 보안이 보장되어야 하므로 자유롭게 배포되는 모든 프로그램은 "MQL 샌드박스"(호출, 파일 액세스) 내에서 작동해야 합니다.

- 개인용 또는 교육용 자료로 .dll을 호출하는 기능을 사용할 수 있습니다.

시간 낭비일 것입니다.

내 올빼미는 Windows에 내장된 엔진으로 재생할 텍스트만 준비합니다.

 
Igor Makanu :

제 생각에는 음성 명령을 사용하여 단말기에 명령을 내리거나 EA가 하는 일을 듣는 아이디어는 미래에 일종의 노이로제처럼 보이며 정신병 또는 관련 질병과 같은 복잡한 형태로 바뀔 준비를합니다.

)))

IMHO, 기술의 가능성을 가지고 놀아보십시오.


추신:

휴대폰에서 OK-Google을 사용하는데, 검색하기 쉽고, 실용적이고, PC에서 멀티미디어나 인터넷서핑도 가능합니다.

그러나 터미널에 무엇을 말할 수 있습니까? 주문을 엽니다! 가격은 목표에 빨리 이동합니다! 워셔-워셔!

)))

아이디어는 단말기와 우주)))의 음성 제어가 아니라 음성 안내에 있습니다. 예를 들어, 5분마다 한 세트의 악기 가격을 말하거나 음성 경고를 설정할 수 있는 기능이 있습니다. 터미널에 비슷한 "Alerts"가 있는데, 트리거되면 짧은 사운드 신호가 재생되며 어떤 악기를 가리키는지 이해할 수 없습니다.

 
Nikolai Karetnikov :

시간 낭비일 것입니다.

내 올빼미는 Windows에 내장된 엔진으로 재생할 텍스트만 준비합니다.

MQL5/Files에서 파일에 쓰고 Windows 엔진을 설정하는 방법을 설명합니다. 유닉스/리눅스의 경우 이것은 단 몇 줄의 스크립트이며 powershell의 경우에는 동일한 것으로 생각됩니다.