-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suspicious short trade in a pure long trades #76
Comments
This is likely due to using both a trailing stop and selling all shares in the same strategy. You should only use either sell_all_shares or a stop if your intention is to exit a position, not both at the same time. However, I will look into this more to see if it makes sense to add logic for the long stop to trigger only if there is a long position. |
I was intended to try if it's possible to sell all share either not in "top symbols" list or a daily drop greater than trailing stop threshold. Yes, please investigate further. Much appreciate. |
Added a check for an existing long/short position before triggering a long/short stop. Fix is in dev and will be merged into v1.1.30. |
Hi @edtechre, I saw 1.1.30 added "Checks for existing long/short positions before triggering long/short stops". So I upgraded pybroker to 1.1.30 and re-run "10. Rotational Trading.ipynb" with ctx.stop_trailing_pct = 5, the result seems no difference with using 1.1.29. If the trailing stop sold all long position at trade id#4, and in function "rotate" using "if ctx.long_pos()" prevents over sell, how these short trades happened? |
You need to cancel all stops after calling sell_all_shares:
|
Thank, this helps a lot! 👍 |
Hi @edtechre, I noticed the change log of release 1.1.34:
Does this mean there is no need to manually call "ctx.cancel_stops(ctx.symbol)" after "ctx.sell_all_shares()"? |
Hi @none2003, It is equivalent. The only difference is that |
Can I understand that while sell_all_shares closes all long positions, it also cancels stops for any long positions? So does it also mean cover_all_shares close all short positions and also cancel stops for any short positions? |
Thanks for catching, I have also made the change to cover_all_shares. |
Hi @edtechre,
I'm reviewing examples in "10. Rotational Trading.ipynb", I modified nothing but adding a line of trailing stop setting code to function "rotate" like this:
The backtesting result is interesting. There are some weird short trades in this purely long scenario. Is this normal?
The text was updated successfully, but these errors were encountered: