diff --git a/.gitignore b/.gitignore index 37c83965c..cf0bd17d2 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,11 @@ samples2/ datas/*.py .idea/ +.DS_Store +backtrader/.DS_Store +contrib/.DS_Store +samples/.DS_Store +/datas +/samples +/datas/ +/samples/ diff --git a/backtrader/comminfo.py b/backtrader/comminfo.py index 6bfd8e015..ece81921c 100644 --- a/backtrader/comminfo.py +++ b/backtrader/comminfo.py @@ -177,7 +177,7 @@ def get_margin(self, price): - Use param ``automargin`` * ``price`` if ``automargin > 0`` ''' if not self.p.automargin: - return self.p.margin + return price * self.p.margin elif self.p.automargin < 0: return price * self.p.mult @@ -192,9 +192,9 @@ def get_leverage(self): def getsize(self, price, cash): '''Returns the needed size to meet a cash operation at a given price''' if not self._stocklike: - return int(self.p.leverage * (cash // self.get_margin(price))) + return self.p.leverage * (cash / self.get_margin(price)) - return int(self.p.leverage * (cash // price)) + return self.p.leverage * (cash / price) def getoperationcost(self, size, price): '''Returns the needed amount of cash an operation would cost'''