Помогите добавить логическую функцию

Sanich-rd

Новичок форума
ТОВАРИЩИ ПРОГРАММИСТЫ ПОМОГИТЕ!!!
Вот код:
if (!ShortTrade && !LongTrade) {
NumOfTrades = total;
iLots = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTrades), lotdecimal);
if (PrevCl > CurrCl) {
if (iRSI(NULL, PERIOD_M15, per, PRICE_CLOSE, 1) < perb) { //больше >
ticket = OpenPendingOrder(1, iLots, SellLimit, slip, SellLimit, 0, 0, EAName + "-" + NumOfTrades, MagicNumber, 0, HotPink);
if (ticket < 0) {
Print("Error: ", GetLastError());
return (0);
}
LastBuyPrice = FindLastBuyPrice();
NewOrdersPlaced = TRUE;
}
} else
{
if (iRSI(NULL, PERIOD_M15, per, PRICE_CLOSE, 1) > perm) { // меньше <
ticket = OpenPendingOrder(0, iLots, BuyLimit, slip, BuyLimit, 0, 0, EAName + "-" + NumOfTrades, MagicNumber, 0, Lime);
if (ticket < 0) {
Print("Error: ", GetLastError());
return (0);
}
LastSellPrice = FindLastSellPrice();
NewOrdersPlaced = TRUE;
}
}

В нем описано что если RSI меньше perb то SELL
если RSI больше perm то BUY
А вот что бы хотелось:
Чтобы если RSI меньше perb НО больше perb1 то SELL
и если RSI больше perm НО меньше perm1 то BUY

А еще нужна именно логическая НО а не что нибуть другое!
СОбираю из нескольких советников но это сделать немогу помогите потом готовый продукт положу! Кленусь!
 

Alex M

Местный знаток
ТОВАРИЩИ ПРОГРАММИСТЫ ПОМОГИТЕ!!!
Вот код:
if (!ShortTrade && !LongTrade) {
NumOfTrades = total;
iLots = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTrades), lotdecimal);
if (PrevCl > CurrCl) {
if (iRSI(NULL, PERIOD_M15, per, PRICE_CLOSE, 1) < perb) { //больше >
ticket = OpenPendingOrder(1, iLots, SellLimit, slip, SellLimit, 0, 0, EAName + "-" + NumOfTrades, MagicNumber, 0, HotPink);
if (ticket < 0) {
Print("Error: ", GetLastError());
return (0);
}
LastBuyPrice = FindLastBuyPrice();
NewOrdersPlaced = TRUE;
}
} else
{
if (iRSI(NULL, PERIOD_M15, per, PRICE_CLOSE, 1) > perm) { // меньше <
ticket = OpenPendingOrder(0, iLots, BuyLimit, slip, BuyLimit, 0, 0, EAName + "-" + NumOfTrades, MagicNumber, 0, Lime);
if (ticket < 0) {
Print("Error: ", GetLastError());
return (0);
}
LastSellPrice = FindLastSellPrice();
NewOrdersPlaced = TRUE;
}
}

В нем описано что если RSI меньше perb то SELL
если RSI больше perm то BUY
А вот что бы хотелось:
Чтобы если RSI меньше perb НО больше perb1 то SELL
и если RSI больше perm НО меньше perm1 то BUY

А еще нужна именно логическая НО а не что нибуть другое!
СОбираю из нескольких советников но это сделать немогу помогите потом готовый продукт положу! Кленусь!



Сначала RSI объяви переменной, для читабельности, а потом сравнивай.
Примерно вот так:

double RSI1= iRSI(NULL, PERIOD_M15, per, PRICE_CLOSE, 1);
if(RSI1<perb && RSI1>perb) { // И поехал дальше :)
Логичнее использовать не НО, а И(&)
 
Верх