Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ошибки:
1. В строках 38-39 используются неинициализированные переменные HourOpenPos1 и HourOpenPos:
Что сделать?
Проинициализировать переменные HourOpenPos1 и HourOpenPos до их использования.
Вот этот момент не понял. Что значит Проинициализировать? Это значит вынести за внешние параметры?
Что значит Проинициализировать?
Это значит присвоить переменной какое-либо значение. Например:
Это значит присвоить переменной какое-либо значение. Например:
Я сам проверил... неправильно...
Вот этим условием:
мы разрешаем покупки. И наше разрешение продолжает действовать даже если Hour() уже давно не равен HourOpenPos1.
Отсюда вывод. Надо вышеуказанное условие ставить непосредственно перед покупкой, то есть вместо:
А параметры: LifeTimeHours, StopLoss, TakeProfit я думаю, тоже имеет смысл разделить для покупок и продаж. Так же как Вы сделали с HourOpenPos1 и HourOpenPos.Я сам проверил... неправильно...
Вот этим условием:
мы разрешаем покупки. И наше разрешение продолжает действовать даже если Hour() уже давно не равен HourOpenPos1.
Отсюда вывод. Надо вышеуказанное условие ставить непосредственно перед покупкой, то есть вместо:
А параметры: LifeTimeHours, StopLoss, TakeProfit я думаю, тоже имеет смысл разделить для покупок и продаж. Так же как Вы сделали с HourOpenPos1 и HourOpenPos.Отлично. Все получилось.
double price, sl, tp;
if ( Hour() == HourOpenPos1)
{
if (BuyCnt == 0) {
price = Ask;
sl = 0;
tp = 0;
if (StopLoss > 0) sl = price - StopLoss*Point;
if (TakeProfit > 0) tp = price + TakeProfit*Point;
Buy(Symbol(), 0.1, price, sl, tp, Magic, CurTime()+LifeTimeHours*60*60);
}
}
if ( Hour() == HourOpenPos)
{
if (SellCnt == 0) {
price = Bid;
sl = 0;
tp = 0;
if (StopLoss > 0) sl = price + StopLoss*Point;
if (TakeProfit > 0) tp = price - TakeProfit*Point;
Sell(Symbol(), 0.1, price, sl, tp, Magic, CurTime()+LifeTimeHours*60*60);
}
}
}
Можно еще вопрос?
да
да
Скажем хочу написать следущее:
если цены средняя закрытия часовых свечей вчерашнего дня (iClose(Symbol,PERIOD_H1, 0)+.......iClose(Symbol, PERIOD_D1,24)/24
выше средней iClose(Symbol, PERIOD_D1, 1)+iOpen (Symbol, PERIOD_D1, 1)/2 то покупаем.
Скажем хочу написать следущее:
если цены средняя закрытия часовых свечей вчерашнего дня (iClose(Symbol,PERIOD_H1, 0)+.......iClose(Symbol, PERIOD_D1,24)/24
выше средней iClose(Symbol, PERIOD_D1, 1)+iOpen (Symbol, PERIOD_D1, 1)/2 то покупаем.
Так и пишите то, что сказали... :-)