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 CaptainJack, 05-29-2026, 05:09 AM
        0 responses
        230 views
        0 likes
        Last Post CaptainJack  
        Started by CaptainJack, 05-29-2026, 12:02 AM
        0 responses
        149 views
        0 likes
        Last Post CaptainJack  
        Started by charlesugo_1, 05-26-2026, 05:03 PM
        0 responses
        161 views
        1 like
        Last Post charlesugo_1  
        Started by DannyP96, 05-18-2026, 02:38 PM
        1 response
        243 views
        0 likes
        Last Post NinjaTrader_ChelseaB  
        Started by CarlTrading, 05-11-2026, 05:56 AM
        0 responses
        198 views
        0 likes
        Last Post CarlTrading  
        Working...
        X