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.
