スクリプトウィンドウの位置 - 開始点の変更
ページ 1 - 323 123 最終最終
Results 1 to 10 of 23

Thread: スクリプトウィンドウの位置 - 開始点の変更

  1. #1
    こんにちは、私はsangmaneのeasyorderスクリプトを使って取引しています。

    起動後にウィンドウを表示する位置を変更するのを手伝ってくれる人はいますか。

    私はそれが右隅に欲しい
    左から横3390ピクセル
    上から縦140ピクセル


    挿入されたコード#property copyright Copyright©2011、sangmane。 #property link#91; [email protected]#93; [email protected]#91;email#93; #import EasyOrder.dll int EasyOrder(int hwnd); int start(){string obj;} int i; int hwnd = WindowHandle(Symbol()、0); if(hwnd == 0){return(0); int ret = EasyOrder(hwnd); if(retlt; 0){警告(DLL機能は失敗しました!); (0)を返します。 if(ret == 1){ModifyOrder();} } else {(i = ObjectsTotal() - 1; igt; = 0; i--){obj = ObjectName(i); if(StringFind(obj、EASYORDER、0)gt; = 0)ObjectDelete(obj); InitLines(); (0)を返します。 }

  2. #2
    ウィンドウの位置は変わらない

  3. #3
    それとも誰かが私にチュートリアルを見せることができますか?君たちありがとう

  4. #4
    こんにちは、私はEasyOrder dllを知りません。私が理解すれば、それは確かにあなたがパラメータとして渡しているウィンドウ(hwnd)の子であるそれ自身のウィンドウを作成します。あなたがEasyOrderによって作成されたその子ウィンドウのハンドルを持っていないのであれば、あなたはそれを自分で見つける必要があります詳細に入ることなく、あなたのスクリプトをインポートする必要があるGW_CHILD);そして、WINAPI MoveWindow(_In_HWND hWnd、_In_int X、_In_ int nWidth、_In_ int nHeight、_In_ BOOL bRepaint)。

  5. #5
    これは元のコードです。挿入コード#property copyright Copyright©2011、sangmane。 #property link [email protected] #import EasyOrder.dll int EasyOrder(int hwnd); int start(){string obj;} int i; int hwnd = WindowHandle(Symbol()、0); if(hwnd == 0){return(0); int ret = EasyOrder(hwnd); if(retlt; 0){警告(DLL機能は失敗しました!); (0)を返します。 if(ret == 1){ModifyOrder();} } else {(i = ObjectsTotal() - 1; igt; = 0; i--){obj = ObjectName(i); if(StringFind(obj、EASYORDER、0)gt; = 0)ObjectDelete(obj); InitLines(); (0)を返します。/ -------------------------------------------------- -------------------- void InitLines(){int i、pos、ticket;};ブデルテ文字列obj; (i = ObjectsTotal() - 1; igt; = 0; i--){obj = ObjectName(i); if(StringFind(obj、EASYORDER_MOD)gt; = 0){bdelete = True; pos = StringFind(obj、#、1); (poslt; 0)が続く場合ticket = StrToDouble(StringSubstr(obj、pos 1、StringLen(obj)-pos-1)); if(OrderSelect(ticket、SELECT_BY_TICKET)){if(OrderCloseTime()== 0)bdelete = false; if(bdelete)ObjectDelete(obj);二重sl、tp。 for(i = 0; ilt; OrdersTotal(); i ){OrderSelect(i、SELECT_BY_POS); if(OrderSymbol()== Symbol()){ticket = OrderTicket(); obj = EASYORDER_MOD_SL _# チケット。 sl = OrderStopLoss(); tp = OrderTakeProfit(); if(sl == 0)sl = OrderOpenPrice(); if(tp == 0)tp = OrderOpenPrice(); if(ObjectFind(obj)gt; = 0)ObjectMove(obj、0、時間#91; 0#93;、sl);そうでなければDrawLine(SL、ticket、sl); obj = EASYORDER_MOD_TP _# チケット。 if(ObjectFind(obj)gt; = 0)ObjectMove(obj、0、時間#91; 0#93;、tp);そうでなければDrawLine(TP、ticket、tp); if(OrderType()gt; OP_SELL){obj = EASYORDER_MOD_PRICE _# チケット; if(ObjectFind(obj)gt; = 0)ObjectMove(obj、0、時間#91; 0#93;、OrderOpenPrice());そうでなければDrawLine(PRICE、ticket、OrderOpenPrice()); void ModifyOrder(){string obj;}}}}} int i、チケット。ダブルsl、価格、tp。ダブルOSL、OTP。 for(i = 0; ilt; OrdersTotal(); i ){OrderSelect(i、SELECT_BY_POS); if(OrderSymbol()== Symbol()){ticket = OrderTicket(); sl = 0。価格= 0。 tp = 0。 obj = EASYORDER_MOD_SL _# チケット。 osl = OrderStopLoss(); if(osl == 0)osl = OrderOpenPrice(); otp = OrderStopLoss(); if(otp == 0)otp = OrderOpenPrice(); if(ObjectFind(obj)gt; = 0){if(MathAbs(ObjectGet(obj、OBJPROP_PRICE1)-osl)gt; Point)sl = ObjectGet(obj、OBJPROP_PRICE1); obj= EASYORDER_MOD_TP _# チケット。 if(ObjectFind(obj)gt; = 0){if(MathAbs(ObjectGet(obj、OBJPROP_PRICE1)-otp)gt; Point)tp = ObjectGet(obj、OBJPROP_PRICE1); if(OrderType()gt; OP_SELL){obj = EASYORDER_MOD_PRICE _# チケット; if(ObjectFind(obj)gt; = 0){if(MathAbs(ObjectGet(obj、OBJPROP_PRICE1)-OrderOpenPrice())gt; Point)price = ObjectGet(obj、OBJPROP_PRICE1); if(sl tp pricegt; 0){if(sl == 0)sl = OrderStopLoss(); if(tp == 0)tp = OrderTakeProfit(); if(price == 0)price = OrderOpenPrice(); OrderModify(チケット、価格、sl、tp、0、CLR_NONE); void DrawLine(文字列型、intチケット、ダブルレベル){文字列obj = EASYORDER_MOD_ type _# ticket;}カラーclr =赤。 if(type == PRICE)clr = LimeGreen;/そうでなければ(type == TP)clr = Blue; ObjectCreate(obj、OBJ_HLINE、0、Time#91; 0#93;、level、0,0); ObjectSet(obj、OBJPROP_COLOR、clr)。 ObjectSet(obj、OBJPROP_STYLE、STYLE_DASHDOT);私はコードを挿入するとき彼らは私に2つのエラーを表示します。

  6. #6
    そのEasyOrderウィンドウのスクリーンショットを画面に投稿できますか?

  7. #7
    確かに、それはチャートにスクリプトを適用した後にウィンドウが表示される場所である、私は別の場所にしたいX = 3390、Y = 140(二重スクリーンの解像度)それが重要ならスクリプトは.dllデータを含みます

  8. #8
    さて、これがどうやって行くのか。 1.元のスクリプトから始めます。以前に追加したものを削除します。 2.ファイルの先頭に次の行を追加します。挿入されたコード#include lt; WinUser32.mqhgt; 3.簡単な注文の作成と戻り値の確認の後、次のように2つの呼び出しを追加します。挿入されたコード//スクリプト内でこの行を削除します。int ret = EasyOrder(hwnd); if(retlt; 0){警告(DLL機能は失敗しました!); (0)を返します。 int hWnd = FindWindowW(NULL、Easy Order);/次の行を追加します。 if(hWnd!= NULL){SetWindowPos(hWnd、0、3390、140、0、0、1);私はそれが仕事をするべきだと思います。

  9. #9
    私はあなたを助けることを試みることができますが、私はあなたのコードとそのDLLが必要です。

  10. #10
    1すばらしい添付ファイル、ありがとうございました
    https://www.forexgroove.com/attachme...1946556993.rar

投稿権限

  • Youma新しいスレッドを投稿しない
  • Youmaは返信しない
  • あなたは添付ファイルを投稿しないかもしれない
  • Youma Notedityourposts
  •  
  • スマイリーはオンです
  • スマイリーはオンです
  • [IMG]コードがオンです
  • [VIDEO]コードがオンです
  • HTMLコードがオフです
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.