Медвежий фокстрот
Заблокирован
Ещё раз спасибо за откровенные ответы. Тогда вы мне хотябы скажите какой ДЦ мне выбрать если я эту систему изучу и решусь.
Нужно узнать, представительства каких ДЦ есть в ближайшем областном городе. Позвонить туда и узнать есть ли бесплатные вводные курсы. Если есть записаться и прослушать с конспектированием. Это даст хотя бы понимание терминов и начальный тех анализ. Дальше открывай демо-счёт на любом ДЦ и тренируйся торговать. В интернете куча книг от биржевых гуру. То же не помешает ознакомиться.Ещё раз спасибо за откровенные ответы. Тогда вы мне хотябы скажите какой ДЦ мне выбрать если я эту систему изучу и решусь.
Ещё раз спасибо за откровенные ответы. Тогда вы мне хотябы скажите какой ДЦ мне выбрать если я эту систему изучу и решусь.
В какую ветку обратиться с просьбой взлома платного советника, привязанного к одному счету?
Я пишу в основном на MQL4. MQL5 мало кого интересует. Но можно и на нём.Кто в каких терминалах на MQ(4/5) пишет? попробовал простенький код по FreshForex терминал, почему-то алерты не выводятся.
Может у кого-нить есть просто код чтобы понять что к чему?
И еще кто-то межпроцессное взаимодействие делал?
Программы на языках mql работают в среде терминала. Практически они запечатаны в его функционал. А терминал взаимодействует только с сервером. Терминал не умеет взаимодействовать с другим терминалом, а значит и программы на mql. Единственный способ выбраться из терминала, это использовать библиотеки функций на сторонних языках для расширения функционала. Если хотите связывать программы на mql между собой, кроме mql учите ещё какой нибудь язык для написания функций взаимодействия. Или хотя бы учитесь использовать готовые функции из dll.А по поводу межпроцессного взаимодействия? Почему MQL 5 мало кого интересует? мельком посмотрел, в нем хотя бы отладка есть.
И еще вопрос Версия компилятора mq зависит от терминала? или каким либо образом в терминале в MetaTraider можно и под mq4 и mq5 писать.
Никаких проблем. В mql нормально импортируются функции из dll. А значит вообще никаких ограничений нет.Спасибо за развернутый ответ, я mq не знаю, но знаю и умею программировать на C# и C++ (boost, STL). Из технологий это сокеты, потоки, UI(C#), IPC(C#:Remoting, WCF) и многое другое, но это тут врядли поможет
Идея такая что сделать некоторый мост, между терминалом и своим софтом, чтобы не тратить время на убогий mq.
MQ чистой воды Си. Все константы заимпортированы с форточки и потом компилированный бинарник загружается в терминале.
Я использую MT4, не важно какого ДЦ. В настоящий момент билд 432.А можете посоветовать терминал, в т.ч. версию в котором вы пишите. У меня стоит FreshForex Terminal, и в нем по alert ничего не происходит.
Пример кода нарыл в и-нете.
По идее при запуске должно выскакивать окно, но его нет.
//--- input parameters
extern double Lot=0.1;
extern int TP=22;
extern int SL=20;
extern double K_Martin=2;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double oop, ocp, osl, otp, ol;
int Magic = 0;
int closetime= 0,lastorder=0, tip=0;
for(int i=0;i<OrdersHistoryTotal();i++) /* Цикл перебора ордер*/
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue; // Выбираем ордер из истории.
if(OrderMagicNumber()!=Magic) continue;
if(closetime<OrderCloseTime())
{
closetime = OrderCloseTime();
lastorder = OrderTicket();
tip=OrderType();
ol=OrderLots();
}
}
OrderSelect(lastorder,SELECT_BY_TICKET,MODE_HISTORY);
ocp= (OrderClosePrice());
oop= (OrderOpenPrice());
osl= (OrderStopLoss());
otp= (OrderTakeProfit());
ol= (OrderLots());
Print ("ОРДЕР №--[",OrderTicket(),"-",OrderLots(),"]--","цена открытия ОРДЕРА--[",OrderOpenPrice(),"]");
Print ("ОРДЕР №--[",OrderTicket(),"-",OrderLots(),"]--","цена закрытия ОРДЕРА--[",OrderClosePrice(),"]");
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==false )
{
if(tip == OP_SELL && osl==ocp) //Ордер SELL закрылся по по SL значит покупаем
{
OrderSend(Symbol(),OP_BUY,ol*K_Martin,Ask,0,Ask-SL*Point,Ask+TP*Point,0,0,0,Blue); /*Если выполняется условие то покупаем*/
}
if(tip == OP_SELL && otp==ocp) //Ордер SELL закрылся по по TP значит продаем
{
OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Bid+SL*Point, Bid-TP*Point,0,0,0,Red); /*Если выполняется условие то продаем*/
}
if(tip == OP_BUY && osl==ocp) //Ордер BUY закрылся по SL значит продаем
{
OrderSend(Symbol(),OP_SELL,ol*K_Martin,Bid,0,Bid+SL*Point,Bid-TP*Point,0,0,0,Red); /*Если выполняется условие то продаем*/
}
if(tip == OP_BUY && otp==ocp) //Ордер BUY закрылся по по TP значит покупаем
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Ask-SL*Point,Ask+TP*Point,0,0,0,Blue); /*Если выполняется условие то покупаем*/
}
}
return(0);
}
Добрый день, уважаемые форумчане! Вопрос такой. Скорее к тем, разбирается в скриптах. Есть ли возможность сделать выставление отложенного ордера, например, на продажу ниже текущей цены(на покупку выше тек. цены)? А то пишет "Неверный S/L или T/P"...Или сервак такой ордер не обработает? Что посоветуете? Заранее благодарен.