Скачать MetaTrader 5

Как реализуется запрет торговли экспертами со стороны брокера, способы обхода? Есть ли автокликеры?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alexander Belozerov
132
Alexander Belozerov  

Есть идея 1) разработать совместно с деловым партнером (его стратегия тех. анализа, мое программирование) торгового робота/эксперта по бинарным опционам (БО) на платформе MetaTrader4. Сейчас на стадии доработки (т. е. торгует, но надо дописать критерии, чтобы повысить процент выигрышных сделок), 2) а затем запустить этот эксперт в т. ч. торговать на одном конкурсном счете (пока конкурс не стартовал, но до начала надеюсь, успеем) для саморекламы.

Проблема: у брокера только для конкурсного счета запрещена работа экспертов (хотя для собственной разработки эксперта мне лично считать это нарушением трудно); в принципе запрос "if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))" даст нежеланный для меня результат. Проверить опять-таки не реально сейчас, т. к. конкурс не стартовал, интересно мнение тех, кто сталкивался, как вообще реализован этот запрет? В принципе не проблема прописать в коде интервал между операциями не менее минуты, и случайную паузу от 2 до 15 секунд сделать, т. к. сделки по БО открываются в момент возникновения новой свечи, а также MagicNumber=0 поставить, вопрос в том, а поможет ли это? Или все-таки придется запускать 2 терминала для конкурсного и неконкурсного счета, при этом смешно, конечно, будет тупо дублировать сделки своими ручками.

Есть ли какие-либо работающие автокликеры для такого случая или др. пути обхода? Нужно в случае автокликера открывать в др. терминале MetaTrader4 по стандартной кнопке "новый ордер" ордер, где поле ввода "комментарий" будет заполнено нужным текстом, а также само собой выбирать символ и объем при рыночном исполнении.

P.S. С брокерами, у которых для неконкурсных счетов запрещена торговля экспертами, я не сталкивался, т. к. зачем они мне нужны

 

Maxim Dmitrievsky
19144
Maxim Dmitrievsky  
Alexander Belozerov:

Есть идея 1) разработать совместно с деловым партнером (его стратегия тех. анализа, мое программирование) торгового робота/эксперта по бинарным опционам (БО) на платформе MetaTrader4. Сейчас на стадии доработки (т. е. торгует, но надо дописать критерии, чтобы повысить процент выигрышных сделок), 2) а затем запустить этот эксперт в т. ч. торговать на одном конкурсном счете (пока конкурс не стартовал, но до начала надеюсь, успеем) для саморекламы.

Проблема: у брокера только для конкурсного счета запрещена работа экспертов (хотя для собственной разработки эксперта мне лично считать это нарушением трудно); в принципе запрос "if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))" даст нежеланный для меня результат. Проверить опять-таки не реально сейчас, т. к. конкурс не стартовал, интересно мнение тех, кто сталкивался, как вообще реализован этот запрет? В принципе не проблема прописать в коде интервал между операциями не менее минуты, и случайную паузу от 2 до 15 секунд сделать, т. к. сделки по БО открываются в момент возникновения новой свечи, а также MagicNumber=0 поставить, вопрос в том, а поможет ли это? Или все-таки придется запускать 2 терминала для конкурсного и неконкурсного счета, при этом смешно, конечно, будет тупо дублировать сделки своими ручками.

Есть ли какие-либо работающие автокликеры для такого случая или др. пути обхода? Нужно в случае автокликера открывать в др. терминале MetaTrader4 по стандартной кнопке "новый ордер" ордер, где поле ввода "комментарий" будет заполнено нужным текстом, а также само собой выбирать символ и объем при рыночном исполнении.

P.S. С брокерами, у которых для неконкурсных счетов запрещена торговля экспертами, я не сталкивался, т. к. зачем они мне нужны

 

если есть желание - можем поработаь по автокликеру, бесплатных нет нигде, нужно кодить самим, у меня есть опыт под мт5. В личку, если что.
Alexander Belozerov
132
Alexander Belozerov  
Maxim Dmitrievsky:
если есть желание - можем поработаь по автокликеру, бесплатных нет нигде, нужно кодить самим, у меня есть опыт под мт5. В личку, если что.
Понятно, благодарю за ответ :-) Заморочиться созданием автокликера такого я, конечно, могу, но пока вопрос успеть до начала конкурса, а из Вашего ответа я понял, что шансов успеть мало. Если в будущем созреет желание реализовать автокликер для БО на web-платформах, вероятно, я вспомню про Ваше предложение, но пока проектов хватает и без этого, если честно. Увидим в общем ;-)
Vitalie Postolache
12441
Vitalie Postolache  
Alexander Belozerov:
Понятно, благодарю за ответ :-) Заморочиться созданием автокликера такого я, конечно, могу, но пока вопрос успеть до начала конкурса, а из Вашего ответа я понял, что шансов успеть мало. Если в будущем созреет желание реализовать автокликер для БО на web-платформах, вероятно, я вспомню про Ваше предложение, но пока проектов хватает и без этого, если честно. Увидим в общем ;-)

Проще найти конкурс, где автоторговля разрешена и не заморачиваться.

А лучше вообще не заморачиваться с конкурсами. Халявы нет. 

Yerlan Imangeldinov
885
Yerlan Imangeldinov  
Vitalie Postolache:

