ve yine dll ve market - sayfa 4

 
Nikolai Karetnikov :

Piyasa Danışmanı kaynak olarak bir metin dosyası yazabilecek mi?

Sonra kapalı kodlu bir dosya oluşturur ve uzantıyı açık bir kodla değiştirir ve çoğaltırdım.

Piyasa Danışmanı şunları yapabilir:

1. Bir kullanıcı danışmanı tarafından çözümlenebilecek bir dahili kaynağa, o kaynağa giden yolu biliyorsa ve paralel olarak çalışıyorsa veri yazın. Okunan bilgiyle daha ne yapacak - bir kullanıcı bilir.
2. Verileri, kullanıcı danışmanının bir kaynak olarak dahil edeceği ve içeriğini kendi algoritmalarıyla "özeteceği" normal bir dosyaya dökebilir.


 
Реter Konow :
Ve dene. Deneme, dedikleri gibi, işkence değildir.)
O zaman işe yarayıp yaramadığını söyle.

Hemen soruyu denemeye başladım.

Kitaplık 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 işlevi neden eksik?

 
Nikolai Karetnikov :

Hemen soruyu denemeye başladım.

Kitaplık winapi\fileapi.mqh

CopyFileW işlevi neden eksik?

Bilmiyorum ki. Prototipi listede yoksa, başka bir işlev dll derlemesindendir.
 
Renat'ın paralel bir iş parçacığında söylediklerine bakılırsa, bu çağrının modası geçmiş ve yalnızca terminalin 32 bit sürümleri için uygundur.

İşte konuya bir bağlantı: https://www.mql5.com/ru/forum/342311
 
Nikolai Karetnikov :

ah )

vbs betiğinin windows ses motoruna erişmesini engeller

Bence, bir tür karmaşık bisikletle geldin :)

Microsoft'tan ve Google'dan ücretsiz ses motorları var

ilk isteklerde Microsoft googles'dan http://speech-text.narod.ru/chap5.html


peki, konuya bakılırsa, \MQL5\Include\WinAPI'yi ilk bulan siz değilsiniz.

ancak MQ politikası değişmedi:

- MQL programlarının güvenliği sağlanmalıdır, bu nedenle serbestçe dağıtılan tüm programlar "MQL sanal alanı" (çağrılar, dosya erişimi) içinde çalışmalıdır.

- kişisel kullanım için veya eğitim materyali olarak .dll çağırma özelliğini kullanabilirsiniz

 
Görünüşe göre Windows'tan bir ses motoru kullanan bir danışmanla pazara gidemezsiniz. İşte satılabilir Expert Advisors geliştirmenin aşılmaz sınırı.))

Tabii ki üzücü. Gelecekte, jest kontrolünü bağlamak mümkün olacaktır.
 
Реter Konow :
Görünüşe göre Windows'tan bir ses motoru kullanan bir danışmanla pazara gidemezsiniz. İşte satılabilir Expert Advisors geliştirmenin aşılmaz sınırı.))

Tabii ki üzücü. Gelecekte, jest kontrolünü bağlamak mümkün olacaktır.

Bence terminale sesli komutlar kullanarak komuta etme veya EA'nın orada ne yaptığını dinleme fikri, gelecekte bir tür nevroz gibi görünüyor, karmaşık bir forma dönüşmeye hazırlanıyor - psikoz veya ilgili hastalıklar

)))

IMHO, sadece teknolojinin olanaklarıyla oynayın


not:

Telefonumda OK-Google kullanıyorum, araması kolay, pratik, bilgisayarda multimedya veya internette gezinmek de mümkün

ama terminale ne söylenebilir? sipariş aç! fiyat hedefe hızla git! Yıkayıcı!

 
Igor Makanu :

Bence, bir tür karmaşık bisikletle geldin :)

Microsoft'tan ve Google'dan ücretsiz ses motorları var

ilk isteklerde Microsoft googles'dan http://speech-text.narod.ru/chap5.html


peki, konuya bakılırsa, \MQL5\Include\WinAPI'yi bulan ilk kişi siz değilsiniz.

ancak MQ politikası değişmedi:

- MQL programlarının güvenliği sağlanmalıdır, bu nedenle serbestçe dağıtılan tüm programlar "MQL sanal alanı" (çağrılar, dosya erişimi) içinde çalışmalıdır.

- kişisel kullanım için veya eğitim materyali olarak .dll çağırma özelliğini kullanabilirsiniz

zaman kaybı olurdu.

Baykuşum metni yalnızca Windows'ta yerleşik motor tarafından oynatılmak üzere hazırlıyor

 
Igor Makanu :

Bence terminale sesli komutlar kullanarak komuta etme veya EA'nın orada ne yaptığını dinleme fikri, gelecekte bir tür nevroz gibi görünüyor, karmaşık bir forma dönüşmeye hazırlanıyor - psikoz veya ilgili hastalıklar

)))

IMHO, sadece teknolojinin olanaklarıyla oynayın


not:

Telefonumda OK-Google kullanıyorum, araması kolay, pratik, bilgisayarda multimedya veya internette gezinmek de mümkün

ama terminale ne söylenebilir? sipariş aç! fiyat hedefe hızla git! Yıkayıcı!

)))

fikir, terminalin ve evrenin sesli kontrolünde değil))), ancak sesli yönlendirmede. Örneğin, her beş dakikada bir, bir setten bir enstrümanın fiyatını seslendirin veya sesli uyarı ayarlama yeteneğine sahip olun. Terminalde benzer bir "Uyarılar" var, tetiklendiklerinde kısa bir ses sinyali çalınıyor ve hangi enstrümana atıfta bulunduğunu anlamak imkansız.

 
Nikolai Karetnikov :

zaman kaybı olurdu.

Baykuşum metni yalnızca Windows'ta yerleşik motor tarafından oynatılmak üzere hazırlıyor

MQL5/Files'da bir dosyaya yazın ve Windows motorunun nasıl ayarlanacağını açıklayın. Unix/linux için bu sadece birkaç satırlık bir betik, powershell için aynı olduğundan şüpheleniyorum.