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 Geovanny Suaza, 02-11-2026, 06:32 PM
        0 responses
        600 views
        0 likes
        Last Post Geovanny Suaza  
        Started by Geovanny Suaza, 02-11-2026, 05:51 PM
        0 responses
        347 views
        1 like
        Last Post Geovanny Suaza  
        Started by Mindset, 02-09-2026, 11:44 AM
        0 responses
        103 views
        0 likes
        Last Post Mindset
        by Mindset
         
        Started by Geovanny Suaza, 02-02-2026, 12:30 PM
        0 responses
        558 views
        1 like
        Last Post Geovanny Suaza  
        Started by RFrosty, 01-28-2026, 06:49 PM
        0 responses
        558 views
        1 like
        Last Post RFrosty
        by RFrosty
         
        Working...
        X