コード例 #1
0
ファイル: GridComputer.cs プロジェクト: rc153/LTF
 public void update(Time time, FixedPointDecimal newPrice)
 {
     double thisReturn = (double)newPrice / (double)prevPrice - 1;
     if (thisReturn > +returnThreshold || thisReturn < -returnThreshold)
     {
         times.Write(time);
         prices.Write(newPrice);
         prevPrice = newPrice;
     }
 }
コード例 #2
0
ファイル: RuleTickSize.cs プロジェクト: rc153/LTF
 private int binarySearch(FixedPointDecimal price, int equal)
 {
     int low = 0;
     int high = bounds.Length - 1;
     while (low <= high)
     {
         int mid = low + ((high - low) >> 1);
         int order = price.CompareTo(bounds[mid]);
         if (order == 0) return mid + equal;
         if (order < 0) high = mid - 1;
         else low = mid + 1;
     }
     return low;
 }
コード例 #3
0
ファイル: CompactBinaryWriter.cs プロジェクト: rc153/LTF
 public void WriteFixedPointDecimal(FixedPointDecimal fp)
 {
     WriteInt64(fp.ToRaw());
 }
コード例 #4
0
ファイル: FixedTickSize.cs プロジェクト: rc153/LTF
 private void Init(FixedPointDecimal value)
 {
     this.value = value;
 }
コード例 #5
0
ファイル: FixedTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal roundUp(FixedPointDecimal price)
 {
     return price.RoundUp(value);
 }
コード例 #6
0
ファイル: FixedTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal getTickUp(FixedPointDecimal price)
 {
     return value;
 }
コード例 #7
0
ファイル: FixedTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal getBoundUp(FixedPointDecimal price)
 {
     return FixedPointDecimal.MaxValue;
 }
コード例 #8
0
ファイル: FixedTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal getBoundDown(FixedPointDecimal price)
 {
     return FixedPointDecimal.MinValue;
 }
コード例 #9
0
ファイル: FixedTickSize.cs プロジェクト: rc153/LTF
 public FixedTickSize(FixedPointDecimal value)
 {
     Init(value);
 }
コード例 #10
0
ファイル: RuleTickSize.cs プロジェクト: rc153/LTF
        private int findIndexOfDown(FixedPointDecimal price)
        {
            return binarySearch(price, 0);

            /* for (int i = 0; i < bounds.Length; i++)
             {
                 if (price <= bounds[i]) return i;
             }
             return bounds.Length; */
        }
コード例 #11
0
ファイル: RuleTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal roundUp(FixedPointDecimal price)
 {
     int i = findIndexOfUp(price);
     return price.RoundUp(values[i]);
 }
コード例 #12
0
ファイル: RuleTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal getTickUp(FixedPointDecimal price)
 {
     int i = findIndexOfUp(price);
     return values[i];
 }
コード例 #13
0
ファイル: RuleTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal getBoundUp(FixedPointDecimal price)
 {
     int i = findIndexOfUp(price);
     if (i == bounds.Length) return FixedPointDecimal.MaxValue;
     return bounds[i];
 }
コード例 #14
0
ファイル: RuleTickSize.cs プロジェクト: rc153/LTF
 public FixedPointDecimal getBoundDown(FixedPointDecimal price)
 {
     int i = findIndexOfDown(price) - 1;
     if (i == -1) return FixedPointDecimal.MinValue;
     return bounds[i];
 }
コード例 #15
0
ファイル: Protobuf.cs プロジェクト: rc153/LTF
 public static void Encode(byte[] buffer, ref uint offset, FixedPointDecimal value, byte field_number)
 {
     EncodeFieldAndType(buffer, ref offset, 0, field_number);
     Varint.EncodeInt64(buffer, ref offset, value.ToRaw());
 }