Forum Replies Created
-
AuthorPosts
-
CAIHuangMember
Hey Said. Be great if you can but the IG Markets reports are quite a bit different.
I have attached two reports.
The first one is a P & L breakdown which only shows buys and sells combined in the one row.
The second one is a transaction report which shows buys and sells separately. Although it may be a bit hard to generate profit and loss from the trades as the trades are CFD’s for currencies, commodities and indexes etc. So they show lot sizes for the quantity/size column and lot sizes vary between trading instruments.
Stop loss amendments are also show which are obviously irrelevant.CAIHuangMemberThanks for your efforts Said. Just started using your excel trade importer.
If only I had an easier way to import trades from my other broker platform into share trade tracker for my discretionary trading portfolio. Makes you really appreciate the ease of use with your file.
CAIHuangMemberHey guys,
Having some issues with exporting trade reports on TWS. I want to put the data into share trade tracker.
When I try to ‘export today’s report’ It sends and error message saying ‘there are no trade reports to escort’ but there are trades there from the last few days.
I have sent a message to IB but was wondering if anyone else has come across this issue? Is it possibly because I am using the paper trading account?Cheers
CAIHuangMemberHad the issue sorted. Thanks to Scotty for his help. Issue was regarding the DDE version of my system coding.
I had 2x entries on the first night (which shouldn’t have even been taken because they were technically already positions from the days prior). One I have a sell order for tonight and one I am still holding and is 5% down. These 2x positions won’t appear in my backtest when I am tracking system results. I am wondering if I should start my paper trading again with the DDE code and associated buy signals linking accurately with my operating version so my paper trading results can be compared accurately with backtesting of my system. Thoughts?
I guess it won’t matter having a false start paper trading and resetting the account and starting again say tonight or tomorrow?
CAIHuangMemberlol you just beat me too it.
CAIHuangMemberWhile we are on the subject of DDE codes. For the strings of coding in the looping template library that are setup for LESetup/LETrigger are they exactly the same for the ‘exits’ DDE version, with the only difference being the change of LESetup/LExTrigger to that of LExTrigger? Or are there more things to change in the coding for the Exits version?
Width = 65;
Width1 = 75;
if(Status(“action”)==4)
{
SetSortColumns(1);
}
AddTextColumn(WriteIf(LExTrigger,”” + Name(),””),”Symbol”,1.3,29,55,90);
AddTextColumn(WriteIf(LExTrigger,”STK”,””),”Type”,1.3,29,55,80);
AddTextColumn(WriteIf(LExTrigger,””,””),”Expiry”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”Strike”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”P/C”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”Multiplier”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”Trading Class”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,”SMART”,””),”Exchange”,1.3,29,55,80);
AddTextColumn(WriteIf(LExTrigger,””,””),”Primary Exchange”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,”USD”,””),”Currency”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”Comb Legs”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”Leave This Empty”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,”BUY”,””),”Action”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””+STB,””),”Quantity”,1.0,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,”LMT”,””),”Order Type”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””+BuyLim,””),”Lmt Price”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”Aux Price”,1.3,29,55,Width);
AddTextColumn(WriteIf(LExTrigger,””,””),”Ctrl”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””,””),”Id”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””,””),”Status”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””,””),”Filled”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””,””),”Remaining”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””,””),”Ave Fill Price”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””,””),”Last Fill Price”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,””,””),”Parent Id”,1.3,29,55,Width1);
AddTextColumn(WriteIf(LExTrigger,”DAY”,””),”Time in Force”,1.3,29,55,Width1);Cheers
CAIHuangMemberLegend Trent.
I did consider that it could be something with the DDE version. But after talking with Nick briefly this morning we thought it was the operating version not picking up signals once a stock has exited. But the explorer results we were looking at had no buy setups appearing when a stock had an exit signal not an actual exit so technically it would have still been in an active position and was going to be exited the next day so couldn’t generate a buy setup signal yet like you were saying. There were a few confusing overlapping signals we were looking at.
My DDE code was wrong but the error didn’t appear in code checks as the DDE exploration filter was referencing my LESetup which was linked to my buy conditions. It should have been referencing LETrigger which you alluded me too.
Thanks heaps.
Double checked the exploration just now and all good.
Thanks mate!
CAIHuangMemberI had 2x trades execute last night. Although both of the trades did not register when I cross checked my entry prices with a back test of my standard operating version. They appeared as ‘buy setup’ signals in the DDE version but not the operating version. They were valid signals.
I have created a thread in the AFL coding section explaining the issue.
Cheers
CAIHuangMemberCAIHuangMemberThanks guys!
Scott, I have tested without the index filter and profitability was increase substantially but also MaxDD%. I never thought to further test with tightening up the entry criteria. Definitely something to play around with down the track.
Never thought of that with 6.66, it is a bit of an evil position sizing ratio lol.
CAIHuangMemberSo you pretty much used the following (new additions highlighted in bold):
oc = NorgateOriginalCloseTimeSeries();
PF = oc;
PriceTog = ParamToggle(“Price Filter”,”Off|On”,1);
PF = ParamField(“Price Field”,6);
MinSP = Param(“Minimum Share Price – $”,10,0.00,1000,0.01);
MaxSP = Param(“Maximum Share Price – $”,100,0.00,2000,0.01);
MinMaxSP = PF >= MinSP AND PF <= MaxSP;
PriceFilt = IIf(PriceTog,MinMaxSP,1);Instead of the LMS addition in module 11/27:
PriceTog = ParamToggle(“Price Filter”,”Off/On”,1);
CloseToggle = ParamToggle(“Close Price”, “Adjusted|Unadjusted”,0);
CP = IIf(CloseToggle,NorgateOriginalCloseTimeSeries(),Close);
MinSP = Param(“Minimum Share Price – $”,10,0.00,1000,0.01);
MaxSP = Param(“Maximum Share Price – $”,100,0.00,2000,0.01);
MInMaxSP = CP >= MinSP AND CP <= MaxSP;
PriceFilt = IIf(PriceTog,MinMaxSP,1);Is there any difference between the two or does the:
oc = NorgateOriginalCloseTimeSeries();
PF = oc;
account for all changes to the PF?Also where does one find out about the volume and turnover changes? I haven’t seen any in the LMS?
Cheers
CAIHuangMemberYes I was told by Nick to look into the number of days that there were greater then 20 trades. I just played around with my results in excel and assessed this statistic for various data sets.
e.g.
For the system I mentioned previously:
89.5% of trades taken :
9 days out of 675 were over 20 trades = 98.67% of days all available trades were captured72% of trades taken
42 days out of 926 were over 20 trades = 95.46% of days all available trades were capturedSo I guess those percentages are acceptable?
I was testing various extremities of my system to achieve a high % of the number of trades taken and wasn’t focused at all on the number of days where all trades were taken. I definitely don’t want to jeopardise my trading performance to achieve a super high % rate of trades taken when a lower % rate of trades taken is acceptable and my performance stats are a lot better. I guess i’m just trying to gauge what are acceptable results. I kind of draw from this that a % of trades taken over 70/75% is acceptable if the number of days where all available trades were taken is over 90/95%. I guess it does differ for each person as to what they deem acceptable.
Very helpful to see your results Scott and draw some comparison’s. I just re read and saw that your test was over the same period.
Does your SPX MRV system use 20 positions at 10%?Yours and Said’s ramblings have helped for sure. Still a fair bit more testing to do trying to strike that balance!
CAIHuangMemberScott McNab wrote:ASX was on 10 positions at 10%…if increase to 20 positions at 10% then it takes 3028/3210…94%
But CAR of ASX only about 20% while CAR for SPX higher due to much higher trade frequency (code for systems same)Hope something in that rambling helps
Was over a similar time period to what I mentioned above i.e. 2010-2017?
CAIHuangMemberThanks Scott,
What trade frequency % were you happy with in the end?
I have some systems that produce varying trade frequency results and i’m trying to strike that balance with a high percentage but also not negatively effecting my CAGR to much etc.
e.g
2072 trades (20 positions @ 5%) out of 2314 (100 positions @ 1%)
therefore 2072/2314 = 89.5% of trades are taken3785 trades (20 positions @ 5%) out of 5265 (100 positions @ 1%)
therefore 3785/5265 = 72% of trades takenThis was for backtests from 2010-present.
I guess I am aiming for something with an 80% or greater hit rate of trades taken. Not sure if others are comfortable with a lower percentage then that? I know Nick’s MRV systems are 95+ and his ASX MRV has a 100% hit rate of trades taken. I just see my systems performance being degraded too much trying to achieve percentages like that and wonder what others out there are comfortable with.
CAIHuangMemberI am currently experiencing a high number of trades with my MRV system and am in the process of testing it out on different universes i.e. russ1000, snp500 and nasdaq100 etc. Also modifying price filters to reduce the possible entries.
I am now adding a few different entry conditions into the mix such as volume, ADX and RSI to see how they reduce the trade frequency without adversely effecting my performance stats too much.
Just wondering if many others have added an extra trade condition to restrict entriy signals and therefore trade frequency or have you mainly gone the way of changing the trade universe or changing up the price filters (i.e. $10-$100 reduced to $10-$50 etc.) Or all of the above.
Obviously there are hundreds of ways to counter the trade frequency issue. Be interesting to see what has worked for other people.
Cheers
-
AuthorPosts