UPDATE: There is a newer version of the plugin announced here: IQFeed plugin 7.xx with bad tick filter - #24 by Tomasz
Here is a new version of IQFeed plugin that features experimental RT streaming bad tick filter that is based on "Trade conditions" reported by IQFeed.
DOWNLOAD
https://www.amibroker.com/bin/IQFeed7000.zip
(both 32-bit and 64-bit plugins are there in separate subfolders inside zip)
INSTALLATION INSTRUCTIONS:
Right click on link, "Save Link As...", download the ZIP, then UNZIP (right click on zip and "Extract All") and navigate to either 32-bit or 64-bit subfolder, then replace the IQFeed.dll in AmiBroker's "Plugins" directory
Then run AmiBroker. Go to Tools->Plugins and verify that listed version is 7.0.0
If you see version 7.0.0 it means that you have installed it correctly. If you see any earlier version, it means that you did not replace the plugin.
NOTE: please DO NOT keep old version of the plugin in the "Plugins" folder. If you want to keep it, you need to move it to other folder.
HOW TO USE
To enable filtering of bad ticks you need to go to File -> Database Settings -> Configure and
check the following in the "Ignore price, but accumulate volume" field:
- 13 - PRP Prior Reference Price
- 19 - SOLDOSEQ Sold Out of Sequence
- 3A - FORTMTSOLDOSEQ Form-T Sold Out of Sequence
- 3E - DERIVPRI Derivately Priced (update)
- 47 - TTEXEMPT Transaction is Trade Through Exempt
These trade conditions were found to cause "bad ticks" due to reporting trades that occurred out of sequence. By default the plugin will ignore price of such tick, but accumulate volume.
You can however configure the plugin (in File->Database Settings->Configure) to either completely ignore trades with given trade condition or to ignore price, but keep accumulating volume.
The complete list of trade conditions reported by IQFeed is here:
01 - REGULAR Normal Trade
02 - ACQ Acquisition
03 - CASHM Cash Only Market
04 - BUNCHED Bunched Trade
05 - AVGPRI Average Price Trade
06 - CASH Cash Trade (same day clearing)
07 - DIST Distribution
08 - NEXTDAY Next Day Market
09 - BURSTBSKT Burst Basket Execution
0A - BUNCHEDSOLD Bunched Sold Trade
0B - ORDETAIL Opening/Reopening Trade Detail
0C - INTERDAY Intraday Trade Detail
0D - BSKTONCLOSE Basket Index on Close
0E - RULE127 Rule - 127 Trade NYSE
0F - RULE155 Rule - 155 Trade AMEX
10 - SOLDLAST Sold Last (late reporting)
11 - NEXTDAYCLR Next Day Clearing
12 - LATEREP Opened - Late Report of Opening Trade (in or out of sequence)
13 - PRP Prior Reference Price
14 - SELLER Seller
15 - SPLIT Split Trade
16 - RSVD (Reserved)
17 - FORMT Form-T Trade
18 - CSTMBSKTX Custom Basket Cross
19 - SOLDOSEQ Sold Out of Sequence
1A - CANC Cancelled Previous Transaction
1B - CANCLAST Cancelled Last Transaction
1C - CANCOPEN Cancelled Open Transaction
1D - CANCONLY Cancelled Only Transaction
1E - OPEN Late Report of Opening Trade - out of sequence
1F - OPNL Late Report of Opening Trade - in correct sequence
20 - AUTO Transaction Executed Electronically
21 - HALT Halt
22 - DELAYED Delayed
23 - NON_BOARDLOT NON_BOARDLOT
24 - POSIT POSIT
25 - REOP Reopen After Halt
26 - AJST Contract Adjustment for Stock Dividend - Split - etc.
27 - SPRD Spread - Trade in Two Options in the Same Class (a buy and a sell in the same class)
28 - STDL Straddle - Trade in Two Options in the Same Class (a buy and a sell in a put and a call)
29 - STPD Follow a Non-stopped Trade
2A - CSTP Cancel Stopped Transaction
2B - BWRT Option Portion of a Buy/Write
2C - CMBO Combo - Trade in Two Options in the Same Options Class (a buy and a sell in the same class)
2D - UNSPEC Unspecified
2E - MC_OFCLCLOSE Market Center Official Closing Price
2F - STPD_REGULAR Stopped Stock - Regular Trade
30 - STPD_SOLDLAST Stopped Stock - Sold Last
31 - STPD_SOLDOSEQ Stopped Stock - Sold out of sequence
32 - BASIS Basis
33 - VWAP Volume-Weighted Average Price
34 - STS Special Trading Session
35 - STT Special Terms Trading
36 - CONTINGENT Contingent Order
37 - INTERNALX Internal Cross
38 - MOC Market On Close Trade
39 - MC_OFCLOPEN Market Center Official Opening Price
3A - FORTMTSOLDOSEQ Form-T Sold Out of Sequence
3B - YELLOWFLAG Yellow Flag
3C - AUTOEXEC Auto Execution
3D - INTRMRK_SWEEP Intramaket Sweep
3E - DERIVPRI Derivately Priced
3F - REOPNING Re-Opeing Prints
40 - CLSING Closing Prints
41 - CAP_ELCTN CAP (Conversion and Parity) election trade
42 - CROSS_TRADE Cross Trade
43 - PRICE_VAR Price Variation
44 - STKOPT_TRADE Stock-Option Trade
45 - SPIM stopped at price that did not constitute a Trade-Through
46 - BNMT Benchmark Trade
47 - TTEXEMPT Transaction is Trade Through Exempt
48 - LATE Late Market
49 - XCHG_PHYSICAL Exchange for Physical
4A - CABINET Cabinet
4B - DIFFERENTIAL Differential
4C - HIT Hit
4D - IMPLIED Implied
4E - LG_ORDER Large Order
4F - SM_ORDER Small Order
50 - MATCH Match/Cross Trade
51 - NOMINAL Nominal
52 - OPTION_EX Option Exercise
53 - PERCENTAGE Percentage
54 - AUTOQUOTE Auto Quotes
55 - INDICATIVE Indicative
56 - TAKE Take
57 - NOMINAL_CABINET Nominal Cabinet
58 - CHNG_TRANSACTION Changing Transaction
59 - CHNG_TRANS_CAB Changing Transaction Cabinet
5A - FAST Fast Market (ssfutures)
5B - NOMINAL_UPDATE Nominal Update
5C - INACTIVE Inactive - Nominal - No Trade
5D - DELTA Last Trade with Delta Exchange
5E - ERRATIC Erratic
5F - RISK_FACTOR Risk Factor
60 - OPT_ADDON Short Option Add-On
61 - VOLATILITY Volatility Trade
62 - SPD_RPT Spread Reporting
63 - VOL_ADJ Volume Adjustment
64 - BLANK Blank out associated price
65 - SOLDLATE Late report of transaction - in correct sequence
66 - BLKT Block Trade
67 - EXPH Exchange Future for Physical
68 - SPECIALIST_A Ask from specialist Book
69 - SPECIALIST_B Bid from specialist Book
6A - SPECIALIST_BA Both Bid and Ask from Specialist Book
6B - ROTATION Rotation
6C - HOLIDAY Holiday
6D - PREOPENING Pre Opening
6E - POST_FULL Post Full
6F - POST_RESTRICTED Post Restricted
70 - CLOSING_AUCTION Closing Auction
71 - BATCH Batch
72 - TRADING Trading
73 - OFFICIAL Official Bid/Ask price
74 - UNOFFICIAL Unofficial Bid/Ask price
75 - MIDPRICE Midprice last
76 - FLOOR Floor B/A price
77 - CLOSE Closing Price
78 - HIGH End of Session High Price
79 - LOW End of Session Low Price
7A - BACKWARDATION Backwardation - immediate delivery costing more than future delivery
7B - CONTANGO Contango - future delivery costing more than immediate delivery
7C - RF_SETTLEMENT Refined Fuel Spot Settlement
7D - RF_RESERVED1 Refined Fuel Spot Reserved - 1
7E - RF_RESERVED2 Refined Fuel Spot Reserved - 2
7F - RF_RESERVED3 Refined Fuel Spot Reserved - 3
80 - RF_RESERVED4 Refined Fuel Spot Reserved - 4
81 - YIELD Yield Price
82 - BASIS_HIGH Current Basis High Value
83 - BASIS_LOW Current Bases Low Value
84 - UNCLEAR bid or offer price is unclear
85 - OTC Over the counter trade
86 - MS Trade entered by Market Supervision
87 - ODDLOT Odd lot trade
88 - CORRCSLDLAST Corrected Consolidated last
89 - QUALCONT Qualified Contingent Trade
8A - MC_OPEN Market Center Opening Trade
8B - CONFIRMED Confirmed
8C - OUTAGE Outage
8D - SPRD_LEG CME spread leg trade
8E - BNDL_SPRD_LEG Final CME MDP3 trade from Trade Summary message that could not be Un-Bundled
8F - LATECORR LSE - Late Correction
90 - CONTRA LSE - Previous days contra
91 - IF_TRANSFER LSE - Inter-fund transfer
92 - IF_CROSS LSE - Inter-fund Cross
93 - NEG_TRADE LSE - Negotiated Trade
94 - OTC_CANC LSE - OTC Trade Cancellation
95 - OTC_TRADE LSE - OTC Trade
96 - SI_LATECORR LSE - SI Late Correction
97 - SI_TRADE LSE - SI Trade
98 - AUCT_TRADE LSE - Auctions (bulk;individual)
99 - LATE LSE - Late trade
9A - STRAT LSE - Strategy vs. Strategy Trade trade
9B - INDICATIVE_AUCT LSE - Indicative Auction Uncrossing Data


