Esempio n. 1
0
		/// <summary>
		/// Détermine si la bougie est haussière (Bullisk) ou baissière (Bearish)
		/// </summary>
		/// <param name="marketSeries">L'instance de MarketSeries actuel</param>
		/// <param name="robot">instance of the current robot</param>
		/// <param name="index">index de la bougie à tester (ordre inversé)</param>
		/// <returns>true si la bougie est haussière, false sinon</returns>
		public static bool? isBullCandle(this MarketSeries marketSeries, int index)
		{
			int count = marketSeries.Bars();

			if (index >= 0 && index < count)
			{
				double open = marketSeries.Open[count - 1 - index];
				double close = marketSeries.Close[count - 1 - index];
				double median = marketSeries.Median[count - 1 - index];
				double variation;

				if (double.IsNaN(close))
					variation = median-open;
				else
					variation = close - open;

				if (variation > 0)
					return true;
				else
					if (variation < 0)
						return false;
					else
						return null;
			}
			else
				throw new ArgumentException(string.Format("Valeur de l'indice {0} en dehors des valeurs permises", index));
		}
Esempio n. 2
0
		/// <summary>
		/// Vérifie si une bougie traverse une frontière
		/// </summary>
		/// <param name="marketSeries">L'instance de MarketSeries actuel</param>
		/// <param name="index">index de la bougie à tester (ordre inversé)</param>
		/// <param name="frontier">frontière horizontale à tester par rapport à la bougie</param>
		/// <returns>true si la bougie est sur la frontière, false sinon</returns>
		public static bool isCandleOver(this MarketSeries marketSeries, int index, double frontier)
		{
			int count = marketSeries.Bars();

			if (index >= 0 && index < count)
			{
				return frontier.between(marketSeries.Low[count - 1 - index], marketSeries.High[count - 1 - index]);

			}
			else
				throw new ArgumentException(string.Format("Valeur de l'indice {0} en dehors des valeurs permises", index));

		}
Esempio n. 3
0
		/// <summary>
		/// Teste si une bougie est en dessous d'une bougie
		/// </summary>
		/// <param name="marketSeries">L'instance de MarketSeries actuel</param>
		/// <param name="index">index de la bougie à tester (ordre inversé)</param>
		/// <param name="limit">limite horizontale à tester par rapport à la bougie</param>
		/// <returns>true si la bougie est au dessous de la limite, false sinon</returns>
		public static bool iscandleBelow(this MarketSeries marketSeries, int index, double limit)
		{
			int count = marketSeries.Bars();

			if (index >= 0 && index < count)
				return marketSeries.High[count - 1 - index] <= limit;
			else
				throw new ArgumentException(string.Format("Valeur de l'indice {0} en dehors des valeurs permises", index));


		}