Почему когда я присоеденил этот код он открывает невероятно большое количество сделок?
такого не может быть, т.к. в коде:
double history(){
int time = 0;double profit = 0;//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордераfor(int i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в пероеменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистая
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
}
if(profit < 0 ){//действия если последний ордер был убыточным
}
return(0);
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Тогда, наверное, так:
Это правильно?
Вот теперь все понял.
Спасибо.
такой встроенной ф-ции нет, нужно писать самостоятельно, пример я показывал здесь:https://www.mql5.com/ru/forum/131277/page113
спасибо
такой встроенной ф-ции нет, нужно писать самостоятельно, пример я показывал здесь:https://www.mql5.com/ru/forum/131277/page113
А как прописать чтоб у советника было только это одно условие для открытия сделок.
alsu:
Тогда не нужно size-1, иначе при первом запуске индексация будет 0-1 и размер массива будет нулевым.
Тогда уж так:
Тогда не нужно size-1, иначе при первом запуске индексация будет 0-1 и размер массива будет нулевым.
Тогда уж так:
Там инициализация в начале программы int size=1;
такой встроенной ф-ции нет, нужно писать самостоятельно, пример я показывал здесь:https://www.mql5.com/ru/forum/131277/page113
Почему когда я присоеденил этот код он открывает невероятно большое количество сделок?
Там инициализация в начале программы int size=1;
Почему когда я присоеденил этот код он открывает невероятно большое количество сделок?
такого не может быть, т.к. в коде:
нет ни одной торговой операции https://book.mql4.com/ru/trading/ordersend
такого не может быть, т.к. в коде:
нет ни одной торговой операции https://book.mql4.com/ru/trading/ordersend
дак я вставил
if(profit == 0 &&time == 0){//действия если история чистая
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,Bid-6*Point);
return;
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-12*Point,Bid+12*Point);
return;
}
if(profit < 0 ){//действия если последний ордер был убыточным
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+15*Point,Bid-15*Point);
return;
}
return(0);
}