[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] rounding the buyprice



PureBytes Links

Trading Reference Links

Hi Nigel,

Well, we can certainly try it and see what happens.  Here are the
Tokyo rules:

If price is 1 to 1999, tick is 1.

If price is 2000 to 2999, tick is 5.

If price is 300 to 29,999, tick is 10.

If price is 30,000 to 49,999, tick is 50.

If price is 50,000 to 99,999, tick is 100.

If price is 100,000 to 999,999, tick is 1,000.

If price is 1,000,000 to 19,999,999, tick is 10,000.

If price is (I have never traded anything higher, and probably never
will.)  ^_-

There are no fractions ever.  The yen is indivisible.  One problem I
can foresee is that for buyprice I would always round up, and for
sellprice I would always round down.

Yuki

Monday, March 3, 2003, 7:02:22 PM, you wrote:

NR> Yuki,         it's in

NR> http://groups.yahoo.com/group/amibroker/files/PLUGIN DLL/ASXtick.zip

NR> but since you really only want the docs, here they are.

NR>         Nigel


NR> On Mon, 3 Mar 2003 08:52 pm, Yuki Taga wrote:
>> Hi Nigel,
>>
>> Sounds interesting, but I cannot seem to locate that particular file
>> in the files section.  I can't find anything at all posted by you,
>> however there are a number of ASX-specific files posted, but none I
>> see by the name of ASXtick.zip.
>>
>> Yuki
>>


NR> AmiBroker Indicator Plugin -- ASXtick.dll

NR> Utility functions for manipulating prices in terms of ASX ticks

NR> ASX rules for tick size.
NR>     - price <= 10c, tick is 0.1c  ($0.001)
NR>     - 10c < price <= 50c, tick is 0.5c  ($0.005)
NR>     - 50c < price, tick is 1c  ($0.01)
        
NR> Additional rules implimented in the plugin.
NR>     - price < $0.00, tick is undefined, price will be adjusted to 0.00.
NR>     - price == {Null} (AmiBroker undefined value), any {Null} input value
NR>       will cause the return to also be {Null}.
NR>     - price > $21,474,834 it's gunna give the wrong answer.  I don't care!!



NR> nrASXTICK
NR> ============
NR> Syntax:     nrASXtick(ARRAY, [delta=0], [round=0])
            
NR> Returns:    ARRAY

NR> Function:   Converts supplied array to legal ASX values (eg 0.103 -> 0.105)
NR>             It adds (constant) 'delta' ticks, and returns the result.
NR>             If you need to add time variant ticks, use to toticks() and
NR>             fromticks() functions.  See below.
            
NR>             If round=0 (the default), the supplied array is rounded to the 
NR>             nearest tick; if -ve, to it's floor; if +ve, to it's ceil.
            
NR> Example:    MAt = nrASXtick( MA(C,22) );
NR>             Rounds MA(C,22) to tick values.
            
NR>             Trailingstop = nrASXtick(Ref(L,-1), -2, -1);
NR>             Sets Trailingstop to 2 ticks less than yesterday's low.
NR>             (Nb. 0.105 - 2 ticks is 0.099, 1 tick of 0.005 and one of 0.001.)


NR> nrASXTICKDIFF
NR> =============
NR> Syntax:     nrASXtickdiff(ARRAY1, ARRAY2, [round=0])
            
NR> Returns:    ARRAY

NR> Function:   Converts the supplied arrays to legal ASX values and returns
NR>             the difference between them in ticks.
            
NR> Example:    ROCtick = nrASXtickdiff(C, Ref(C,-1)); Gives the ROC in ticks.
NR>             And nrASXtickdiff(0.75, 0.05) is
NR>                   25*0.01  +  80*0.005  +  50*0.001  =  155 ticks


NR> nrASXTOTICKS
NR> ============
NR> Syntax:     nrASXtoticks(ARRAY, [round=0])

NR> Returns:    ARRAY

NR> Function:   Converts a price array to number of ticks above 0.

NR> Example:    To calculate the stdev *measured in ticks* of close
NR>             Tickstdev = stdev(nrASXtoticks(Close), 14);
                    
NR>             I'm not sure how statistically valid this is, but....

            
NR> nrASXFROMTICKS
NR> ==============                            
NR> Syntax:     nrASXfromticks(array)
    
NR> Returns:    ARRAY

NR> Function:   Inverse of nrASXtotick().  Coverts a tick array back to prices.

NR> Example:    A psuedo-bollinger-band, based on movement in ticks.

NR>                 pBBcenterT = nrASXtoticks(MA(C,20));  // MA converted to ticks
NR>                 pBBstdevT = stdev(pBBcenterT, 20);
NR>                 pBBtop = nrASXfromtick( pBBcenterT + (2 * pBBstdevT));
NR>                 // Nb. pBBbottom will be truncated at zero. (It cannot be 
NR> -ve.)
NR>                 pBBbottom = nrASXfromtick( pBBcenterT - (2 * pBBstdevT));

NR>             If the previous example is sus' this one is even more so...
                    
                    






NR> Send BUG REPORTS to bugs@xxxxxxxxxxxxx
NR> Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
NR> -----------------------------------------
NR> Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
NR> (Web page: http://groups.yahoo.com/group/amiquote/messages/)
NR> --------------------------------------------
NR> Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

NR> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 



 
Best,

Yuki

mailto:yukitaga@xxxxxxxxxxxxx


Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/