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.

Reply via email to