- docs.mql4.com
Не решает проблему. Уже пробовал.
если открываете вкладку "История счета" и там есть закрытые ордера, идем дальше
начинаем втыкать print("Я тут - 1"); как бы изнутри цикла
не напечатало, переносим на уровень выше
и т.д.
Понял, ща попробую
Не прокатило. Не выводит. Вопрос в том, может ошибка в логике, и он берет не тот ордер ?
да ткните уже по ссылке и сравните
есть разница
Я переставил принт внутрь цикла - теперь вывода вообще нет.
extern int StopLoss = 200;
extern int TakeProfit = 100;
extern double Lot = 0.01;
int start()
{
int total = OrdersTotal();
if (total < 1){
OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",132,0,Blue) && OrderSend(Symbol(),OP_SELL,Lot,Bid,30,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",132,0,Red);}
for(int i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордера
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть (не путать с тикетом)
if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной паре
if((OrderClosePrice()-OrderOpenPrice())*Point>70){ //сравниваем его с переменно profit)
double LotsOrder1=OrderLots();//запоминает объем ордера
int profit1=((OrderClosePrice()-OrderOpenPrice())*Point);//если прибыль по ордеру больше чем profit, заодно запоминаем прибыль ордера
int typeOrder1=OrderType(); // запоминаем направление ордера
Print (profit1);
break;
}
}
}
}
}
// retrieving info from trade history
int i,accTotal=OrdersHistoryTotal();
for(i=0;i<accTotal;i++)
{
//---- check selection result
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
break;
}
// работа с ордером ...
}
это код из документации
---
пишем:
int i;
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
{
Print("Оредер
выбран, № п.п."+IntegerToString(i));
//ИДЕМ ДАЛЬШЕ
//ВАШИ ДЕЙСТВИЯ
}
}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Перелопатил овер 100 тем по обращению к параметрам ордера, но так и не смог вывести нужные данные.
Цель: обратится к закрытому ордеру, и если его уровень профита в пунктах (пипсах) > 70, то вывести параметры: (его лот, его профит в пунктах (пипсах), в какую сторону открыт (бай / сэлл).
Пробовал и циклами, и искусственно их создвал, выводит Профит 0.
Нужна ваша помощь! Помогите пожалуйста!