Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Продавай время процессора и заработай!
prt
364
prt 2012.07.24 16:04 

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

Пожалуста, только дельные советы.

Вопрос вот в чем...
Когда МACD к примеру по сигнальной линии 0,00129 должен открываться ордер.(ордер открывается срезу после окончания формирования свечи в которой на индикаторе MACD сигнальной линии было 0,00129 на следующей свече (во время ее формирования)) Загвоздка в том что не могу добиться принятия решения индикатором на основе предыдущего бара.

Постараюсь объяснить другими словами на примере рисунка.
http://hostex.org/dl/f8d8c911d2


Здесь старался описать данное действие по советам из форума

extern double Lot=0.1; // Лот

extern int TimeFrame=0; // Период. Может быть одним из периодов графика. 0 означает период текущего графика.
extern int FastEmaPeriod=12; // Период усреднения для вычисления быстрой скользящей средней.
extern int SlowEmaPeriod=26; // Период усреднения для вычисления медленной скользящей средней.
extern int SignalPeriod=9; // Период усреднения для вычисления сигнальной линии.

extern double SellSL=2; //стоплосс для продажи
extern double SellTP=2; //тейкпрофит для продажи
/*extern double BuySL=2; //стоплосс для покупки
extern double BuyTP=2; //тейкпрофит для покупки*/

double OsnLin;
double SigLin;

int init(){return(0);}

int start()
{
{


if (OrdersTotal()<0) // Если ордеров нет - открываем
{

OsnLin=iCustom(NULL,TimeFrame,"MACD",FastEmaPeriod,SlowEmaPeriod,SignalPeriod,PRICE_CLOSE,MODE_MAIN, 1);
SigLin=iCustom(NULL,TimeFrame,"MACD",FastEmaPeriod,SlowEmaPeriod,SignalPeriod,PRICE_CLOSE,MODE_SIGNA L,1);



if (NormalizeDouble(SigLin-0,00129, 5)==0.0)
{
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,NormalizeDoub le(Ask + SellSL*Point,Digits), NormalizeDouble(Bid - SellTP*Point,Digits));
}
}

return(0);
}

Alexander
2441
Alexander 2012.07.24 23:50  

Особенно вот это понравилось

if (NormalizeDouble(SigLin-0,00129, 5)==0.0)

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

prt
364
prt 2012.07.25 14:00  

А как производить расчет только по последней свече?

Alexander
2441
Alexander 2012.07.25 14:29  
Обычно ищут не равенство, а пересечение, т.е., например, если на предыдущей свече цена или другой параметр были меньше определенного значения, а на последней стал больше, то пересечение состоялось.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий