Trading with decimal quantities possible on ProOrder Live!
Forums › ProRealTime English forum › ProOrder support › Trading with decimal quantities possible on ProOrder Live!
- This topic has 51 replies, 3 voices, and was last updated 1 year ago by T-rader.
-
-
10/13/2017 at 7:46 PM #49314
Thank you Eric for that link. I am really surprised that IG and PRT haven’t got this included in their manual for ProOrder programming, but at least there are some very experienced people here to help. Thank you very much.
I note that JohnMBradford’s comment above shows that others are using it. It hadn’t quite clicked with me that his comment showed a programming example. I’ll have to investigate further and see if there is any further information in the manual.
10/14/2017 at 5:50 PM #49377I didn’t find anything in the manual when I was puzzling over this, but I looked only because things weren’t happening as I expected. If things had worked properly the first time, I wouldn’t have thought that dealing in decimals would have necessarily needed to be in the manual.
On a slightly different note for those who deal through IG Index, it’s annoying that IG’s test system sometimes has minimum bet sizes that are different from live trades.
I’ve also found that IG’s treatment of an order generated by PRT which has a bet size below IG’s minimum (because my risk calculation required that in order to trade) for some securities places the trade at the minimum but for others rejects the trade on the grounds that my bet size is below the minimum. This is presumably a bug, but no-one seems too bothered about fixing it.
10/16/2017 at 7:34 AM #49471but no-one seems too bothered about fixing it.
Fixed!
12345minimumsize = 10if buycondition thenbuy max(minimumsize,myCalculatedSize) perpoint at marketendifNote that the variable “myCalculatedSize” is the result of your own betsize calculation (for which I do not know anything)
10/18/2017 at 4:56 PM #49853Thank you, yes, I appreciate that I can amend my code to overcome the problem. My point is more that there appear to be several bugs in the system that no-one appears to be addressing, which is a worry.
11/15/2017 at 8:30 AM #5279311/22/2017 at 4:44 PM #53639@Nicolas Wanted to make sure specifying a decimal amount worked before doing it for real, it does indeed work using 1.5 GBP per point on the Dax with a simple test app.
However I was forced to put in an integer value (2 in this case) for the maximum position size which doesn’t seem correct? See attached.
11/22/2017 at 5:59 PM #53646Yes decimals do work, up to two decimal places max
11/22/2017 at 10:35 PM #53663Thanks John, I should have asked first then I wouldn’t have wasted money on a random losing test bet on the Dax :(. Looks like you are trading a really wide universe of markets and ETFs, I will have to widen my horizon I have stuck to index DFBs, Major FX pairs and Brent Crude up to now.
11/24/2017 at 11:22 AM #53832That extract was in the test system, but it’s far from foolproof (as yet). I trade whatever market appears to work in my system. The market itself doesn’t matter.
02/26/2018 at 12:35 PM #63954Seems weird … I can open a spreadbet manual trade at 0.5 perpoint on DJI, but with either of below in the code then trades open at 1 perpoint.
Anybody else get similar or any thoughts please?
Thanks
GraHal1Buy 0.50 Contracts at Market1Buy 0.50 perpoint at Market02/27/2018 at 11:57 AM #6403902/27/2018 at 12:54 PM #64043Thank you Eric, I’ll query / ask IG what the rationale is behind different minimum for manual and Algos.
I’ve put it on the IG Community, hoping to get a better response as it is IG moderated etc.
02/28/2018 at 12:16 PM #6412003/02/2018 at 7:40 AM #64207Hi, does this work for backtesting? I’ve tried the code below and it does not triggers any buys, if i replace the MaxNumOfContracts in the BUY order for 1 it works, if i use 1.2 or 1.5 instead, it will still use 1. So i have two problems here:
- I don’t know why the code won’t consider valid the value of MaxNumOfContracts inside the BUY ORDER
- when manually entering decimals, it will round down (remember this is backtesting)
1234567891011InitialCash=20000Equity=InitialCash+StrategyProfitRiskPerTrade=0.01MaxRisk=Equity*RiskPerTradeContractSize=close*pipvalueContractRisk=ContractSize*RiskPerTRadeMaxNumOfContracts=max((round(MaxRisk/ContractRisk*100)/100),1)/////then the buyIF NOT LongOnMarket AND FilterCondition1 AND FilterCondition2 AND BuyCondition1 AND BuyCondition2 THENBUY MaxNumOfContracts CONTRACTS AT MARKETENDIFThanks!
03/04/2018 at 10:58 AM #64345 -
AuthorPosts
Find exclusive trading pro-tools on