Yes, that would work, as well.Ali Farahani <***@gmail.com> wrote:Hi Eugene,
Since "The indicators are calculated for the entire duration of the period in which market data is available, regardless of the trading schedule. The only thing that trading schedule controls is the time interval when the onBookSnapshot() method is invoked.", does this mean that I could access the value of the Indicator if I put it inside another method (of Strategy class)? Before I did some work on this, I wanted to make sure it was doable.
Thanks you,
Ali
On Wednesday, October 8, 2014 4:52:54 AM UTC-7, Eugene Kononov wrote:
Yes, this will work, too.
On Wed, Oct 8, 2014 at 1:54 AM, Ali Farahani <***@gmail.com> wrote:
Eugene,
I am also trying another approach: I created the "monitoring" strategy with 9:30 to 16:00 trading schedule. I created my trading strategy by Extending the "monitoring" strategy and made its trading schedule from 10:05 to 15:25. Hopefully this makes sense and would work (without any unintended consequences).
Thanks.
Ali
On Tue, Oct 7, 2014 at 6:10 PM, Ali Farahani <***@gmail.com> wrote:
This makes sense. Thanks for all your help.
Ali
On Tue, Oct 7, 2014 at 5:57 PM, Eugene Kononov <***@gmail.com> wrote:
Yeah, now I think I understand what you want. There is no built-in mechanism for the functionality that you want. However, there is an easy work around.Â
1. Create a copy of your trading strategy.Â
2. Change the trading interval to "09:30", "15:25".
3. In the onBookSnapshot() method, leave everything as is, but remove (or comment out) the order placing code, which is the goLong(), goShort(), and goFlat() methods.
As a result, this would be your "monitoring" strategy. It would calclulate the indicator values, but would never trade.
On Tue, Oct 7, 2014 at 8:48 PM, Ali Farahani <***@gmail.com> wrote:
Eugene,
The indicator values are calculated correctly by JBT as you have described here (regardless of the trading schedule). Maybe my misunderstanding is related to onBookSnapshot(). You had mentioned that "... The only thing that trading schedule controls is the time interval when the onBookSnapshot() method is invoked." I think I now understand the disconnect. The logic I had expected to execute is currently inside onBookSnapshot(); no wonder it only got executed after the start of the trading schedule. I am simply trying to monitor the value of the force before the start of the trading schedule. Any suggestions on which of the Strategy methods I should override to have this code run (similar to how onBookSnapshot() runs)?
Thank you again for your time.
Ali
On Tue, Oct 7, 2014 at 5:26 PM, Eugene Kononov <***@gmail.com> wrote:
Yeah, this looks perfectly fine, Ali. Please post a chart so that we can see the original problem where the indicator values are not calculated until the start of the trading schedule.
On Tue, Oct 7, 2014 at 7:59 PM, Ali Farahani <***@gmail.com> wrote:
Hello Eugene,
The indicator I am using is a variation of Tension, as follows:
public class Force extends Indicator {
  private final double fastMultiplier, slowMultiplier;
  private double fastBal, slowBal, fastPrice, slowPrice;
  private final double scaleFactor;
  public Force(int fastPeriod, int slowPeriod, int scaleFactor) {
    super(fastPeriod, slowPeriod, scaleFactor);
    fastMultiplier = 2.0 / (fastPeriod + 1.0);
    slowMultiplier = 2.0 / (slowPeriod + 1.0);
    this.scaleFactor = scaleFactor;
  }
  @Override
  public void calculate() {
 Â
  MarketSnapshot snapshot = marketBook.getSnapshot();
  // balance
    double balance = snapshot.getBalance();
    fastBal += (balance - fastBal) * fastMultiplier;
    slowBal += (balance - slowBal) * slowMultiplier;
    double balanceVelocity = fastBal - slowBal;
   // price
    double price = snapshot.getPrice();
    fastPrice += (price - fastPrice) * fastMultiplier;
    slowPrice += (price - slowPrice) * slowMultiplier;
    double priceVelocity = fastPrice - slowPrice;
    Â
   // force
    value = balanceVelocity - scaleFactor * priceVelocity;
  }
Thanks again,
Ali
On Tue, Oct 7, 2014 at 9:06 AM, Gmail <***@gmail.com> wrote:
Hi Eugene,
Thanks for the clarification. I'm not by my PC right now, I'll send you the Force code later today. The code is a simple combination of BalanceVelocity and PriceVelocity. I combined them into a Force Indicator to be able to view the curve on the chart.
Many thanks,
Ali
On Oct 7, 2014, at 6:08 AM, Eugene Kononov <***@gmail.com> wrote:
Hi Ali,
The indicators are calculated for the entire duration of the period in which market data is available, regardless of the trading schedule. The only thing that trading schedule controls is the time interval when the onBookSnapshot() method is invoked. If you don't see the indicator values before the trading schedule starts, the problem is in the indicator itself. The most likely explanation is that your indicator needs a history of market data which spans over the trading interval. For example, if you record from 9am, and the indicator needs 60 minutes of data to calculate its values, the first calculated indicator value would be at 10am. If you post your indicator code, perhaps I can spot a problem.
E.
On Tue, Oct 7, 2014 at 1:34 AM, Ali Farahani <***@gmail.com> wrote:
Hello Eugene,
I am using the Trading Schedule of:
TradingSchedule tradingSchedule = new TradingSchedule("10:05", "15:25", "America/New_York");
The indicator I am using (Force) only becomes available starting at 10:05. I am trying to also monitor Force between 9:30 and 10:05, so I changed the Trading Schedule (in StrategyES) and added the following exclusion:
TradingSchedule tradingSchedule = new TradingSchedule("09:30", "15:25", "America/New_York");
tradingSchedule.setExclusion("09:30", "10:05");
So I am getting the "Exclusion period must be within trading period in trading schedule." message (from TradingSchedule).
Other than modifying the TradingSchedule class OR using 9:31 instead of 9:30 in the exclusion statement, is there a better way of accomplishing this objective?
Kind regards,
Ali
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbooktrader+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "JBookTrader" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbooktrader+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.