Thank you, Eugene.

On Thursday, October 9, 2014 7:21:16 PM UTC-7, Eugene Kononov wrote:
>
> Yes, that would work, as well.
> Ali Farahani <[email protected] <javascript:>> 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 <[email protected]> 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 <[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.
>>>
>>
>>  -- 
> 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] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> 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