Hi i am developing a trading strategy and I want to take some profit if the profit is, for example, 50 pips. How can I do that in the code? Thanks.
QUANTCONNECT COMMUNITY
Hi i am developing a trading strategy and I want to take some profit if the profit is, for example, 50 pips. How can I do that in the code? Thanks.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
Alexandre Catarino
First, we need to define what pip means. For instance, a pip for EURUSD is $0.0001. We can find the minimum price variation using SymbolProperties.MinimumPriceVariation:
var minPriceVariation = Securities["EURUSD"] .SymbolProperties.MinimumPriceVariation
The profit in pips will be defined by a target and minimum price variation:
pipProfit = pipTarget * minPriceVariation * 10;
We need to multiply the minimum price variation for 10, because the its a pipette (tenth of a pip). Finally, after we place a order, we can place a limit order with the current price plus the pipProfit:
LimitOrder("EURUSD", -1000, data["EURUSD"].Value + pipProfit);
Please checkout the attached project for working example. I have used a pipTarget of 5, not 50, since it didn't fill during the period.
Filib Uster
I dont exactly understand why you needÂ
pipProfit = pipTarget * minPriceVariation * 10;
If a pip always is 0.0001, you could just as well write
pip = * 0.0001
pipProfit = pipTarget * pip
without accessing minPriceVariation.Â
Laurent Crouzet
Alexandre Catarino insisted on the fact that it depends on the size of a "pip", as he answered in the general case of trading Forex and NOT only in the specific case of trading EURUSD...
Agreed: a pip on EURUSD is 0.0001...
... BUT a pip on USDJPY is NOT 0.0001 !
Â
Henre the useful use of ".SymbolProperties.MinimumPriceVariation" which would allow your algorithm to adapt to each forex pair, instead of fixing a pip at 0.0001 for EURUSD... which would not work directly on USDJPY!
Jim chan
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!