Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 229
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
спасибо, есть какое нить другое решение? После этого советник открывает и сразу же закрывает сделку.
вам нужно зафиксировать время при условии
и больше его не обновлять пока не закрыты позиции
затем от текущего времени отнимать время которое запомнили
когда пройдут заданные секунды, закрывать позиции
я так сделала
double op = CalculateProfit();
int time_waiting=0;
if (op >= Profit)
time_waiting = TimeLocal() + 10;
if (TimeLocal() < time_waiting)
{
CloseAll();
}
но при этом мне выдает ошибку
possible loss of data due to type conversion
это не ошибка, а предупреждение: возможна потеря данных при преобразовании из одного типа в другой:
datetime time_waiting;
То есть я не хочу чтобы советник сразу закрыл как только увидел 2 бакса, а чуть больше.
и что, всегда через 10 секунд прибыль больше?)
Если не сложно помоги пожалуйста исправить..
Принимая всю ответственность на себя с учётом того, что:
ushort
Беззнаковым типом short является тип ushort, который также имеет размер 2 байта. Минимальное значение равно 0, максимальное значение 65 535.
int
Целый тип int имеет размер 4 байта (32 бита). Минимальное значение -2 147 483 648, максимальное значение 2 147 483 647.
я сделала как вы сказали, просто почему то после закрытия советник открывает закрывает сделки пару раз, несмотря на то что после функции CloseAll() стоит у меня слип на час.
double op = CalculateProfit();
if (op >= Profit && LastTime == 0)
LastTime = TimeCurrent ();
if(LastTime > 0 && TimeCurrent () - LastTime >= Second)
{
CloseAll();
LastTime = 0;
SendNotification("Trade is end");
Sleep(60*60000);// 60.000 = 1 min
}