スクリプト: 透明な MetaTrader 5 - ページ 2 123 新しいコメント Vladimir Karputov 2014.03.14 04:11 #11 バージョン変更:バージョン1.20: チャートに再参加する際、ターミナルが再び不透明になる。現在、バージョン1.2がモデレーションのために送信されています。 growcapital 2014.03.14 08:55 #12 こんにちは!mt5でストップロスを設定するスクリプトを探しています。 Vladimir Karputov 2014.03.14 10:08 #13 変更点Version 1.20: スケジュールに再アクセスすると、ターミナルが不透明になる。 --- 2014.03.14 11:26 #14 Версия 1.10: Поддержка Windows XP 32-bit.あなたはすべてを台無しにしてしまった。あなたは、32と64のハンドル/ポインタのために、DLL関数を呼び出す2つのバリエーションを作らなければなりませんでした。例 Vladimir Karputov 2014.03.14 13:57 #15 barabashkakvn:バージョン1.10: Windows XP 32-bitをサポート。sergeev: あなたはすべてを台無しにしてしまった。32と64のハンドル/ポインタ用にDLL関数を呼び出す2つのバリエーションを作らなければなりませんでした。例 例をありがとう!というのも、Windows XPからWindows 8.1までのオペレーティングシステムでuser32.dllライブラリがどのような関数を含んでいるかという問題を解決する必要があり、システムのビット数を考慮する必要があるからです。 Mikhail Vdovin 2014.03.14 20:44 #16 MT5のビルド900または910では、DLLを呼び出すメカニズムが壊れている疑いがあります。サービスデスク #976227の アプリケーション。 クラッシュはこれに関連しているかもしれません。開発者の皆さん、そこを見てください。 Roman Guz 2014.03.17 23:17 #17 とても興味深い!) Mikhail Vdovin 2014.03.18 18:59 #18 micle: MT5のビルド900または910では、DLLを呼び出すメカニズムが壊れている疑いがあります。サービスデスク #976227の アプリケーション。 クラッシュはこれに関連しているかもしれません。開発者の皆さん、そこを見てください。 私の問題は別の関数宣言で解決しました。生きて学ぶ ) Alain Verleyen 2014.08.21 18:43 #19 barabashkakvn:変更点バージョン1.20: スケジュールに再アクセスすると、ターミナルが不透明に なる。 英語のコードベースでは、利用可能なバージョンはまだ1.10です。 Vladimir Karputov 2014.08.21 19:07 #20 バージョン1.20 //+------------------------------------------------------------------+ //|透明性。mq5||透明。 //|著作権© 2014, ウラジーミル・カルプトフ|||Copyright © 2014, Vladimir Karputov //|http://wmua.ru/slesar/|(英語 //+------------------------------------------------------------------+ #property copyright "著作権 © 2014, ウラジーミル・カルプトフ" #property link "http://wmua.ru/slesar/" #property version "1.20" #import "user32.dll" //+------------------------------------------------------------------+ //| GetAncestor.の祖先へのハンドルを取得します。 //| ウィンドウを指定します。ウィンドウを指定します。 //+------------------------------------------------------------------+ int GetAncestor(int hwnd,int gaFlags); //+------------------------------------------------------------------+ //| GetWindowLongW.指定されたウィンドウの情報を取得します。 //| ウィンドウをクリックしてください。 //+------------------------------------------------------------------+ int GetWindowLongW( int hWnd, int nIndex // GWL_EXSTYLE ); //+------------------------------------------------------------------+ //| SetWindowLongW.ウィンドウの長さを設定します。 //+------------------------------------------------------------------+ int SetWindowLongW( int hWnd, char nIndex, // GWL_EXSTYLE int dwNewLong // ws_ex_layered ); //+------------------------------------------------------------------+ //| SetLayeredWindowAttributes.不透明度と透明度を設定します。 //| レイヤーウィンドウのカラーキー。レイヤーウィンドウのカラーキー。 ||многослойного|многослойного|окна|многослойного|окна //+------------------------------------------------------------------+ bool SetLayeredWindowAttributes( int hwnd,// レイヤーウィンドウへのハンドル int crKey, // 0 int bAlpha, // непрозрачности 0-255 int dwFlags // 0x00000002 ); #import #define GA_ROOT 0x0002 // 親ウィンドウの連鎖をたどってルートウィンドウを取得します。 #define GWL_EXSTYLE -20 // 新しい拡張ウィンドウ・スタイルを設定する #define WS_EX_LAYERED 0x00080000 // スタイルウィンドウはレイヤーウィンドウです。 #define LWA_ALPHA 0x00000002 // bAlphaを使用して、レイヤーウィンドウの不透明度を決定する。 //+------------------------------------------------------------------+ //| スクリプト・プログラム開始機能| //+------------------------------------------------------------------+ void OnStart() { //--- long mainChartID=ChartID(); // возвращает идентификатор текущего графика int hdlmainChartID=ChartWindowsHandle(mainChartID); int hdlRoot=GetAncestor(hdlmainChartID,GA_ROOT); int SetWindowLongW_func; if(GetWindowLongW(hdlRoot,GWL_EXSTYLE)&WS_EX_LAYERED) { // WS_EX_LAYEREDを使用します。WS_EX_LAYEREDを使用している場合は、以下のようになります。 // ウィンドウはすでにスタイル WS_EX_LAYERED を持っています。このウィンドウのスタイルからWS_EX_LAYEREDを削除します。 SetWindowLongW_func=SetWindowLongW(hdlRoot,GWL_EXSTYLE, GetWindowLongW(hdlRoot,GWL_EXSTYLE)&~WS_EX_LAYERED); return; } // WS_EX_LAYERED を ROOT に設定する。 SetWindowLongW_func=SetWindowLongW(hdlRoot,GWL_EXSTYLE, GetWindowLongW(hdlRoot,GWL_EXSTYLE)|WS_EX_LAYERED); SetLayeredWindowAttributes(hdlRoot,0,(255*70)/100,LWA_ALPHA); return; } //+------------------------------------------------------------------+ //| この関数はハンドルグラフィックを取得します。| //| Функция получает хэндл графика| //+------------------------------------------------------------------+ int ChartWindowsHandle(long chart_ID) { //--- プロパティ値を取得するための変数を準備する。 //--- подготовим переменную для получения значения свойства long result=-1; //--- エラー値をリセットする //--- сбросим значение ошибки ResetLastError(); //--- プロパティ値を受け取る //--- получим значение свойства if(!ChartGetInteger(chart_ID,CHART_WINDOW_HANDLE,0,result)) { //--- エキスパートジャーナルにエラーメッセージを表示する。 //--- выведем соообщение об ошибке в журнал "Эксперты". Print(__FUNCTION__+", Error Code = ",GetLastError()); } //--- チャート・プロパティの値を返す。 //--- вернем значение свойства графика return((int)result); } //+------------------------------------------------------------------+ 123 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
バージョン変更:
バージョン1.20: チャートに再参加する際、ターミナルが再び不透明になる。
現在、バージョン1.2がモデレーションのために送信されています。
変更点
Version 1.20: スケジュールに再アクセスすると、ターミナルが不透明になる。
Версия 1.10: Поддержка Windows XP 32-bit.
あなたはすべてを台無しにしてしまった。
あなたは、32と64のハンドル/ポインタのために、DLL関数を呼び出す2つのバリエーションを作らなければなりませんでした。
例
barabashkakvn:
バージョン1.10: Windows XP 32-bitをサポート。
あなたはすべてを台無しにしてしまった。
32と64のハンドル/ポインタ用にDLL関数を呼び出す2つのバリエーションを作らなければなりませんでした。
例
MT5のビルド900または910では、DLLを呼び出すメカニズムが壊れている疑いがあります。サービスデスク #976227の アプリケーション。 クラッシュはこれに関連しているかもしれません。開発者の皆さん、そこを見てください。
変更点
バージョン1.20: スケジュールに再アクセスすると、ターミナルが不透明に なる。
バージョン1.20