// Закрытие по прибыли
if(AllProfit()>Profit && Profit>0)
CloseAll();
if(AllProfit(0)>Profit && Profit>0)
CloseAll(0);
if(AllProfit(1)>Profit && Profit>0)
CloseAll(1);
// Новая свеча
if(t!=iTime(NULL,0,0))
{
// === ПРОВЕРКА: открываем ТОЛЬКО если нет открытых позиций ===
if(!HasOpenPositions())
{
// Сигнал на покупку (медвежьи свечи на обоих инструментах)
if(Buy && iClose(Symb1,0,1)<iOpen(Symb1,0,1) && iClose(Symb2,0,1)<iOpen(Symb2,0,1))
{
trade.Buy(Lot,Symb1,ask1,0,0,«Multik_Buy»);
trade.Buy(Lot,Symb2,ask2,0,0,«Multik_Buy»);
Print(«Открыты покупки по »,Symb1," и ",Symb2);
}
// Сигнал на продажу (бычьи свечи на обоих инструментах)
if(Sell && iClose(Symb1,0,1)>iOpen(Symb1,0,1) && iClose(Symb2,0,1)>iOpen(Symb2,0,1))
{
trade.Sell(Lot,Symb1,bid1,0,0,«Multik_Sell»);
trade.Sell(Lot,Symb2,bid2,0,0,«Multik_Sell»);
Print(«Открыты продажи по »,Symb1," и ",Symb2);
}
}
else
{
Print(«Есть открытые позиции, новые не открываем»);
}
// =========================================================
t=iTime(NULL,0,0);
}
Comment("\n ====== Multik v1.00 ======",
"\n Общая прибыль: ",DoubleToString(AllProfit(),2),
"\n Прибыль по покупкам: ",DoubleToString(AllProfit(0),2),
"\n Прибыль по продажам: ",DoubleToString(AllProfit(1),2),
"\n -------------------------",
"\n ",Symb1," Close[1]: ",DoubleToString(iClose(Symb1,0,1),5),
"\n ",Symb1," Open[1]: ",DoubleToString(iOpen(Symb1,0,1),5),
"\n -------------------------",
"\n ",Symb2," Close[1]: ",DoubleToString(iClose(Symb2,0,1),5),
"\n ",Symb2," Open[1]: ",DoubleToString(iOpen(Symb2,0,1),5),
"\n -------------------------",
"\n Открытых позиций: ",PositionsTotal(),
"\n Есть позиции по символам: ",HasOpenPositions()? «ДА»: «НЕТ»);
}
//+------------------------------------------------------------------+
igrun