Obiekty w MT4 .... jakies pomysły ??

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
reptile
Maniak
Maniak
Posty: 2799
Rejestracja: 13 gru 2008, 13:48

Nieprzeczytany post autor: reptile »

Tig3r pisze:Nie, z kodu nie zmienisz templata ani nie zapiszesz.
zamień plik_test.tpl na plik_test.xml (xml)

Żeby nie zmieniał się TF lub inne można by odseparować znacznik <indicator> od reszty.

Da się jakoś sprawdzić, jakie obiekty są na liscie "Objects" (ctr+b) z poziomu EA? Bo nic mi nie świta. Tu widzę na razie problem.

Hook .dll ala snapch window dla windows może dałoby się wymyślić (dla auto odświeżania), a indyk pobierałby nazwę .tpl i podawał do dll.

Wydaje się skomplikowane.. :|

Najlepszy by był uniwersalny tpl jak zmienie na 1 okienku to 2 sie dostosowuje i odwrotnie. :D
R.E.P.T.I.L.E. - Robotic Electronic Person Trained for Infiltration and Logical Exploration (off-line,only e-mail)

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

Da się jakoś sprawdzić, jakie obiekty są na liscie "Objects" (ctr+b) z poziomu EA? Bo nic mi nie świta.
Bez problemu.

Kombinujesz jak koń pod górę :D

Zapisać templa nie byłoby problemem, ale już uruchomienie/odświerzenie go na wykresie - nie da się.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
reptile
Maniak
Maniak
Posty: 2799
Rejestracja: 13 gru 2008, 13:48

Nieprzeczytany post autor: reptile »

Tig3r pisze:Kombinujesz jak koń pod górę Very Happy
opatentuje i sprzedam :mrgreen:
Tig3r pisze:ale już uruchomienie/odświerzenie go na wykresie - nie da się.
Każde okienko w systemie ma swoje id, można by zbadać kwestię jak to traktuje mt4 w swoich instancjach.. może jest to usystematyzowane.
Może jest gdzies taki kodzik OS lub sam kodzik, w końcu ludziska robią takie rzeczy .. np do hackownia hasełek dla input :roll:
Grunt to mieć rozwiązania na problemy :D
R.E.P.T.I.L.E. - Robotic Electronic Person Trained for Infiltration and Logical Exploration (off-line,only e-mail)

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

tak na szybkiego pisany kodzik do wywolania tpl.....

powinien dzialac ... przynajmniej u mnie dziala :)

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                                    tpl_test.mq4 |
//|                                                    Andrzej Pierz |
//|                                          http://forex-service.pl |
//+------------------------------------------------------------------+
#property copyright "Andrzej Pierz"
#property link      "http://forex-service.pl"


#import "user32.dll"
   int      PostMessageA(int hWnd,int Msg,int wParam,int lParam);
#import

int hwnd;

void start()
{
   string name = "1";// na jaka litere zaczyna sie nazwa tpl
   int    pos  = 3;//jezeli jest wiecej niz jedna nazwa zaczynajaca sie na ta sama litere to ktora to z kolei 
   hwnd = WindowHandle(Symbol(),Period());
   if (hwnd<=0) return;
   rpm();
   key(code("t"));
   key(code("t"));
   key(0x27);//right arrow
   for (int i=1;i<=pos;i++) key(code(name));
   key(0x0D);//enter
}

int key(int message)
{
   PostMessageA(hwnd,0x100,message,0);
   Sleep(100);
}

int rpm()
{
   PostMessageA(hwnd,0x204,0,0);
   Sleep(100);
}

int code(string c)
{
    if (c=="0") return(0x30);
    if (c=="1") return(0x31);
    if (c=="2") return(0x32);
    if (c=="3") return(0x33);
    if (c=="4") return(0x34);
    if (c=="5") return(0x35);
    if (c=="6") return(0x36);
    if (c=="7") return(0x37);
    if (c=="8") return(0x38);
    if (c=="9") return(0x39);
    if (c=="a") return(0x41);
    if (c=="b") return(0x42);
    if (c=="c") return(0x43);
    if (c=="d") return(0x44);
    if (c=="e") return(0x45);
    if (c=="f") return(0x46);
    if (c=="g") return(0x47);
    if (c=="h") return(0x48);
    if (c=="i") return(0x49);
    if (c=="j") return(0x4A);
    if (c=="k") return(0x4B);
    if (c=="l") return(0x4C);
    if (c=="m") return(0x4D);
    if (c=="n") return(0x4E);
    if (c=="o") return(0x4F);
    if (c=="p") return(0x50);
    if (c=="q") return(0x51);
    if (c=="r") return(0x52);
    if (c=="s") return(0x53);
    if (c=="t") return(0x54);
    if (c=="u") return(0x55);
    if (c=="v") return(0x56);
    if (c=="w") return(0x57);
    if (c=="x") return(0x58);
    if (c=="y") return(0x59);
    if (c=="z") return(0x5A);
 
}
pozdrawiam
Andrzej Pierz

Awatar użytkownika
reptile
Maniak
Maniak
Posty: 2799
Rejestracja: 13 gru 2008, 13:48

Nieprzeczytany post autor: reptile »

Niezłe... :D
Tylko nie wolno myszką ruszać,bo może skoczyć hehe - dać to do skryptów bo ea otwierzy n okienek :lol:
To jest właśnie wada.. "hook" na przycisk-funkcję bezpośredni/ą w mt4 byłby lepszy .. acz tą metodą można też zarządzać różnymi ea.. choć trochę to może być niestabilne :roll:

Dodano po 23 minutach:

Kod: Zaznacz cały

Sleep(0); 
okienka też widać.. szkoda, że nie można dać - :mrgreen:

Dodano po 30 minutach:

Swoją drogą, czy to problem zrobić "Coomand" funkcję komendy zamiast akcji klawiszy ?
Czy konieczne jest inject ?
http://www.codeproject.com/KB/shell/IeBarLib.aspx

wiem wiem.. kombinuje jak zawsze :lol:
R.E.P.T.I.L.E. - Robotic Electronic Person Trained for Infiltration and Logical Exploration (off-line,only e-mail)

crn
Gaduła
Gaduła
Posty: 117
Rejestracja: 17 mar 2009, 22:07

Nieprzeczytany post autor: crn »

Moznaby napisac skrypt, ktory z TotalWindow()-1 pobiera parametry wsyzystkich obiektow, a pozniej przepisuje te parametry do obiektow w innym oknie.

Tutaj zmiana ilosci obiektow musialby byc zawarta w kodzie.

Jezeli obiekty sa tego samego typu, to skrypt moglby pobierac do tablicy wartosci obiektow z TotalWindows()-1, a pozniej przez 2 zagneizdzone petle for ustawiac je i wypisywac w innych oknach.

Pozdrawiam

ODPOWIEDZ