Ответить
22.07.2009, 15:23
Аватар для Sanich-rd
Sanich-rd Sanich-rd вне форума Активный участник
Регистрация: 05.05.2009 / Сообщений: 74
Поблагодарили 8 раз(а) / Репутация: 8

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

ТОВАРИЩИ ПРОГРАММИСТЫ ПОМОГИТЕ!!!
Вот код:
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

А еще нужна именно логическая НО а не что нибуть другое!
СОбираю из нескольких советников но это сделать немогу помогите потом готовый продукт положу! Кленусь!
01.03.2010, 09:30
Аватар для Alex M
Alex M Alex M вне форума Элитный участник
Регистрация: 05.11.2009 / Адрес: Калуга / Сообщений: 847
Поблагодарили 991 раз(а) / Репутация: 1012
ТОВАРИЩИ ПРОГРАММИСТЫ ПОМОГИТЕ!!!
Вот код:
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) { // И поехал дальше
Логичнее использовать не НО, а И(&)
Кто бьется - тот добьется.
Алексей
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить функцию мартингейл Maxfors Язык программирования MQL4 1 16.09.2010 22:54
Помогите добавить функцию в советник! boltergeist Язык программирования MQL4 2 20.09.2008 18:39


Текущее время: 02:46. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO