Читать данные из чужого приложения , чтение котировок из одного терминала в другой , игра на разнице - Арбитраж.
. чуть позже опишу
давай, не томи, разные там хуки и прочее - очень хорошо с этим знаком на практике,
но беру за такие штуки дорого...
давай, не томи, разные там хуки и прочее - очень хорошо с этим знаком на практике,
но беру за такие штуки дорого...
// // YuraZ // DLL БИБЛИОТЕКА ДЛЯ ПОЛУЧЕНИЯ КОТИРОВОК С ТЕРМИНАЛА САКСОБАНК - ИСПОЛЬЗУЕТСЯ В АРБИТРАЖНОМ СОВЕТНИКЕ В МЕДЛЕННЫХ КУХОНЬКАХ // #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <stdlib.h> #include <stdio.h> #define MT4_EXPFUNC __declspec(dllexport) #pragma pack(push,1) struct MasInfo { double ask;//0 double bid;//0 }; #pragma pack(pop) BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) { switch(ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return(TRUE); } HWND FindHendlKey( HWND Current , char* findname ); HWND FindWindowNext( HWND Current , char* findname ); MT4_EXPFUNC int __stdcall GetAskBid( MasInfo *mi , char *sSym) { char a[] = "xxxxxxxxxx"; char ask[] = " "; char bid[] = " "; HWND hWseek; HWND hOsym; HWND hOsave; int len; hWseek = GetDesktopWindow(); HWND hOt = FindHendlKey( hWseek ,( char*) "Forex ордера"); // Ищем окно if ( hOt == 0 ) hOt = FindHendlKey( hWseek , ( char*) "Forex Orders"); if ( hOt == 0 ) return(0); beg: hWseek = FindWindowNext ( hOt , ( char*) "Forex ордера" ); // приложени Сксобанк hOsave = hOt; //--- hOsym = FindHendlKey( hOt , ( char*) "..."); hOsym = GetWindow( hOsym , GW_HWNDNEXT ); // ищем hOsym = GetWindow( hOsym , GW_HWNDNEXT ); // ищем len = SendMessage( hOsym , WM_GETTEXTLENGTH, 0 , 0 )+1; SendMessage( hOsym , WM_GETTEXT, len , (LPARAM) a ); if ( strncmp( (char*)sSym+3, a, 3 ) != 0 ) // xxxSSS { hOt = hWseek; if (hWseek == 0 ) return(0); goto beg; } hOsym = GetWindow( hOsym , GW_HWNDNEXT ); // ищем len = SendMessage( hOsym , WM_GETTEXTLENGTH, 0 , 0 )+1; SendMessage( hOsym , WM_GETTEXT, len , (LPARAM)a ); if ( strncmp( sSym, a, 3 ) != 0 ) { hOt = hWseek; if (hWseek == 0 ) return(0); goto beg; } // получаем BID и ASK HWND temp = GetWindow( hOt , GW_CHILD ); // ищем temp = GetWindow( temp , GW_CHILD ); // ищем temp = GetWindow( temp , GW_CHILD ); // ищем temp = GetWindow( temp , GW_CHILD ); // ищем спустились temp = GetWindow( temp , GW_HWNDNEXT ); // ищем спустились BID HWND hBID = temp; len = SendMessage( hBID , WM_GETTEXTLENGTH, 0 , 0 )+1; SendMessage( hBID , WM_GETTEXT, len , (LPARAM) bid ); int i; for ( i = 0; i <= len; i++) { if ( *(bid + i ) == ',' ) *(bid + i ) = '.'; } mi[0].bid = atof( bid ); temp = GetWindow( temp , GW_HWNDNEXT ); // ищем спустились Bid temp = GetWindow( temp , GW_HWNDNEXT ); // ищем спустились ASK HWND hASK = temp; len = SendMessage( hASK , WM_GETTEXTLENGTH, 0 , 0 )+1; SendMessage( hASK , WM_GETTEXT, len , (LPARAM) ask ); for ( i = 0; i <= len; i++) { if ( *(ask + i ) == ',' ) *(ask + i ) = '.'; } mi[0].ask = atof( ask ); return(1); } HWND FindHendlKey( HWND Current , char* findname ) { char p1[]= "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234"; HWND temp = GetWindow( Current , GW_CHILD ); // ищем while ( temp != NULL ) { GetWindowTextA( temp , (LPSTR) p1 , (int) strlen( (char*)findname)+1 ); if ( strcmp( (char*)p1, (char*) findname ) == 0 ) // проверим а не та ли это кнопка { return( temp ); // это то что мы ищем } HWND r = FindHendlKey( temp , findname ) ; // не она , обойдем ее дочерние объекты if ( r != NULL ) { return (r); // опс нашли дочку } temp = GetWindow( temp , GW_HWNDNEXT ); // проверяем следующий объект, дочерний } return (0); } // // искать на уровне нужное окно // HWND FindWindowNext( HWND Current , char* findname ) { char p1[]= "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234"; HWND temp = GetWindow( Current , GW_HWNDNEXT ); // ищем while ( temp != NULL ) { GetWindowTextA( temp , (LPSTR) p1 , (int) strlen( (char*)findname)+1 ); if ( strcmp( (char*)p1, (char*) findname ) == 0 ) // проверим а не та ли это кнопка { return( temp ); // это то что мы ищем } HWND r = FindHendlKey( temp , findname ) ; // значит не она , обойдем ее дочерние объекты if ( r != NULL ) { return (r); // опс нашли дочку } temp = GetWindow( temp , GW_HWNDNEXT ); // проверяем следующий объект, дочерний } return (0); }
арбитраж преследуется в любом брокере форекс, не только на кухнях.
На эту тему интересно поговорить , разобрав ее по полочкам.
Выяснив истинные причины преследований арбитража на форексе
и понять почему арбитраж допустим на фондовом рынке.
Интересно узнать разные мнения по этой теме.
На эту тему интересно поговорить , разобрав ее по полочкам.
Выяснив истинные причины преследований арбитража на форексе
и понять почему арбитраж допустим на фондовом рынке.
Интересно узнать разные мнения по этой теме.
Вы правда не понимаете, чем отличается дилинг от брокеража?
Давайте попробуем выяснить, что Вы имеете ввиду под "непониманием" . Из того что описано мной следует что я не понимаю разницу ?
Брокер фондовый живет с комиссий , ДЦ форекс живет далеко не только от спреда. ДЦ не выводя сделки на реальный форекс рынок , просто ждет когда клиент сольет
Опишите пожалуйста , свое видение чем отличается форекс дилинг от брокеража.
На эту тему интересно поговорить , разобрав ее по полочкам.
Выяснив истинные причины преследований арбитража на форексе
и понять почему арбитраж допустим на фондовом рынке.
Интересно узнать разные мнения по этой теме.
Давайте попробуем выяснить, что Вы имеете ввиду под "непониманием" . Из того что описано мной следует что я не понимаю разницу ?
Нет, скорее следует то, что вы делаете вид, что не понимаете разницу. Не очень понятна цель этой вашей провокации.
Нет, скорее следует то, что вы делаете вид, что не понимаете разницу. Не очень понятна цель этой вашей провокации.
Да где , в каком моем сообщении вы видите какую то провокацию.
Мне интересна тема.
Я написал, брокер живет с комиссий , дц форекс живет далеко не с комиссий.
Вы лучше опишите как вы понимаете разницу между брокеражом и форекс ДЦ.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день друзья по увлечению.
Достал из архива одну разработку 2009 г.
Стояла задача читать котировки Саксобанка и тут же на разнице ( арбитраж) входить в какой либо медленной кухоньке форекс.
В принципе работало чудесно, но арбитраж на кухнях преследуется если сделки ведут к успеху вас просто прижмут всеми известными способами,
к сравнению арбитраж на фондовом рынке совершенно не преследуется.
Очень даже неплохо выходило, но кухня через некоторое время принимала жесткие меры. Самые прикольные это отмена сделок.
На бирже это нормальная разрешенная стратегия!
Понятно что любой форексное казино , по сути это ООО Рога и Копыта , где хозяева получают от слива депозита.
На бирже ( имеется ввиду фоновый рынок) если вы сливаете , деньги уходят в реальный рынок а не на счета какого либо Остапа Бендера.
Более того , фондовые брокеры обожают арбитражников, поскольку те приносят самый высокий доход.
Выводы можете делать сами.
C учетом 2009 года, по тем временам арендовалась очень мощная машина, 16 ядер и 64ггб, интернет оптика скорость была дикая , где то на хребте интернета в германии.
запускался терминал саксобанка, запускался мт4 и небольшой скрипт вызывающий DLL которая зачитывала в быстром саксобанке котировки прямо из окошка.
Если котировка в саксе делала резкое движение , скрип на мт4 получив через DLL разницу ( дельта настраивалась ) делал вход по направлению сильного движения.
итак пример кода на Си++