Last active
January 20, 2017 14:46
-
-
Save anesiadis/b7dba5b635738fbdb274b9a886ce6bbc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from strategy import Strategy, Order | |
from indicators import EMA | |
import resolution | |
class TestStrategy(Strategy): | |
def init(self): | |
self.cash(1000) | |
self.start_date(2015, 6, 2) | |
self.end_date(2015, 6, 3) | |
self.pair("EUR_USD", resolution.Minutes) | |
self.short_average = EMA(self, "EUR_USD", period=14) | |
self.mid_average = EMA(self, "EUR_USD", period=50) | |
self.long_average = EMA(self, "EUR_USD", period=200) | |
self.short_average.on_crossover(self.mid_average, self.long_order) | |
self.short_average.on_crossunder(self.mid_average, self.short_order) | |
self.tracker = Order.Tracker(self, "EUR_USD", 1) | |
def on_data(self, pair, data): | |
print pair, data['Date'] | |
def long_order(self): | |
if long_average.over(self, mid_average) and long_average.over(self, short_average): | |
if self.tracker.has(0) and not self.tracker[0].long(): | |
self.tracker[0].close() | |
if self.tracker.can_open(): | |
self.tracker.order(Order.Type.long, Order.Amount.cash_percentage, 0.5, target = 0.03, stoploss = 0.01, trailing_stoploss = 0.0002) | |
def short_order(self): | |
if long_average.under(self, mid_average) and long_average.under(self, short_average): | |
if self.tracker.has(0) and self.tracker[0].long(): | |
self.tracker[0].close() | |
if self.tracker.can_open(): | |
self.tracker.order(Order.Type.short, Order.Amount.cash_percentage, 0.5, target = 0.03, stoploss = 0.01, trailing_stoploss = 0.0002) | |
def instance(m): | |
return TestStrategy(m) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment