Подскажите что и где нужно добавить в код, чтобы индикатор обновлялся на каждом тике?
Сейчас такая ситуация, устанавливаю индикатор, он работает, а стрелки не рисует, через какое то время обновляю график, стрелки появляются. Надо сделать так, чтобы они появлялись именно в то время, когда это соответствует параметрам.
Добрый день.Помогите пожалуйста победить советник.Все работает,но,мартингейла никак не могу заставить работать,что только не делал.В нынешнем варианте он выглядит так-
MQL-Код:
voidOnTick()
{
datetime EaStartTime = StringToTime(StartTime); // время начала работы советникаdatetime EaEndTime = StringToTime(EndTime); // время окончания работы советникаdatetime CurrTime = TimeCurrent(); // это если нужно взять время терминалаif(CurrTime<EaStartTime || CurrTime>=EaEndTime)
return; // если еще не время торговать - выход
{
MacdCurrent=iMACD(NULL,0,InpFastEMA,InpSlowEMA,InpSignalSMA,Macd_Applied_Price,MODE_MAIN,0);
SignalCurrent=iMACD(NULL,0,InpFastEMA,InpSlowEMA,InpSignalSMA,Macd_Applied_Price,MODE_SIGNAL,0);
SignalMAPrevious=iMA(NULL,0,InpMAPeriod,InpMAShift,InpMAMethod,MA_Applied_Price,1);
SignalMAThis=iMA(NULL,0,InpMAPeriod,InpMAShift,InpMAMethod,MA_Applied_Price,0);
SignalParabolic=iSAR(NULL,0,InpSARStep,InpSARMaximum,0);
ZZThis=iCustom(NULL,0,"ZigZag",InpDepth,InpDeviation,InpBackstep,0,0);
ZZPrevious=iCustom(NULL,0,"ZigZag",InpDepth,InpDeviation,InpBackstep,0,3);
if(CountTrades()==0) CheckForOpen();
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void CheckForOpen()
{
//-----Ставим ордер на покупку.if(SignalCurrent<MacdCurrent && SignalMAPrevious<SignalMAThis && Ask>SignalParabolic && ZZThis>ZZPrevious)
{
ticket=OrderSend(NULL,OP_BUY,Lots,Ask,slippage,0,0,"15",magic,0,Blue);
if(ticket>0)
return;
}
//-----Ставим ордер на продажу.if(SignalCurrent>MacdCurrent && SignalMAPrevious>SignalMAThis && Bid<SignalParabolic && ZZThis<ZZPrevious)
{
ticket=OrderSend(NULL,OP_SELL,Lots,Bid,slippage,0,0,"15",magic,0,Red);
if(ticket>0)
return;
}
}
//+------------------------------------------------------------------+int CountTrades()
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+double ModLots()
{
double lot;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if((OrderMagicNumber()==magic) && (OrderSymbol()==Symbol()))
{
if(OrderProfit()<0)
{lot=OrderLots()*LotMarti; break;}
else { lot=Lots; break;}
}
}
return(0);
}
Nickolay72: Добрый день.Помогите пожалуйста победить советник.Все работает,но,мартингейла никак не могу заставить работать,что только не делал.В нынешнем варианте он выглядит так-
MQL-Код:
Что в нем не так????
Что-то не увидел беглым взглядом где вы используете ф-цию ModLots() для подсчёта лота открываемой позиции.
Купил советник. Подскажите, как можно проверить- посылает или нет данный советник отчеты о работе разработчику.
Какой оператор надо поискать в кодах советника?
Если Вы купили советник в Маркете, или если купленный советник не использует сторонние dll и написан на чистом MQL, то единственная возможность отослать собранную информацию разработчику - это использование функции WebRequest. Что бы ее использовать, необходимо разрешить советнику доступ к определенным сайтам. Проверьте, стоит ли такое разрешение у советника купленного Вами. Если стоит - то конкретно на какой сайт оно указывает. Если на сайт разработчика, то вероятность утечки информации не исключена.
Karputov Vladimir: А человек не указал, где он купил. Тем более у него есть код - значит точно не через Маркет. Поэтому, как вариант, нужно проверить на вызовы dll.
Наличие исходника, я как то упустил из виду. В маркете продукты распространяются без исходников. Тогда проблем нет. Даже если и есть что то такое то можно убрать это из кода.
Всем привет!
Подскажите что и где нужно добавить в код, чтобы индикатор обновлялся на каждом тике?
Сейчас такая ситуация, устанавливаю индикатор, он работает, а стрелки не рисует, через какое то время обновляю график, стрелки появляются. Надо сделать так, чтобы они появлялись именно в то время, когда это соответствует параметрам.
ДЕКОМПИЛИРОВАННЫЙ КОД УДАЛЁН.
Добрый день.Помогите пожалуйста победить советник.Все работает,но,мартингейла никак не могу заставить работать,что только не делал.В нынешнем варианте он выглядит так-
УРА заработала, только теперь иногда 2 минуса проскакивает, но это мелочи...))
Купил советник. Подскажите, как можно проверить- посылает или нет данный советник отчеты о работе разработчику.
Какой оператор надо поискать в кодах советника?
Купил советник. Подскажите, как можно проверить- посылает или нет данный советник отчеты о работе разработчику.
Какой оператор надо поискать в кодах советника?
Поищите код на наличие вызовов dll.
Купил советник. Подскажите, как можно проверить- посылает или нет данный советник отчеты о работе разработчику.
Какой оператор надо поискать в кодах советника?
Насколько я знаю в маркете запрещено продавать советники использующее DLL
А человек не указал, где он купил. Тем более у него есть код - значит точно не через Маркет. Поэтому, как вариант, нужно проверить на вызовы dll.