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.
