Уважаемый xbms,подскажите пожалуйста в чем дело.Хочу привязать индикатор ТМА из торговой системы Extreme TMA System
Индикатор имеет входные параметры :
extern string TimeFrame = "Current";
extern int TMAPeriod = 56;
extern int Price = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern int ATRPeriod = 100;
extern double TrendThreshold = 0.5;
extern bool ShowCenterLine = false;
вызываю функцией
if(Close[1]>iCustom(NULL,0,"Extreme TMALine",TimeFrame,TMAPeriod,Price,ATRMultiplier,ATRPeriod,TrendThreshold,3,1))
{ открытие позиции бай
}
но он не отрисовывается в тестере,условие не выполняется.
Не могу понять в чем тут дело,будьте добры подскажите пожалуйста.Ниже прикреплен сам индикатор.
Добавлено: 29-01-2014 13:13:51
Вот пробуй изучай,я не много переделал правило входа,ребята с форума помогли.
Вот только молчат все.не кто не риагирует на мою просьбу.по поводу советника.
Добавлено: 27-01-2014 18:40:10
Господа профи,окажите услугу посмотрите кусочек кода правильно я указал условия входа получается из 3 индикаторов.
E_ma=iMA(Symbol(),TimeFrame,period_ema,0,MODE_EMA,PRICE_CLOSE,1);
Vhod=iClose(Symbol(),PERIOD_H1,1);
e_ma=iMA(Symbol(),timeframe,period_ema,0,MODE_EMA,PRICE_CLOSE,1);
vhod=iClose(Symbol(),PERIOD_M15,1);
bbUP=iCustom(Symbol(),PERIOD_M5,"Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,1,0);
bbDOWN=iCustom(Symbol(),PERIOD_M5,"Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,2,0);
if(OrdersTotal()==0 && CountBuy()==0 && CountSell())
{
if(Vhod>E_ma && vhod>e_ma)
{
if(Ask ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"",Magic,0,Green);
if(ticket>0)
{
TP = NormalizeDouble(Ask + TakeProfit * Point, Digits);
SL = NormalizeDouble(Ask-StopLoss* Point, Digits);
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
else
if(Vhod {
if(Bid>=bbUP)
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"",Magic,0,Red);
if(ticket>0)
{
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);
SL = NormalizeDouble(Bid+StopLoss* Point, Digits);
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
}
return(0);
Поправьте меня если чего не правильно,компилирует без ошибок,а вот в тесторе ордера не открывает .Потому как где то ошибка в условии.Как правильно написать,я не пойму пока.кто нить на пальцах поясните ПЛИИЗ !!!
У тебя условие не выполняется,ты хочешь открыть БАЙ если свеча на предыдущем баре закрылась выше МА на М15 и Н1 тамфреймах и пишешь при этом условие болинджера что цена меньше нижней линии(тут либо стрелку разворачивай либо линию меняй на верхнюю,не знаю как уж там по условиям твоей торговой системы) .
Много пишешь лишнего можно проще гораздо и все 3 условия можно вписать в 1 строку
If( Close[1]>iMA(Symbol(),timeframe,period_ema,0,MODE_EMA,PRICE_CLOSE,1) &&
Close[1]> iMA(Symbol(),TimeFrame,period_ema,0,MODE_EMA,PRICE_CLOSE,1) &&
Ask {......открытие позиции и бла бла
}
вообщем с болиджером подумай как там у тебя согласно системе :d
