Instant execution of limit orders in HFT mode.

Posted By: madpower2000

Instant execution of limit orders in HFT mode. - 02/06/23 18:22

I stumbled upon strange behaviour of Instant execution of limit orders in HFT mode.
If I placed a limit order with the correct price, it was executed immediately, but it must be pending.
I can’t figure out why it happened.
Should I set up some additional system variables?

Log output:
Code
Load Demo.csv
[0] Demo 10:00:00.43200: Ask 990.00 => 990.00 989.00
[0] Demo 10:00:00.43200: Bid 980.00 => 990.00 10.00
>>[0] 990.000000:980.000000
Enter Long Demo  Entry -50.000 at 10:00:00
(Demo::L) Long 1@940.00 Entry limit
[Demo::L00002] Long 1@990.00  at 10:00:01
Com 0000  Mrg 10.00  Net 0
Units 10.0000  MTotal 0.00  MCost 10.0000 PCost 10.00000 Opn 0
[0] Demo 10:00:01.86400: Ask 980.00 => 980.00 10.00
[1] Demo 10:00:01.86400: Bid 970.00 => 980.00 10.00
>>[1] 980.000000:970.000000

Code to reproduce:
Code
#define TIME_FORMAT	"%Y%m%d %H:%M:%S"

function main()
{
	seed(3);
	set(LOGFILE+PLOTNOW);
	Verbose = 7; 
	MaxBars = 50;
	BarPeriod = 0.1/60.;
	Outlier = 0;
	assetList("Demo.csv",0); // assetAdd("Demo",0,0,0,0,1,10,0,1,1,0,"Demo.HFT");

	Hedge = 2;
	Fill = 8;
	Slippage = 0;
	Lots = 1;
	
	var Quote = 1000.0;
	var TimeStamp =  wdatef(TIME_FORMAT,"20200101 10:00:00");
	int result;
	var BidPrice;
	while(Bar < MaxBars) 
	{
		TimeStamp += 0.000005;
		Quote += sign(random()) * 10;
		BidPrice = Quote - 10;
		result = priceQuote(TimeStamp, Quote); 
		if(!result) printf("\npriceQuote(AskPrice:%f) ERROR!", Quote);
		
		result = priceQuote(TimeStamp, -BidPrice); 
		if(!result) printf("\npriceQuote(BidPrice:%f) ERROR!", BidPrice);
 
		plot("Ask", AskPrice, LINE, RED);
		plot("Bid", BidPrice, LINE, BLUE);
		printf("\n>>[%i] %f:%f", Bar, AskPrice, BidPrice);
		
		if((NumPendingTotal+NumOpenTotal)==0)
		{
			Entry = -50;
			enterLong();
		}
	}
	exitLong(); exitShort();
}
Posted By: Grant

Re: Instant execution of limit orders in HFT mode. - 02/08/23 11:54

Which broker connection are you using? Some don't support true limit orders, such as MT4/MT5.
Check the manual for details on your connection type.
Posted By: madpower2000

Re: Instant execution of limit orders in HFT mode. - 02/11/23 15:27

I didn't use any brocker. This is backtest.
Posted By: Grant

Re: Instant execution of limit orders in HFT mode. - 02/11/23 15:57

I see.

I'm not sure if limit orders are supported when Fill is set on 8 (I've only seen code examples with market orders with this setting).
Maybe JCL or someone else can elaborate on this?
Posted By: madpower2000

Re: Instant execution of limit orders in HFT mode. - 02/12/23 14:22

Yes, this is the essence of my question. Is it a bug or a feature?
Anyway any classic stock exchange order matching engine supports this functionality, I’m not talking here about forex kitchen.
Anyway, JCL, where are you? Only you know the answer! smile
© 2024 lite-C Forums