NexusFi: Find Your Edge


Home Menu

 





Needed futures platform with scheduled order entries (and exits)


Discussion in Platforms and Indicators

Updated
    1. trending_up 6,293 views
    2. thumb_up 2 thanks given
    3. group 2 followers
    1. forum 5 posts
    2. attach_file 1 attachments




 
Search this Thread

Needed futures platform with scheduled order entries (and exits)

  #1 (permalink)
pecunianonolet
London, UK
 
Posts: 5 since Dec 2016
Thanks Given: 2
Thanks Received: 1

Hi,

I'm looking for a trading platform (for futures on CME/Globex) that allows a user to submit pre-scheduled order entry.

I basically need to submit pending order (along with bracketed OCO order), which will only be released to the exchange at specified time, pre-set by me when entering the order details earlier.

Example:

At 11pm I want to be able submit a BUY MARKET order that will be send to the exchange at 2.25 am, along with attached Trailing Stop Loss and Target Limit orders.

If I can also paramatrize the parent order so that the child OCO orders get converted to Market order at certain time (e.g. 7.27 am) - all the better.


What trading platforms allow user to do it?

I'm only aware of R Trader to have that functionality but I dislike their GUI and the platform has otherwise limited functionality (e.g. crappy charting).

I think Tradestation has it (not sure?) but they don't accept clients from Europe for futures...

Do you know any other platform that can pre-schedule market orders with attached orders like that?

I'd really appreciate it.

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
REcommedations for programming help
Sierra Chart
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
Trade idea based off three indicators.
Traders Hideout
What broker to use for trading palladium futures
Commodities
Cheap historycal L1 data for stocks
Stocks and ETFs
 
  #2 (permalink)
 Trembling Hand 
Melbourne, Land of Oz
 
Experience: Advanced
Platform: Sierra Chart, CQG
Broker: CQG
Trading: HSI
Posts: 246 since Jun 2011
Thanks Given: 28
Thanks Received: 360

Would be pretty easy to do in Sierra Charts and ACSIL to send orders at a time. May even be able to do it with their spreedsheet systems.

Follow me on Twitter Reply With Quote
Thanked by:
  #3 (permalink)
pecunianonolet
London, UK
 
Posts: 5 since Dec 2016
Thanks Given: 2
Thanks Received: 1


@Trembling Hand:

Thx for mentioning it. I was wondering if it would be doable...

With Sierra Chart, do you know any specific resources focusing on timed order entries of parent order and also conversion of TP, SL bracket orders to MARKET at specific time?

And any tips with ACSIL (spelling?).
Obviously I'm not expecting you to write functions in it for me for free (I wonder, though, how much would someone charge me for such custom snippet of ACSIL code...), but some tips to achieve what I have in mind - to submit Market BUY at pre-scheduled time with attached SL of 50 ticks and trailing stop of 20 ticks on SILK1 (micro silver contract from Comex/Globex) would be great...

Reply With Quote
  #4 (permalink)
 Trembling Hand 
Melbourne, Land of Oz
 
Experience: Advanced
Platform: Sierra Chart, CQG
Broker: CQG
Trading: HSI
Posts: 246 since Jun 2011
Thanks Given: 28
Thanks Received: 360


pecunianonolet View Post
Obviously I'm not expecting you to write functions in it for me for free (I wonder, though, how much would someone charge me for such custom snippet of ACSIL code...),