Проще найти конкурс, где автоторговля разрешена и не заморачиваться.

А лучше вообще не заморачиваться с конкурсами. Халявы нет. 

Есть торгую вывожу )) конечно не то что было 2007-2010 годах, но даренному коню в зубы не смотрят. 
Alexander Belozerov
132
Alexander Belozerov  
Vitalie Postolache:

Проще найти конкурс, где автоторговля разрешена и не заморачиваться.

А лучше вообще не заморачиваться с конкурсами. Халявы нет. 

Да я не спорю, что подводные камни есть, тут цель скорее самореклама, но это отдельная тема всё.

 

Вообще возникает вот такой интересный вопрос: правильно ли я понимаю, что брокер не видит, что у меня советник на графике висит и т. п.?

Т. е. делаю реализацию:

if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
{
/*работает автокликер*/
}
else OrderSend(/*как обычно*/);

В принципе, если меня заверят, что фокус такой прокатит, завтра-послезавтра выложу здесь какой я автокликер реализовал, пока-сразу не буду, т. к. надо еще проанализировать его на предмет буду ли дополнять.

Alexey Volchanskiy
21956
Alexey Volchanskiy  
Alexander Belozerov:

Да я не спорю, что подводные камни есть, тут цель скорее самореклама, но это отдельная тема всё.

 

Вообще возникает вот такой интересный вопрос: правильно ли я понимаю, что брокер не видит, что у меня советник на графике висит и т. п.?

Т. е. делаю реализацию:

if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
{
/*работает автокликер*/
}
else OrderSend(/*как обычно*/);

В принципе, если меня заверят, что фокус такой прокатит, завтра-послезавтра выложу здесь какой я автокликер реализовал, пока-сразу не буду, т. к. надо еще проанализировать его на предмет буду ли дополнять.

Советников брокер не видит, он видит, как выставлены ордера через OrderSend, руками или сов.
Alexander Belozerov
132
Alexander Belozerov  
Alexey Volchanskiy:
Советников брокер не видит, он видит, как выставлены ордера через OrderSend, руками или сов.

OK, благодарю за ответ, а то я решил спросить, они мне заявили, что советники категорически нельзя использовать совсем никак xD

В общем реализация собственного автокликера, если кому пригодится у меня будет вот такая:

1. В файле MQ4

#import "MT4-AB-AddCLRLib.dll"         //имя моей DLL
   void SendKeysDLL(string sCommand);
   void GetMT4ForegroundWindow();
#import

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Далее перед вызовом функции OrderSend:
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
   {
      GetMT4ForegroundWindow();
      SendKeysDLL("{F9}");                                                          //Press Button "New Order"
      Sleep(250);
      GetMT4ForegroundWindow();
      SendKeysDLL("{TAB}");                                                         //GoTo Volume
      SendKeysDLL(DoubleToString(GetOrderVolume(), 2));                             //Edit Volume
      SendKeysDLL("{TAB}");                                                         //GoTo SL
      SendKeysDLL("{TAB}");                                                         //GoTo TP
      SendKeysDLL("{TAB}");                                                         //GoTo Comment
      SendKeysDLL(GetComment());                                                    //Edit Comment
      SendKeysDLL("{TAB}");                                                         //GoTo Type
      SendKeysDLL("{TAB}");                                                         //GoTo Sell Button
      if(iOrderType==OP_BUY)
         SendKeysDLL("{TAB}");                                                      //GoTo Buy Button
      SendKeysDLL(" ");                                                             //Press Sell or Buy Button
      SendKeysDLL("%{F4}");                                                         //Close "New Order" Window
      return 1;
   }
   else
   {
      //реализация функции OrderSend как обычно
   }

 2. В файле MT4-AB-AddCLRLib.cpp, где MT4-AB-AddCLRLib - имя моей DLL

#include "stdafx.h"

#include <stdio.h>
#include <Tchar.h>

#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>

using namespace System;
using namespace System::Runtime::InteropServices;
using namespace System::Drawing;
using namespace System::Windows::Forms;

HWND hWndForWork;

extern "C" __declspec(dllexport) void __stdcall SendKeysDLL(wchar_t cCommand[])
{
        SetForegroundWindow(hWndForWork);
        SendKeys::SendWait(gcnew String(cCommand));
}

extern "C" __declspec(dllexport) void __stdcall GetMT4ForegroundWindow()
{
        hWndForWork=GetForegroundWindow();
}

Для создания DLL можно взять за основу статью https://www.mql5.com/ru/articles/18, но в свойствах проекта следует включить поддержу среды CLR (см. рис.). В моем случае использовалась MS Visual Studio 2008, т. к. для своих целей не вижу смысла что-то более тяжеловесное вроде Visual Studio 2013 и новее ставить. Не спорю, конечно, что пример автокликера не идеальный, но для поставленной в теме цели вполне сгодится, особенно при запуске в виртуальной машине или на отдельном компьютере с минимумом софта.

 Включите CLR

Alexey Volchanskiy
21956
Alexey Volchanskiy  
Alexander Belozerov:

OK, благодарю за ответ, а то я решил спросить, они мне заявили, что советники категорически нельзя использовать совсем никак xD

В общем реализация собственного автокликера, если кому пригодится у меня будет вот такая:


Попробуйте пакет AutoIT, там для кликера все реализовано.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий