Доработка ботов (советников, индикаторов) vol. 2

спасибо. ощущение, что перерисовка должна уменьшиться. почему то в тестере не тестируется индюк

Странно :disappointed: Посмотрел в тестере на м15: цена бежит, линии - рисуются, сигналы шлепаются. Скрин тестера делать лень ;)



Это все, конечно, замечательно, но предоставь код в формате mq4.

Не вопрос :)
 

Вложения

Последнее редактирование:
Добрый день! Подскажите по функции определения индекса бара, с которого необходимо производить перерасчет индикатора. Нужен перерасчет нулевого и первого бара.

int GetRecalcIndex(int& total, const int ratesTotal, const int prevCalculated)

{

total = ratesTotal - 1;

if (i_indBarsCount > 0 && i_indBarsCount < total)

total = MathMin(i_indBarsCount, total);

if (prevCalculated < ratesTotal - 1)

{

BuffersInitializeAll();

return (total);

}

return (MathMin(ratesTotal - prevCalculated, total));
 
Помогите подправить простой 3МА

Привет, люди, помогите подправить простой 3МА, он иногда сра3у несколько ордеров открывает по паре, иногда вообще не открывает хоть и есть сигнал,мохно его сделать бе3 SL/TР-сам буду,а просто локирующим? спасибо

//+------------------------------------------------------------------+
//| простой советник.mq4 |
//| Copyright © 2011, Хлыстов Владимир |
//| cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011,"
#property link "cmillion@narod.ru"
//--------------------------------------------------------------------
extern int period_1 = 5,
period_2 = 30,
period_3 = 100,
stoploss = 0,
takeprofit = 0;
extern double LOT = 0.1;
extern bool CloseRevers = true;
//--------------------------------------------------------------------
int TimeBar;
//--------------------------------------------------------------------
int start()
{
if (TimeBar==Time[0]) return(0);

double MA10 = iMA(NULL,0,period_1,0,MODE_EMA,PRICE_OPEN,0);
double MA11 = iMA(NULL,0,period_1,0,MODE_EMA,PRICE_OPEN,1);
double MA20 = iMA(NULL,0,period_2,0,MODE_LWMA,PRICE_OPEN,0);
double MA21 = iMA(NULL,0,period_2,0,MODE_LWMA,PRICE_OPEN,1);
double MA3 = iMA(NULL,0,period_3,0,MODE_LWMA,PRICE_OPEN,0);

double SL,TP;
if (MA10>MA20&&MA11<MA21&&MA20>MA3)
{
TimeBar=Time[0];
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits); else SL = 0;
if (CloseRevers) CLOSEORDER(OP_SELL);
OrderSend(Symbol(),OP_BUY, LOT,NormalizeDouble(Ask,Digits),2,SL,TP,"простой советник",123,3);
}
if (MA10<MA20&&MA11>MA21&&MA20<MA3)
{
TimeBar=Time[0];
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits); else SL = 0;
if (CloseRevers) CLOSEORDER(OP_BUY);
OrderSend(Symbol(),OP_SELL,LOT,NormalizeDouble(Bid,Digits),2,SL,TP,"простой советник",123,3);
}
return(0);
}
//--------------------------------------------------------------------
void CLOSEORDER(int ord)
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol() && OrderMagicNumber()==123)
{
if (OrderType()==OP_BUY && ord==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3,CLR_NONE);
if (OrderType()==OP_SELL && ord==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,CLR_NONE);
}
}
}
}
//--------------------------------------------------------------------
 
Последнее редактирование модератором:
пройденный этап. открывает сразу несколько ордеров потому что машки скачут вместе с ценой. надо добавлять переменную (время после открытия ордера чтоб еще один ордер не открылся).
а не открываются ордера потому что иногда цена уже далеко от машки (длинный бар) а потом уже откываться смысла нет после таких движений.
 