But I did...

 
Code
SCSFExport scsf_SubmitTradeAtTime(SCStudyInterfaceRef sc) {


    SCInputRef TradeTime = sc.Input[0];
    SCInputRef InitialStop = sc.Input[1];
    SCInputRef TrailStep = sc.Input[2];

    if (sc.SetDefaults) {

        sc.GraphName = "Submit Trade At Time";
        sc.GraphRegion = 0;
        sc.AutoLoop = 1;


        TradeTime.Name = "Start trading at: ";
        TradeTime.SetTime(HMS_TIME(8, 30, 0));

        InitialStop.Name = "Initial Stop START Amount";
        InitialStop.SetFloat(50);

        TrailStep.Name = "Trail Step STEP Amount in Ticks";
        TrailStep.SetInt(20);


        return;

    }

    
    int& LastBarIndexProcessed = sc.GetPersistentInt(0);
    int& OncePerDay = sc.GetPersistentInt(1);


    SCDateTime TradingDayStartDateTime = sc.GetTradingDayStartDateTimeOfBar(sc.BaseDateTimeIn[sc.IndexOfLastVisibleBar]);
    SCString dateTime = sc.FormatDateTime(TradingDayStartDateTime).GetChars();
    int StartIndex = sc.GetFirstIndexForDate(sc.ChartNumber, TradingDayStartDateTime.GetDate());



    s_SCPositionData PositionData;
    sc.GetTradePosition(PositionData);
    int Holding = PositionData.PositionQuantity;

    s_SCNewOrder Order;
    Order.OrderQuantity = 1;
    Order.OrderType = SCT_ORDERTYPE_MARKET;
    Order.Stop1Offset = InitialStop.GetInt() * sc.TickSize;
    Order.AttachedOrderStop1Type = SCT_ORDERTYPE_STEP_TRAILING_STOP;
    Order.TrailStopStepPriceAmount = TrailStep.GetInt() * sc.TickSize;



    // One Time Processing per Bar
    if (sc.Index == 0)
        LastBarIndexProcessed = -1;
    if (sc.Index == LastBarIndexProcessed)
        return;
    LastBarIndexProcessed = sc.Index;


    // Submit Order At Time
    if (OncePerDay == 0) {
        if (Holding == 0) {
            if (sc.BaseDateTimeIn[sc.Index].GetTime() >= TradeTime.GetTime()) {
                sc.BuyEntry(Order);
                OncePerDay = 1;
            }
        }
    }
    

}

This is a very very rough example of sending an order at a time with the required attracted trailing stop. Only use for an example of whats possible.

See the docs for more details,
https://www.sierrachart.com/index.php?page=doc/AdvancedCustomStudyInterfaceAndLanguage.php
https://www.sierrachart.com/index.php?page=doc/ACSILTrading.html


2021-03-04 08_53_55-Window

Follow me on Twitter Reply With Quote
  #5 (permalink)
pecunianonolet
London, UK
 
Posts: 5 since Dec 2016
Thanks Given: 2
Thanks Received: 1

@ Trembling Hand:

Wow. I haven’t seen it coming!

Amazing - both the outcome and willingness to go extra mile t help a stranger.
If you message me your email address, I’ll happily gift you a small Amazon e-voucher/gift card - at least you will be able t get yourself some kindle ebook for such effort;-)

Btw, how would I add a Target Profit order - say to sell at Market if the price reaches Target of 70 ticks?

And is there a good way to tell system - in ACSIl code - to only start trailing (by the prescribed trailing step) the position ONLY once the position is 2 ticks in profit (i.e. start trailing/trigger trail once position is 2 ticks in profit)?

Reply With Quote
  #6 (permalink)
 Trembling Hand 
Melbourne, Land of Oz
 
Experience: Advanced
Platform: Sierra Chart, CQG
Broker: CQG
Trading: HSI
Posts: 246 since Jun 2011
Thanks Given: 28
Thanks Received: 360


pecunianonolet View Post
Btw, how would I add a Target Profit order - say to sell at Market if the price reaches Target of 70 ticks?

Just add a line in the s_SCNewOrder block


Quoting 
Order.Target1Offset = 70 * sc.TickSize;


pecunianonolet View Post
And is there a good way to tell system - in ACSIl code - to only start trailing (by the prescribed trailing step) the position ONLY once the position is 2 ticks in profit (i.e. start trailing/trigger trail once position is 2 ticks in profit)?

Its already got that

Follow me on Twitter Reply With Quote
Thanked by:




Last Updated on March 18, 2021


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts