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 <[email protected]> wrote:

> This makes sense. Thanks for all your help.
>
> Ali
>
>
> On Tue, Oct 7, 2014 at 5:57 PM, Eugene Kononov <[email protected]>
> 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 <[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.
>>
>
>

-- 
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