[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 61

 
silatyt:
А найдите строку: #include <strlib.mgh>

и замените на: #include <stdlib.mgh>

А у меня есть и такая и такая библиотека. Вторая шла с советником в комплекте. Но при компиляции её редактор не видет и выдает ошибку.

 
А найдите строку: #include <strlib.mqh>
и замените на: #include <stdlib.mqh>
 
Это silatyt опечатался, а я повторил =). В сообщении выше все верно. Ошибку выдает 'strlib.mqh' - cannot open the program file
 
oDin48:
Это silatyt опечатался, а я повторил =). В сообщении выше все верно. Ошибку выдает 'strlib.mqh' - cannot open the program file

проверьте ее наличие в папке terminal/experts/includes/
 
FAQ:

проверьте ее наличие в папке terminal/experts/includes/
Спасибо. Проблема решилась. Я думал их надо в libraries сувать. =)
 

Помогите правильно вставить для этого массива, функции для переноса в безубыток sl, при определенной прибыли в сделке.

extern int tp = 0; // величина прибыли

extern int sl = 0; // величина убытка

extern int BeginHour = 0; // время начало торговли
extern int EndHour = 0; // время окончания торговли


extern int lots =0;




int start()
{

//-- Сделка на покупку. Проверка, нет ли открытых ордеров и цена закрытия прошлого бара меньше, чем цена открытия.
//-- Открытие на покупку при достижении ценой бид текущего бара, уровня High прошлого бара. Временной период когда робот будет делать сделки.

if (OrdersTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[1]<Open[1] && High[1]<Bid )
OrderSend(Symbol(),OP_BUY,lots,Ask,0,Ask-sl*Point,Ask+tp*Point,"",777,0,Red);


if (OrdersTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[2]<Open[2] && High[2]<Bid )
OrderSend(Symbol(),OP_BUY,lots,Ask,0,Ask-sl*Point,Ask+tp*Point,"",777,0,Red);

//if (OrdersTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[3]<Open[3] && High[3]<Bid )
// OrderSend(Symbol(),OP_BUY,lots,Ask,0,Ask-sl*Point,Ask+tp*Point,"",777,0,Red);


//-- Сделка на продажу. Проверка, нет ли открытых ордеров и цена закрытия прошлого бара больше, чем цена открытия.
//-- Открытие на продажу при достижении ценой бид текущего бара, уровня Low прошлого бара. Временной период когда робот будет делать сделки.

if (OrdersTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[1]>Open[1] && Low[1]>Bid )
OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+sl*Point,Ask-tp*Point,"",777,0,Red);

if (OrdersTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[2]>Open[2] && Low[2]>Bid )
OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+sl*Point,Ask-tp*Point,"",777,0,Red);

//if (OrdersTotal()==0 && Hour() >= BeginHour && Hour() < EndHour && Close[3]>Open[3] && Low[3]>Bid )
//OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+sl*Point,Ask-tp*Point,"",777,0,Red);

//----

//----


return(0);
}
 

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

double PriceHigh = iHigh   (NULL,PERIOD_D1,1); // присвоение переменной максимального значение цены с 1 бара
double PriceLow  = iLow    (NULL,PERIOD_D1,1);  // присвоение переменной минимального значение цены с 1 бара
teloCendle = (PriceHigh-PriceLow); // находим общий ценовой диапозон в пунктах

получается дробное число, "0,0053 к примеру", а как перейти просто к 53? для того чтобы найти объем в пунктах предыдущей свечи...

 
frixer:

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

получается дробное число, "0,0053 к примеру", а как перейти просто к 53? для того чтобы найти объем в пунктах предыдущей свечи...

Умножать на 10 000 пробовал не получается, заранее буду благодарен
 
frixer:

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

получается дробное число, "0,0053 к примеру", а как перейти просто к 53? для того чтобы найти объем в пунктах предыдущей свечи...

double PriceHigh = iHigh(NULL,PERIOD_D1,1); // присвоение переменной максимального значение цены с 1 бара
double PriceLow  = iLow(NULL,PERIOD_D1,1);  // присвоение переменной минимального значение цены с 1 бара
int teloCendle = (PriceHigh-PriceLow) * 10000; // находим общий ценовой диапозон в пунктах
 
Zhunko:


Спасибо конечно, но пробовал тогда после запятой остается десятичная, а округлить как её ума не хватает ;(