"""Module for IQ Option Candles websocket object."""
from iqoptionapi.ws.objects.base import Base
[docs]class Candle(object):
"""Class for IQ Option candle."""
def __init__(self, candle_data):
"""
:param candle_data: The list of candles data.
"""
self.__candle_data = candle_data
@property
def candle_time(self):
"""Property to get candle time.
:returns: The candle time.
"""
return self.__candle_data[0]
@property
def candle_open(self):
"""Property to get candle open value.
:returns: The candle open value.
"""
return self.__candle_data[1]
@property
def candle_close(self):
"""Property to get candle close value.
:returns: The candle close value.
"""
return self.__candle_data[2]
@property
def candle_high(self):
"""Property to get candle high value.
:returns: The candle high value.
"""
return self.__candle_data[3]
@property
def candle_low(self):
"""Property to get candle low value.
:returns: The candle low value.
"""
return self.__candle_data[4]
@property
def candle_type(self): # pylint: disable=inconsistent-return-statements
"""Property to get candle type value.
:returns: The candle type value.
"""
if self.candle_open < self.candle_close:
return "green"
elif self.candle_open > self.candle_close:
return "red"
[docs]class Candles(Base):
"""Class for IQ Option Candles websocket object."""
def __init__(self):
super(Candles, self).__init__()
self.__name = "candles"
self.__candles_data = None
@property
def candles_data(self):
"""Property to get candles data.
:returns: The list of candles data.
"""
return self.__candles_data
@candles_data.setter
def candles_data(self, candles_data):
"""Method to set candles data."""
self.__candles_data = candles_data
@property
def first_candle(self):
"""Method to get first candle.
:returns: The instance of :class:`Candle
<iqoptionapi.ws.objects.candles.Candle>`.
"""
return Candle(self.candles_data[0])
@property
def second_candle(self):
"""Method to get second candle.
:returns: The instance of :class:`Candle
<iqoptionapi.ws.objects.candles.Candle>`.
"""
return Candle(self.candles_data[1])
@property
def current_candle(self):
"""Method to get current candle.
:returns: The instance of :class:`Candle
<iqoptionapi.ws.objects.candles.Candle>`.
"""
return Candle(self.candles_data[-1])