Необходимо: вызвать значение денежной суммы всех сделок до последнего тейк профита.
Честно пытался дня три одолеть эти циклы.
По возможности киньте код, пожалуйста, или хотя бы шаблон, подсказку......
А Ваши пытания где?
Что по Вашему "тейк профит"? Это закрытие последней сделки в профит или же закрытие последней сделки по значению ранее выставленного тейк профита?
А Ваши пытания где?
Что по Вашему "тейк профит"? Это закрытие последней сделки в профит или же закрытие последней сделки по значению ранее выставленного тейк профита?
спасибо за внимание!
по значению ранее выставленного тейк профита.
спасибо за внимание!
по значению ранее выставленного тейк профита.
Алгоритм:
Проверяете последний закрытый ордер на закрытие по ТР этой функцией:
Функция isCloseLastPosByTake().
Если её значение равно true, то идёте циклом по остальным закрытым ордерам - получается от ПРЕДпоследнего (т.к. последний закрыт по тейку, то его не учитываете) к первому, считая сумму всех закрытых позиций. Всё.
double M;
for(int i=orders-1;i>=0;i--)if(OrderSymbol()!=Symbol() || OrderType()!=OrderTakeProfit()) continue;
M = OrderProfit() + M;
все мои муки напоминали это.
double M;
for(int i=orders-1;i>=0;i--)if(OrderSymbol()!=Symbol() || OrderType()!=OrderTakeProfit()) continue;
M = OrderProfit() + M;
все мои муки напоминали это.
Пробуйте:
double last, Sum; if isCloseLastPosByTake(NULL,-1,-1) if(OrdersHistoryTotal() != 0) { for(int counter = OrdersHistoryTotal()-2; counter >= 0; counter--) { OrderSelect(counter, SELECT_BY_POS, MODE_HISTORY); if(OrderSymbol() == Symbol()) //&& OrderMagicNumber() == MagicNumber) if(OrderType() == OP_BUY || OrderType() == OP_SELL) { last = OrderProfit(); Sum=Sum+last; // считаете общий } } }
Алгоритм:
Проверяете последний закрытый ордер на закрытие по ТР этой функцией:
Функция isCloseLastPosByTake().
Если её значение равно true, то идёте циклом по остальным закрытым ордерам - получается от ПРЕДпоследнего (т.к. последний закрыт по тейку, то его не учитываете) к первому, считая сумму всех закрытых позиций. Всё.
Вопрос: а так же можно написать " M = OrderProfit() + M;", чтоб на каждом цикле считало сумму прибыли или убытка?
Вопрос: а так же можно написать " M = OrderProfit() + M;", чтоб на каждом цикле считало сумму прибыли или убытка?
Вопрос: а так же можно написать " M = OrderProfit() + M;", чтоб на каждом цикле считало сумму прибыли или убытка?
Не так.
Можно. Разделяйте в цикле, мной приведённом убыток или прибыль получена в ордерах на истории, разделяя их по этому условию, считайте отдельно Профит/Убыток.
Смотрите мой предыдущий пост.
ок. спасибо огромное. я его не видел - страницу не обновил)))
ок. спасибо огромное. я его не видел - страницу не обновил)))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Необходимо: вызвать значение денежной суммы всех сделок до последнего тейк профита.
Честно пытался дня три одолеть эти циклы.
По возможности киньте код, пожалуйста, или хотя бы шаблон, подсказку......