Class: DhanHQ::Skills::Builtin::SquareOffAll
- Inherits:
-
DhanHQ::Skills::Base
- Object
- DhanHQ::Skills::Base
- DhanHQ::Skills::Builtin::SquareOffAll
- Defined in:
- lib/DhanHQ/skills/builtin/square_off_all.rb
Overview
Skill to exit all open positions at market price.
Steps: fetch positions → exit each position → summarize results.
Instance Method Summary collapse
Methods inherited from DhanHQ::Skills::Base
#call, description, #description, #name, param, #param_definitions, params, risk, scope, step, steps, validate_params!
Instance Method Details
#exit_positions(ctx) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/DhanHQ/skills/builtin/square_off_all.rb', line 27 def exit_positions(ctx) results = ctx[:positions].map do DhanHQ::Models::Position.exit_all! rescue StandardError => e { error: e. } end ctx[:exit_results] = results ctx[:exited_count] = results.count { |r| !(r.is_a?(Hash) && r.key?(:error)) } ctx[:failed_count] = results.count { |r| r.is_a?(Hash) && r.key?(:error) } ctx end |