Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Using Market.Position in indicator from addon

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Using Market.Position in indicator from addon

    Im working on an indicator that submits orders when conditions are met, i currently use an add on to get ATM Insturment QTY and Account from chart trader, the indicator takes the trade, but the problem is that it calculates on each tick so i wanted to use this to take only one trade if flat or reverse when long, is there anyway i can get around this? could i pass it as a string value from an event?

    #2
    code im using

    if(Position.MarketPosition == MarketPosition.Flat)
    {
    Order mar****rder = account.CreateOrder(Instrument, OrderAction.Buy, OrderType.Market, OrderEntry.Automated, TimeInForce.Day, 1, 0, 0, string.Empty, "Long conditional", new DateTime(), null);
    account.Submit(new Order[] { mar****rder });
    }
    else if(Position.MarketPosition == MarketPosition.Short)
    {
    Order mar****rder = account.CreateOrder(Instrument, OrderAction.BuyToCover, OrderType.Market, OrderEntry.Automated, TimeInForce.Day, 1, 0, 0, string.Empty, "Long conditional", new DateTime(), null);
    account.Submit(new Order[] { mar****rder });
    }
    else
    {
    }​

    Comment


      #3
      i found a work around but its only registering long or short, i can close them but cant enter a new position when flat, any suggestions would be greatly appreciated


      int marketPosition = 0;

      lock (Account.All)
      account = Account.All.FirstOrDefault(a => a.Name == acct);

      if (account != null)
      {

      lock (account.Positions)
      {
      foreach (Position position in account.Positions)
      {
      if (position.MarketPosition == MarketPosition.Long)
      {
      marketPosition = 1;
      Print("LONG");
      }
      else if (position.MarketPosition == MarketPosition.Short)
      {
      marketPosition = 2;
      Print("SHORT");
      }
      else if(position.MarketPosition == MarketPosition.Flat)
      {
      marketPosition = 3;
      Print("FLAT");
      }​

      Comment


        #4
        I solved it, new here, not sure how to delete this post, so if an admin see this you can get rid of it

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by cmoran13, 04-16-2026, 01:02 PM
        0 responses
        43 views
        0 likes
        Last Post cmoran13  
        Started by PaulMohn, 04-10-2026, 11:11 AM
        0 responses
        25 views
        0 likes
        Last Post PaulMohn  
        Started by CarlTrading, 03-31-2026, 09:41 PM
        1 response
        163 views
        1 like
        Last Post NinjaTrader_ChelseaB  
        Started by CarlTrading, 04-01-2026, 02:41 AM
        0 responses
        98 views
        1 like
        Last Post CarlTrading  
        Started by CaptainJack, 03-31-2026, 11:44 PM
        0 responses
        158 views
        2 likes
        Last Post CaptainJack  
        Working...
        X