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 <[email protected]> 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 <[email protected]>
> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
>>>> 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 <[email protected]> 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 [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> 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 [email protected].
>>>> To post to this group, send email to [email protected].
>>>> 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 [email protected].
>>> To post to this group, send email to [email protected].
>>> 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 [email protected].
>> To post to this group, send email to [email protected].
>> 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 [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/jbooktrader.
For more options, visit https://groups.google.com/d/optout.

Reply via email to