そしてまた、DellとMarket - ページ 4

 
Nikolai Karetnikov:

Market Advisorは、テキストファイルをリソースとして書き込むことができるのでしょうか?

そして、クローズドコードでファイルを形成し、オープンコードで拡張子を変更して再生するのです

マーケットエクスパートアドバイザーは、以下のことが可能です。

1.内部リソースにデータを書き込み、そのリソースのパスを知っていて並列に動作する場合、ユーザーEAでパースすることができる。読み取った情報をExpert Advisorがどのように扱うかは、ユーザーだけが知っています。
2.通常のファイルにデータを送ることができ、Expert Advisorはそのファイルをリソースとして取り込み、アルゴリズムを使ってその内容を「消化」します。


 
Реter Konow:
試してみてください。試してみる、とは、拷問ではない)
では、ここで、うまくいったかどうか教えてください。

試しに始めてみたのですが、今ひとつ疑問があります。

winapiのtemptyfileapi.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のtemptyfileapi.mqhライブラリです。

CopyFileW関数がないのはなぜですか?

知らないんです。そのプロトタイプがリストにない場合、他のDLL関数アセンブリのものでなければならない。
 
並行スレッドでRenatが言ったことから判断すると、この呼び出しは時代遅れで、32ビット版のターミナルにしか対応していないようです。

以下は、トピックのリンクです: https://www.mql5.com/ru/forum/342311
 
Nikolai Karetnikov:

おっと)

邪魔なのは、vbsスクリプトがWindowsの音声エンジンにアクセスすることです。

とても複雑な車輪に乗っていると思います :)

マクロソフトやグーグルの無料音声エンジンがあります。

マイクロソフトのは最初の数クエリでググられるhttp://speech-text.narod.ru/chap5.html


を見つけたのはあなたが初めてじゃないわよ。

が、MQポリシーは変更されていない。

- MQLプログラムのセキュリティを確保する必要があるため、自由に配布されるプログラムはすべて「MQLサンドボックス」内で動作する必要があります(コール、ファイルへのアクセス)。

- 個人的な使用やチュートリアルのために、.dllを呼び出す可能性を利用することができます。

 
Windowsの音声エンジンを使ったEAには参入できないようです。ここに、市場性のあるEAを 開発する上で乗り越えられない境界線があるのです)。

もちろん、残念なことですが。将来的には、ジェスチャーによる操作も可能になるかもしれません。
 
Реter Konow:
Windowsの音声エンジンを利用したEAでの参入は無理そうですね。売れたEA)の開発における越えられない壁は、ここまでだ。

もちろん、残念なことですが。将来的にはジェスチャーによる操作も可能になるかもしれません。

私には、端末に音声で指示を出したり、EAの発言を聞いたりすることが、一種のノイローゼになって、複雑な精神病などの病気になりそうな気がするのですが......。

)))

技術の可能性を揶揄するだけのイミフ。


ZSです。

携帯電話でOK-Googleを使っている、便利な検索、実用的、マルチメディアやネットサーフィンを使うにはおそらくPCだろう

しかし、ターミナルに何と言えばいいのでしょうか。ワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ

 
Igor Makanu:

なんか複雑な自転車を作っているような気がする :)

マイクロソフトやグーグルが提供する無料の音声エンジンがあります。

マイクロソフトは最初の数クエリでググられるhttp://speech-text.narod.ru/chap5.html.


を見つけたのはあなたが初めてじゃないわよ。

が、MQポリシーは変更されていない。

- MQLプログラムのセキュリティを確保する必要があるため、自由に配布されるプログラムはすべて「MQLサンドボックス」内で動作する必要があります(コール、ファイルへのアクセス)。

- 個人的な使用やチュートリアルとして、.dllを呼び出す可能性を利用することができます。

これではもったいない。

私のフクロウは、巻き上げに内蔵されたエンジンで再生するためのテキストを準備するだけです

 
Igor Makanu:

音声コマンドで端末を操作したり、EAが何をやっているかを聞くというのは、私には複雑な精神病や関連疾患に発展しそうな神経症のように見えるのですが......。

)))

技術の可能性を揶揄するだけのイミフ。


ZSです。

携帯電話でOK-Googleを使っている、便利な検索、実用的、マルチメディアやネットサーフィンを使うにはおそらくPCだろう

でも、端末になんて言えばいいんだろう? 注文を出す! 価格が上がるのが早くなるワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ!ワオ

)))

端末や 宇宙を音声で操作 するのではなく、音声で案内するという発想です。例えば、5分ごとにセットされている楽器の価格を鳴らすとか、音声でアラートを設定する機能を持たせるとか。端末にはアラートというものがあり、それが鳴ると短い音が鳴るのですが、それが何の楽器なのかがわからないのです

 
Nikolai Karetnikov:

というのは、もったいない話です。

私のフクロウは、巻き上げに内蔵されたエンジンで再生するためのテキストを準備するだけです

は、MQL5/Filesで、ファイルに書いて、そこにWindowsエンジンを載せる方法を説明します。unix/linuxの場合は文字通り数行のスクリプトで、powershellの場合も同じだと思われます。