/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ namespace QuantConnect.Indicators { public abstract partial class IndicatorBase { /// /// Returns the current value of this instance /// /// The indicator instance /// The current value of the indicator public static implicit operator decimal(IndicatorBase instance) { return instance.Current.Value; } /// /// Determines if the indicator's current value is greater than the specified value /// public static bool operator >(IndicatorBase left, double right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value > (decimal)right; } /// /// Determines if the indicator's current value is less than the specified value /// public static bool operator <(IndicatorBase left, double right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value < (decimal)right; } /// /// Determines if the specified value is greater than the indicator's current value /// public static bool operator >(double left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left > right.Current.Value; } /// /// Determines if the specified value is less than the indicator's current value /// public static bool operator <(double left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left < right.Current.Value; } /// /// Determines if the indicator's current value is greater than or equal to the specified value /// public static bool operator >=(IndicatorBase left, double right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value >= (decimal)right; } /// /// Determines if the indicator's current value is less than or equal to the specified value /// public static bool operator <=(IndicatorBase left, double right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value <= (decimal)right; } /// /// Determines if the specified value is greater than or equal to the indicator's current value /// public static bool operator >=(double left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left >= right.Current.Value; } /// /// Determines if the specified value is less than or equal to the indicator's current value /// public static bool operator <=(double left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left <= right.Current.Value; } /// /// Determines if the indicator's current value is equal to the specified value /// public static bool operator ==(IndicatorBase left, double right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value == (decimal)right; } /// /// Determines if the indicator's current value is not equal to the specified value /// public static bool operator !=(IndicatorBase left, double right) { if (ReferenceEquals(left, null)) return true; return left.Current.Value != (decimal)right; } /// /// Determines if the specified value is equal to the indicator's current value /// public static bool operator ==(double left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left == right.Current.Value; } /// /// Determines if the specified value is not equal to the indicator's current value /// public static bool operator !=(double left, IndicatorBase right) { if (ReferenceEquals(right, null)) return true; return (decimal)left != right.Current.Value; } /// /// Determines if the indicator's current value is greater than the specified value /// public static bool operator >(IndicatorBase left, float right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value > (decimal)right; } /// /// Determines if the indicator's current value is less than the specified value /// public static bool operator <(IndicatorBase left, float right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value < (decimal)right; } /// /// Determines if the specified value is greater than the indicator's current value /// public static bool operator >(float left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left > right.Current.Value; } /// /// Determines if the specified value is less than the indicator's current value /// public static bool operator <(float left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left < right.Current.Value; } /// /// Determines if the indicator's current value is greater than or equal to the specified value /// public static bool operator >=(IndicatorBase left, float right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value >= (decimal)right; } /// /// Determines if the indicator's current value is less than or equal to the specified value /// public static bool operator <=(IndicatorBase left, float right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value <= (decimal)right; } /// /// Determines if the specified value is greater than or equal to the indicator's current value /// public static bool operator >=(float left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left >= right.Current.Value; } /// /// Determines if the specified value is less than or equal to the indicator's current value /// public static bool operator <=(float left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left <= right.Current.Value; } /// /// Determines if the indicator's current value is equal to the specified value /// public static bool operator ==(IndicatorBase left, float right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value == (decimal)right; } /// /// Determines if the indicator's current value is not equal to the specified value /// public static bool operator !=(IndicatorBase left, float right) { if (ReferenceEquals(left, null)) return true; return left.Current.Value != (decimal)right; } /// /// Determines if the specified value is equal to the indicator's current value /// public static bool operator ==(float left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return (decimal)left == right.Current.Value; } /// /// Determines if the specified value is not equal to the indicator's current value /// public static bool operator !=(float left, IndicatorBase right) { if (ReferenceEquals(right, null)) return true; return (decimal)left != right.Current.Value; } /// /// Determines if the indicator's current value is greater than the specified value /// public static bool operator >(IndicatorBase left, int right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value > right; } /// /// Determines if the indicator's current value is less than the specified value /// public static bool operator <(IndicatorBase left, int right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value < right; } /// /// Determines if the specified value is greater than the indicator's current value /// public static bool operator >(int left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left > right.Current.Value; } /// /// Determines if the specified value is less than the indicator's current value /// public static bool operator <(int left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left < right.Current.Value; } /// /// Determines if the indicator's current value is greater than or equal to the specified value /// public static bool operator >=(IndicatorBase left, int right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value >= right; } /// /// Determines if the indicator's current value is less than or equal to the specified value /// public static bool operator <=(IndicatorBase left, int right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value <= right; } /// /// Determines if the specified value is greater than or equal to the indicator's current value /// public static bool operator >=(int left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left >= right.Current.Value; } /// /// Determines if the specified value is less than or equal to the indicator's current value /// public static bool operator <=(int left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left <= right.Current.Value; } /// /// Determines if the indicator's current value is equal to the specified value /// public static bool operator ==(IndicatorBase left, int right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value == right; } /// /// Determines if the indicator's current value is not equal to the specified value /// public static bool operator !=(IndicatorBase left, int right) { if (ReferenceEquals(left, null)) return true; return left.Current.Value != right; } /// /// Determines if the specified value is equal to the indicator's current value /// public static bool operator ==(int left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left == right.Current.Value; } /// /// Determines if the specified value is not equal to the indicator's current value /// public static bool operator !=(int left, IndicatorBase right) { if (ReferenceEquals(right, null)) return true; return left != right.Current.Value; } /// /// Determines if the indicator's current value is greater than the specified value /// public static bool operator >(IndicatorBase left, long right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value > right; } /// /// Determines if the indicator's current value is less than the specified value /// public static bool operator <(IndicatorBase left, long right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value < right; } /// /// Determines if the specified value is greater than the indicator's current value /// public static bool operator >(long left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left > right.Current.Value; } /// /// Determines if the specified value is less than the indicator's current value /// public static bool operator <(long left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left < right.Current.Value; } /// /// Determines if the indicator's current value is greater than or equal to the specified value /// public static bool operator >=(IndicatorBase left, long right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value >= right; } /// /// Determines if the indicator's current value is less than or equal to the specified value /// public static bool operator <=(IndicatorBase left, long right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value <= right; } /// /// Determines if the specified value is greater than or equal to the indicator's current value /// public static bool operator >=(long left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left >= right.Current.Value; } /// /// Determines if the specified value is less than or equal to the indicator's current value /// public static bool operator <=(long left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left <= right.Current.Value; } /// /// Determines if the indicator's current value is equal to the specified value /// public static bool operator ==(IndicatorBase left, long right) { if (ReferenceEquals(left, null)) return false; return left.Current.Value == right; } /// /// Determines if the indicator's current value is not equal to the specified value /// public static bool operator !=(IndicatorBase left, long right) { if (ReferenceEquals(left, null)) return true; return left.Current.Value != right; } /// /// Determines if the specified value is equal to the indicator's current value /// public static bool operator ==(long left, IndicatorBase right) { if (ReferenceEquals(right, null)) return false; return left == right.Current.Value; } /// /// Determines if the specified value is not equal to the indicator's current value /// public static bool operator !=(long left, IndicatorBase right) { if (ReferenceEquals(right, null)) return true; return left != right.Current.Value; } } }