并再次进行dll和营销 - 页 4

 
Nikolai Karetnikov:

市场顾问是否能够将文本文件作为资源写入?

然后,我将用封闭的代码形成文件,用开放的代码改变扩展名,然后再进行播放。

一个市场专家顾问可以。

1.将数据写入一个内部资源,如果用户EA知道该资源的路径,就可以对其进行解析,并将并行工作。专家顾问将对读取的信息做什么,只有用户自己知道。
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:

oops )

碍事的是,vbs脚本访问了windows语音引擎

我认为你在骑一个非常复杂的轮子 :)

有来自MCROSOFT和GOOGLE的免费语音引擎

微软的在前几个查询中被google到http://speech-text.narod.ru/chap5.html


在这个问题上,你不是第一个发现\MQL5\Include\WinAPI的人。

但MQ策略没有被改变。

- 必须确保MQL程序的安全性,所以所有免费分发的程序必须在 "MQL沙盒 "内工作(调用、访问文件)。

- 为个人使用或作为教程,你可以使用调用.dll的可能性。

 
看来,使用Windows语音引擎的EA将无法进入市场。在这里,你有一个不可逾越的边界,在开发可销售的EA 方面)。

当然,这是一个遗憾。在未来,手势控制可能成为可能。
 
Реter Konow:
看来,使用Windows的语音引擎的EA是没有办法进入市场的。这么说来,在卖出的EA 的发展中存在着不可逾越的界限)。

当然,这是一个遗憾。在未来,手势控制可能成为可能。

对我来说,向终端发出语音命令或听EA说什么的想法看起来像是一种即将变成复杂形式的精神病或其他疾病的神经症。

)))

我认为,只是为了取笑技术的可能性。


ZS。

我在手机上使用OK-GOOGLE,方便搜索,很实用,可能要用PC来使用多媒体或上网冲浪。

但我能告诉终端的是什么呢? 打开一个订单!价格会更快地被接受。WOW, WOW!

 
Igor Makanu:

我想你已经想出了某种复杂的自行车:)

有来自微软和谷歌的免费语音引擎

在http://speech-text.narod.ru/chap5.html,可以在前几个查询中搜索到微软。


在这个问题上,你不是第一个发现\MQL5\Include\WinAPI的人。

但MQ策略没有被改变。

- 必须确保MQL程序的安全性,所以所有免费分发的程序必须在 "MQL沙盒 "内工作(调用、访问文件)。

- 为个人使用或作为教程,你可以使用调用.dll的可能性。

这将是对时间的浪费。

我的猫头鹰只准备文本,由内置于绞盘的引擎播放。

 
Igor Makanu:

对我来说,用语音命令指挥终端或听EA在做什么的想法看起来像是某种即将发展成复杂形式的精神病或相关疾病的神经病。

)))

我认为,只是为了取笑技术的可能性。


ZS。

我在手机上使用OK-GOOGLE,方便搜索,很实用,可能要用PC来使用多媒体或上网冲浪。

但我能告诉终端什么呢? 开启一个订单!价格会更快地上涨,以获得更多的收益!"。WOW, WOW!

)))

这个想法不是对终端 和宇宙的语音控制))),而是语音指导。比方说,每隔五分钟就能从一套乐器的价格中发出声音,或者有能力设置语音提醒。终端中存在 "警报 "这样的东西,当它们被触发时,会播放一个简短的声音信号,但它指的是什么乐器,我们无法理解。

 
Nikolai Karetnikov:

这将是一种浪费时间的行为。

我的猫头鹰只为内置在绞盘中的引擎播放文本做准备。

把它写在一个文件里,在MQL5/Files里,并解释如何把windows引擎放在上面。对于unix/linux来说,它是一个字面上只有几行的脚本,对于powershell,我怀疑也是如此。