я кое что и3менил,но локи не 3наю как сделать(( и еще он обьем сам поставил не 0,01 а 0,1((

//+------------------------------------------------------------------+
//| простой советник.mq4 |
//| Copyright © 2011, Хлыстов Владимир |
//| cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, "
#property link "cmillion@narod.ru"
//--------------------------------------------------------------------
extern int period_1 = 4,
period_2 = 21,
period_3 = 504,
stoploss = 0,
takeprofit = 0;
extern double LOT = 0.01;
extern bool CloseRevers = true;
//--------------------------------------------------------------------
int TimeBar;
//--------------------------------------------------------------------
int start()
{
if (TimeBar==Time[0]) return(0);

double MA10 = iMA(NULL,0,period_1,0,MODE_EMA,PRICE_OPEN,0);
double MA11 = iMA(NULL,0,period_1,0,MODE_EMA,PRICE_OPEN,1);
double MA20 = iMA(NULL,0,period_2,0,MODE_EMA,PRICE_OPEN,0);
double MA21 = iMA(NULL,0,period_2,0,MODE_EMA,PRICE_OPEN,1);
double MA3 = iMA(NULL,0,period_3,0,MODE_EMA,PRICE_OPEN,0);

double SL,TP;
if (MA10>MA20&&MA11<MA21&&MA20>MA3)
{
TimeBar=Time[0];
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits); else SL = 0;
if (CloseRevers) CLOSEORDER(OP_SELL);
OrderSend(Symbol(),OP_BUY, LOT,NormalizeDouble(Ask,Digits),1,SL,TP,"простой советник",0,3);
}
if (MA10<MA20&&MA11>MA21&&MA20<MA3)
{
TimeBar=Time[0];
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits); else SL = 0;
if (CloseRevers) CLOSEORDER(OP_BUY);
OrderSend(Symbol(),OP_SELL,LOT,NormalizeDouble(Bid,Digits),1,SL,TP,"простой советник",0,3);
}
return(0);
}
//--------------------------------------------------------------------
void CLOSEORDER(int ord)
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol() && OrderMagicNumber()==123)
{
if (OrderType()==OP_BUY && ord==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),1,CLR_NONE);
if (OrderType()==OP_SELL && ord==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),1,CLR_NONE);
}
}
}
}
//--------------------------------------------------------------------
 
Последнее редактирование модератором:
Выведете пожалуйста в настройки размер высоты блока, как я понял там процент от окна графика
 

Вложения

  • 222.png
    222.png
    21,1 КБ · Просмотры: 332
  • subchart.mq4
    subchart.mq4
    8,2 КБ · Просмотры: 32
Последнее редактирование:
Нужна помощь ваша

Добрый день коллеги!

Очень прошу помощи, помогите пожалуйста кто может вставить звуковой аллерт с окошком с названием пары при появление "ноги" индикатора и если не сложно его отключение в настройках индюка "true/false". Без вас не справлюсь к сожалению.
Буду очень благодарен.
 

Вложения

Странно :disappointed: Посмотрел в тестере на м15: цена бежит, линии - рисуются, сигналы шлепаются. Скрин тестера делать лень ;)





Не вопрос :)

спасибо. с исходником начал тестироваться в тестере. он реально практически не рисует в тестере. и дивера отличные, можете добавить дивергенции?
и еще один нюанс: можно ли каким либо параметром добиться сглаживания желтой линии?
 
Последнее редактирование:
Просьба, из индикатора убрать все надписи (на скрине справа в подвале), только мешают.
 

Вложения

Видишь что iBoss пишет, так что с истории сигнал не пойдёт, но сигналы отличаются у модифицированного с периодом 240 и оригинала жирные стрелки


))) мэтр кодирования cmillion что то накосячил в индюке и мэтр Младен это распознал)))
 

Вложения

  • Screenshot_91.png
    Screenshot_91.png
    30 КБ · Просмотры: 86
Последнее редактирование:
Здравствуйте. Прошу помогите пожалуйста добавить условие в код. (Насколько моих знаний хватило я подредактировал.)
Индикатор рисует линии по цене закрытия, а нужно добавить условие, рисовать только если предыдущая свеча была противоположной.
Т.е. только при смене направления(цвета) свечи,
рисовать линию закрытия только той свечи которая сменила направление.
Также "NumberOfBar" должна отвечать за количество показываемых линий.
p.s. Понимаю что возможно плохо описал, прилагаю картинку.
Oej4O71I.jpg
 

Вложения

Вложения

Вложения

Последнее редактирование:

Посмотрели (2109) Посмотреть

Смотрят сейчас (1) Посмотреть

Отслеживают (1857) Посмотреть

Назад
Верх