Вопрос по формуле

 
Вопрос по формуле
Подскажите где я не прав? Не правильно выполняется условие открытия-закрытия позиции
If Close[1]>Moving then, на 15 мин покупает - продает каждие 2-5 мин, пока не кончится депо.
 
а что такое Moving?
Приведите полностью код.
 
Вопрос по формуле
]]*/
vars : cnt(0), MaB(0), MaR(0), MACD(0), MaG(0);
//-------------------------------------------------------------------------------------------------------------------
If Bars<200 then Exit; // на графике менее 200 баров
// данные индикаторов во временных переменных
MaG=iMA(9,MODE_EMA,3);
MaR=iMA(15,MODE_EMA,5);
MaB=iMA(26,MODE_EMA,8);
MACD=iMACD(12,26,9,MODE_MAIN,0);
//-------------------------------------------------------------------------------------------------------------------
// проверим, есть ли ранее открытые позиции или ордеры?
If TotalTrades<1 then
{
If FreeMargin<1000 then Exit; // денег нет - выходим
// проверяем на возможность встать в длинную позицию (BUY)
If MACD>0 and MaR>MaB and MaG>MaR and Close[1]>MaR then
{
SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,RED); // исполняем
Exit; // выходим
};
// проверяем на возможность встать в короткую позицию (SELL)
If MACD<0 and MaR<MaB and MaG<MaR and Close[1]<MaR then
{
SetOrder(OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,RED); // исполняем
Exit; // выходим
};
Exit;
};
for cnt=1 to TotalTrades
{
if OrderValue(cnt,VAL_TYPE)<=OP_SELL and // это открытая позиция?
OrderValue(cnt,VAL_SYMBOL)=Symbol then // инструмент совпадает?
{
If OrderValue(cnt,VAL_TYPE)=OP_BUY then // открыта длинная позиция
{
// проверим, может уже пора закрываться?
If Close[1]>MaR then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet); // закрываем позицию
Exit; // выходим
};
}
else // иначе это короткая позиция
{
// проверим, может уже пора закрываться?
If Close[1]<MaR then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Ask,3,Violet); // закрываем позицию
Exit; // выходим
};
};
};
};
 
Вопрос по формуле
]]*/
vars : cnt(0), MaB(0), MaR(0), MACD(0), MaG(0);
//-------------------------------------------------------------------------------------------------------------------
If Bars<200 then Exit; // на графике менее 200 баров
// данные индикаторов во временных переменных
MaG=iMA(9,MODE_EMA,3);
MaR=iMA(15,MODE_EMA,5);
MaB=iMA(26,MODE_EMA,8);
MACD=iMACD(12,26,9,MODE_MAIN,0);
//-------------------------------------------------------------------------------------------------------------------
// проверим, есть ли ранее открытые позиции или ордеры?
If TotalTrades<1 then
{
If FreeMargin<1000 then Exit; // денег нет - выходим
// проверяем на возможность встать в длинную позицию (BUY)
If MACD>0 and MaR>MaB and MaG>MaR and Close[1]>MaR then
{
SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,RED); // исполняем
Exit; // выходим
};
// проверяем на возможность встать в короткую позицию (SELL)
If MACD<0 and MaR<MaB and MaG<MaR and Close[1]<MaR then
{
SetOrder(OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,RED); // исполняем
Exit; // выходим
};
Exit;
};
for cnt=1 to TotalTrades
{
if OrderValue(cnt,VAL_TYPE)<=OP_SELL and // это открытая позиция?
OrderValue(cnt,VAL_SYMBOL)=Symbol then // инструмент совпадает?
{
If OrderValue(cnt,VAL_TYPE)=OP_BUY then // открыта длинная позиция
{
// проверим, может уже пора закрываться?
If Close[1]>MaR then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet); // закрываем позицию
Exit; // выходим
};
}
else // иначе это короткая позиция
{
// проверим, может уже пора закрываться?
If Close[1]<MaR then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Ask,3,Violet); // закрываем позицию
Exit; // выходим
};
};
};
};
 
почему выскакивают 2 сообщенияна форуме, и в разное время?
 
после отсылки сообщения не нажимайте рефреш
 
Вы мне подскажите?
Причина обращения: