mirror of
https://github.com/lukewilson2002/autotrader.git
synced 2025-06-15 00:13:51 +00:00
Error when the Oanda token or account ID is not set
This commit is contained in:
parent
5fc4a6e2d6
commit
5ee2df12b5
@ -3,6 +3,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -86,7 +87,12 @@ func (s *IchimokuStrategy) Next(t *auto.Trader) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
broker := oanda.NewOandaBroker(os.Getenv("OANDA_TOKEN"), os.Getenv("OANDA_ACCOUNT_ID"), true)
|
broker, err := oanda.NewOandaBroker(os.Getenv("OANDA_TOKEN"), os.Getenv("OANDA_ACCOUNT_ID"), true)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
auto.Backtest(auto.NewTrader(auto.TraderConfig{
|
auto.Backtest(auto.NewTrader(auto.TraderConfig{
|
||||||
Broker: auto.NewTestBroker(broker, nil, 10000, 50, 0.0002, 0),
|
Broker: auto.NewTestBroker(broker, nil, 10000, 50, 0.0002, 0),
|
||||||
Strategy: &IchimokuStrategy{convPeriod: 9, basePeriod: 26, leadingPeriods: 52},
|
Strategy: &IchimokuStrategy{convPeriod: 9, basePeriod: 26, leadingPeriods: 52},
|
||||||
|
@ -3,13 +3,19 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/fivemoreminix/autotrader/oanda"
|
"github.com/fivemoreminix/autotrader/oanda"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
broker := oanda.NewOandaBroker(os.Getenv("OANDA_TOKEN"), os.Getenv("OANDA_ACCOUNT_ID"), true)
|
broker, err := oanda.NewOandaBroker(os.Getenv("OANDA_TOKEN"), os.Getenv("OANDA_ACCOUNT_ID"), true)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
candles, err := broker.Candles("EUR_USD", "D", 100)
|
candles, err := broker.Candles("EUR_USD", "D", 100)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
auto "github.com/fivemoreminix/autotrader"
|
auto "github.com/fivemoreminix/autotrader"
|
||||||
@ -33,7 +34,11 @@ func main() {
|
|||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
broker := oanda.NewOandaBroker(os.Getenv("OANDA_TOKEN"), os.Getenv("OANDA_ACCOUNT_ID"), true)
|
broker, err := oanda.NewOandaBroker(os.Getenv("OANDA_TOKEN"), os.Getenv("OANDA_ACCOUNT_ID"), true)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
auto.Backtest(auto.NewTrader(auto.TraderConfig{
|
auto.Backtest(auto.NewTrader(auto.TraderConfig{
|
||||||
Broker: auto.NewTestBroker(broker /* data, */, nil, 10000, 50, 0.0002, 0),
|
Broker: auto.NewTestBroker(broker /* data, */, nil, 10000, 50, 0.0002, 0),
|
||||||
|
@ -16,6 +16,8 @@ const (
|
|||||||
TimeLayout = time.RFC3339
|
TimeLayout = time.RFC3339
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var ErrInvalidCred = fmt.Errorf("invalid credentials, token or account ID is invalid")
|
||||||
|
|
||||||
var _ auto.Broker = (*OandaBroker)(nil) // Compile-time interface check.
|
var _ auto.Broker = (*OandaBroker)(nil) // Compile-time interface check.
|
||||||
|
|
||||||
type OandaBroker struct {
|
type OandaBroker struct {
|
||||||
@ -26,7 +28,11 @@ type OandaBroker struct {
|
|||||||
baseUrl string // Either oandaLiveURL or oandaPracticeURL.
|
baseUrl string // Either oandaLiveURL or oandaPracticeURL.
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewOandaBroker(token, accountID string, practice bool) *OandaBroker {
|
func NewOandaBroker(token, accountID string, practice bool) (*OandaBroker, error) {
|
||||||
|
if token == "" || accountID == "" {
|
||||||
|
return nil, ErrInvalidCred
|
||||||
|
}
|
||||||
|
|
||||||
var baseUrl string
|
var baseUrl string
|
||||||
if practice {
|
if practice {
|
||||||
baseUrl = oandaPracticeURL
|
baseUrl = oandaPracticeURL
|
||||||
@ -39,7 +45,7 @@ func NewOandaBroker(token, accountID string, practice bool) *OandaBroker {
|
|||||||
token: token,
|
token: token,
|
||||||
accountID: accountID,
|
accountID: accountID,
|
||||||
baseUrl: baseUrl,
|
baseUrl: baseUrl,
|
||||||
}
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Price returns the ask price if wantToBuy is true and the bid price if wantToBuy is false.
|
// Price returns the ask price if wantToBuy is true and the bid price if wantToBuy is false.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user