При тестировании не работает блок на ограничение сделок после серии убыточных (после 5 убыточных сделок подряд сделки не открываются в течение 2 месяцев) Вот фрагмент кода:
Буду очень благодарен за помощь в нахождении ошибки либо в предоставлении готового шаблона
писать долго и муторно :-)
но в общем:
1. при загрузке (и при закрытии в минус) считать и запомнить все сделки за последние 4 месяца. (цикл от HistoryDealTotal()-1 до 0, то есть обратный вашему)
2. отсортировать по времени
3. от настоящего в прошлое, найти первый фрагмент где 5 сделок подряд убыточны и промежуток между сделками не более 2-х месяцев; если фрагмент найден - добавить макс.дате фрагмента 2 месяца
DEAL_TYPE
| Идентификатор | Описание |
|---|---|
| DEAL_TYPE_BUY | Покупка |
| DEAL_TYPE_SELL | Продажа |
| DEAL_TYPE_BALANCE | Начисление баланса |
| DEAL_TYPE_CREDIT | Начисление кредита |
| DEAL_TYPE_CHARGE | Дополнительные сборы |
| DEAL_TYPE_CORRECTION | Корректирующая запись |
| DEAL_TYPE_BONUS | Перечисление бонусов |
| DEAL_TYPE_COMMISSION | Дополнительные комиссии |
| DEAL_TYPE_COMMISSION_DAILY | Комиссия, начисляемая в конце торгового дня |
| DEAL_TYPE_COMMISSION_MONTHLY | Комиссия, начисляемая в конце месяца |
| DEAL_TYPE_COMMISSION_AGENT_DAILY | Агентская комиссия, начисляемая в конце торгового дня |
| DEAL_TYPE_COMMISSION_AGENT_MONTHLY | Агентская комиссия, начисляемая в конце месяца |
| DEAL_TYPE_INTEREST | Начисления процентов на свободные средства |
| DEAL_TYPE_BUY_CANCELED | Отмененная сделка покупки. Возможная ситуация, когда ранее совершенная сделка на покупку отменяется. В таком случае тип ранее совершенной сделки (DEAL_TYPE_BUY) меняется на DEAL_TYPE_BUY_CANCELED, а ее прибыль/убыток обнуляется. Ранее полученная прибыль/убыток начисляется/списывается со счета отдельной балансовой операцией |
| DEAL_TYPE_SELL_CANCELED | Отмененная сделка продажи. Возможная ситуация, когда ранее совершенная сделка на продажу отменяется. В таком случае тип ранее совершенной сделки (DEAL_TYPE_SELL) меняется на DEAL_TYPE_SELL_CANCELED, а ее прибыль/убыток обнуляется. Ранее полученная прибыль/убыток начисляется/списывается со счета отдельной балансовой операцией |
| DEAL_DIVIDEND | Начисление дивиденда |
| DEAL_DIVIDEND_FRANKED | Начисление франкированного дивиденда (освобожденного от уплаты налога) |
| DEAL_TAX | Начисление налога |
А Вы сравниваете с ORDER_TYPE_BUY и ORDER_TYPE_SELL .
Вообще, логичней делать проверку сделки на выход из рынка.
| Идентификатор | Описание |
|---|---|
| DEAL_ENTRY_IN | Вход в рынок |
| DEAL_ENTRY_OUT | Выход из рынка |
| DEAL_ENTRY_INOUT | Разворот |
| DEAL_ENTRY_OUT_BY | Закрытие встречной позицией |
Потом уже смотреть профит по ней, и если он меньше нуля, то мотать счётчик.
При тестировании не работает блок на ограничение сделок после серии убыточных (после 5 убыточных сделок подряд сделки не открываются в течение 2 месяцев) Вот фрагмент кода:
Буду очень благодарен за помощь в нахождении ошибки либо в предоставлении готового шаблона
Да, и сохраняйте время, когда последний раз счётчик был равен нулю и проверяйте историю сделок по фин результату с этой даты.
Ну и на дату - "не позже чем два месяца назад" проверяйте, прежде чем считать убытки.- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Буду очень благодарен за помощь в нахождении ошибки либо в предоставлении готового шаблона