oanda_api 0.8.1 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/.gitignore +38 -0
  2. data/.rspec_non_jruby +2 -0
  3. data/.yardopts +6 -0
  4. data/Gemfile +13 -0
  5. data/Guardfile +7 -0
  6. data/LICENSE +22 -0
  7. data/README.md +218 -0
  8. data/Rakefile +23 -0
  9. data/lib/oanda_api.rb +25 -0
  10. data/lib/oanda_api/client/client.rb +175 -0
  11. data/lib/oanda_api/client/namespace_proxy.rb +112 -0
  12. data/lib/oanda_api/client/resource_descriptor.rb +52 -0
  13. data/lib/oanda_api/client/token_client.rb +69 -0
  14. data/lib/oanda_api/client/username_client.rb +53 -0
  15. data/lib/oanda_api/configuration.rb +167 -0
  16. data/lib/oanda_api/errors.rb +4 -0
  17. data/lib/oanda_api/resource/account.rb +37 -0
  18. data/lib/oanda_api/resource/candle.rb +29 -0
  19. data/lib/oanda_api/resource/instrument.rb +21 -0
  20. data/lib/oanda_api/resource/order.rb +74 -0
  21. data/lib/oanda_api/resource/position.rb +18 -0
  22. data/lib/oanda_api/resource/price.rb +16 -0
  23. data/lib/oanda_api/resource/trade.rb +23 -0
  24. data/lib/oanda_api/resource/transaction.rb +67 -0
  25. data/lib/oanda_api/resource_base.rb +35 -0
  26. data/lib/oanda_api/resource_collection.rb +77 -0
  27. data/lib/oanda_api/utils/utils.rb +101 -0
  28. data/lib/oanda_api/version.rb +3 -0
  29. data/oanda_api.gemspec +32 -0
  30. data/spec/fixtures/vcr_cassettes/account_id_order_id_close.yml +264 -0
  31. data/spec/fixtures/vcr_cassettes/account_id_order_id_get.yml +114 -0
  32. data/spec/fixtures/vcr_cassettes/account_id_order_options_create.yml +74 -0
  33. data/spec/fixtures/vcr_cassettes/account_id_order_options_update.yml +112 -0
  34. data/spec/fixtures/vcr_cassettes/account_id_orders_get.yml +118 -0
  35. data/spec/fixtures/vcr_cassettes/account_id_orders_options_get.yml +123 -0
  36. data/spec/fixtures/vcr_cassettes/account_id_positions_get.yml +112 -0
  37. data/spec/fixtures/vcr_cassettes/account_id_positions_instrument_close.yml +214 -0
  38. data/spec/fixtures/vcr_cassettes/account_id_positions_instrument_get.yml +110 -0
  39. data/spec/fixtures/vcr_cassettes/account_id_trade_id_close.yml +252 -0
  40. data/spec/fixtures/vcr_cassettes/account_id_trade_id_get.yml +112 -0
  41. data/spec/fixtures/vcr_cassettes/account_id_trade_options_modify.yml +110 -0
  42. data/spec/fixtures/vcr_cassettes/account_id_trades_filter_get.yml +118 -0
  43. data/spec/fixtures/vcr_cassettes/account_id_trades_get.yml +118 -0
  44. data/spec/fixtures/vcr_cassettes/account_id_transaction_id_get.yml +283 -0
  45. data/spec/fixtures/vcr_cassettes/account_id_transactions_options_get.yml +205 -0
  46. data/spec/fixtures/vcr_cassettes/accounts_create.yml +75 -0
  47. data/spec/fixtures/vcr_cassettes/accounts_get.yml +111 -0
  48. data/spec/fixtures/vcr_cassettes/accounts_id_get.yml +187 -0
  49. data/spec/fixtures/vcr_cassettes/candles_options_get.yml +79 -0
  50. data/spec/fixtures/vcr_cassettes/instruments_get.yml +501 -0
  51. data/spec/fixtures/vcr_cassettes/instruments_options_get.yml +81 -0
  52. data/spec/fixtures/vcr_cassettes/prices_options_get.yml +81 -0
  53. data/spec/fixtures/vcr_cassettes/sandbox_client.yml +116 -0
  54. data/spec/fixtures/vcr_cassettes/sandbox_client_account.yml +111 -0
  55. data/spec/fixtures/vcr_cassettes/sandbox_instrument_EUR_USD.yml +77 -0
  56. data/spec/oanda_api/client/client_spec.rb +107 -0
  57. data/spec/oanda_api/client/namespace_proxy_spec.rb +16 -0
  58. data/spec/oanda_api/client/resource_descriptor_spec.rb +39 -0
  59. data/spec/oanda_api/client/token_client_spec.rb +60 -0
  60. data/spec/oanda_api/client/username_client_spec.rb +31 -0
  61. data/spec/oanda_api/configuration_spec.rb +138 -0
  62. data/spec/oanda_api/examples/accounts_spec.rb +28 -0
  63. data/spec/oanda_api/examples/orders_spec.rb +68 -0
  64. data/spec/oanda_api/examples/positions_spec.rb +38 -0
  65. data/spec/oanda_api/examples/rates_spec.rb +46 -0
  66. data/spec/oanda_api/examples/trades_spec.rb +58 -0
  67. data/spec/oanda_api/examples/transactions_spec.rb +24 -0
  68. data/spec/oanda_api/resource_collection_spec.rb +109 -0
  69. data/spec/oanda_api/utils/utils_spec.rb +109 -0
  70. data/spec/spec_helper.rb +10 -0
  71. data/spec/support/client_helper.rb +60 -0
  72. data/spec/support/vcr.rb +7 -0
  73. metadata +124 -9
@@ -0,0 +1,214 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/orders
6
+ body:
7
+ encoding: UTF-8
8
+ string: instrument=USD_JPY&side=buy&type=market&units=10000&username=dwaymotim
9
+ headers:
10
+ X-Accept-Datetime-Format:
11
+ - RFC3339
12
+ Connection:
13
+ - keep-alive
14
+ Keep-Alive:
15
+ - 30
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - openresty/1.7.0.1
23
+ Date:
24
+ - Tue, 20 Jan 2015 17:22:29 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '273'
29
+ Connection:
30
+ - keep-alive
31
+ body:
32
+ encoding: UTF-8
33
+ string: "{\n\t\"instrument\" : \"USD_JPY\",\n\t\"time\" : \"2015-01-20T17:22:29.000000Z\",\n\t\"price\"
34
+ : 114.893,\n\t\"tradeOpened\" : {\n\t\t\"id\" : 175503917,\n\t\t\"units\"
35
+ : 10000,\n\t\t\"side\" : \"buy\",\n\t\t\"takeProfit\" : 0,\n\t\t\"stopLoss\"
36
+ : 0,\n\t\t\"trailingStop\" : 0\n\t},\n\t\"tradesClosed\" : [],\n\t\"tradeReduced\"
37
+ : {}\n}"
38
+ http_version:
39
+ recorded_at: Tue, 20 Jan 2015 17:22:32 GMT
40
+ - request:
41
+ method: get
42
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/positions/USD_JPY?username=dwaymotim
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ''
46
+ headers:
47
+ X-Accept-Datetime-Format:
48
+ - RFC3339
49
+ Connection:
50
+ - keep-alive
51
+ Keep-Alive:
52
+ - 30
53
+ response:
54
+ status:
55
+ code: 200
56
+ message: OK
57
+ headers:
58
+ Server:
59
+ - openresty/1.7.0.1
60
+ Date:
61
+ - Tue, 20 Jan 2015 17:22:30 GMT
62
+ Content-Type:
63
+ - application/json
64
+ Content-Length:
65
+ - '87'
66
+ Connection:
67
+ - keep-alive
68
+ Etag:
69
+ - '"bc64caecfbe1242cd1401bbe6d9f5125c93abd83"'
70
+ body:
71
+ encoding: UTF-8
72
+ string: "{\n\t\"instrument\" : \"USD_JPY\",\n\t\"units\" : 30000,\n\t\"side\"
73
+ : \"buy\",\n\t\"avgPrice\" : 114.893\n}"
74
+ http_version:
75
+ recorded_at: Tue, 20 Jan 2015 17:22:32 GMT
76
+ - request:
77
+ method: delete
78
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/positions/USD_JPY?username=dwaymotim
79
+ body:
80
+ encoding: US-ASCII
81
+ string: ''
82
+ headers:
83
+ X-Accept-Datetime-Format:
84
+ - RFC3339
85
+ Connection:
86
+ - keep-alive
87
+ Keep-Alive:
88
+ - 30
89
+ response:
90
+ status:
91
+ code: 200
92
+ message: OK
93
+ headers:
94
+ Server:
95
+ - openresty/1.7.0.1
96
+ Date:
97
+ - Tue, 20 Jan 2015 17:22:30 GMT
98
+ Content-Type:
99
+ - application/json
100
+ Content-Length:
101
+ - '164'
102
+ Connection:
103
+ - keep-alive
104
+ body:
105
+ encoding: UTF-8
106
+ string: "{\n\t\"ids\" : [\n\t\t175503915,\n\t\t175503918,\n\t\t175503916,\n\t\t175503919,\n\t\t175503917,\n\t\t175503920\n\t],\n\t\"instrument\"
107
+ : \"USD_JPY\",\n\t\"totalUnits\" : 30000,\n\t\"price\" : 114.879\n}"
108
+ http_version:
109
+ recorded_at: Tue, 20 Jan 2015 17:22:32 GMT
110
+ - request:
111
+ method: get
112
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/positions?username=dwaymotim
113
+ body:
114
+ encoding: US-ASCII
115
+ string: ''
116
+ headers:
117
+ X-Accept-Datetime-Format:
118
+ - RFC3339
119
+ Connection:
120
+ - keep-alive
121
+ Keep-Alive:
122
+ - 30
123
+ response:
124
+ status:
125
+ code: 200
126
+ message: OK
127
+ headers:
128
+ Server:
129
+ - openresty/1.7.0.1
130
+ Date:
131
+ - Tue, 20 Jan 2015 17:22:30 GMT
132
+ Content-Type:
133
+ - application/json
134
+ Content-Length:
135
+ - '123'
136
+ Connection:
137
+ - keep-alive
138
+ Etag:
139
+ - '"0e99155591e8a0de4e3571f0bbe3d8060b2f6976"'
140
+ body:
141
+ encoding: UTF-8
142
+ string: "{\n\t\"positions\" : [\n\t\t{\n\t\t\t\"instrument\" : \"EUR_USD\",\n\t\t\t\"units\"
143
+ : 10000,\n\t\t\t\"side\" : \"buy\",\n\t\t\t\"avgPrice\" : 1.24101\n\t\t}\n\t]\n}"
144
+ http_version:
145
+ recorded_at: Tue, 20 Jan 2015 17:22:33 GMT
146
+ - request:
147
+ method: post
148
+ uri: http://api-sandbox.oanda.com/v1//accounts/5342358/orders
149
+ body:
150
+ encoding: UTF-8
151
+ string: username=dwaymotim
152
+ headers:
153
+ X-Accept-Datetime-Format:
154
+ - RFC3339
155
+ Connection:
156
+ - keep-alive
157
+ Keep-Alive:
158
+ - 30
159
+ response:
160
+ status:
161
+ code: 400
162
+ message: BAD_REQUEST
163
+ headers:
164
+ Server:
165
+ - openresty/1.7.0.1
166
+ Date:
167
+ - Tue, 20 Jan 2015 21:03:07 GMT
168
+ Content-Type:
169
+ - application/json
170
+ Content-Length:
171
+ - '145'
172
+ Connection:
173
+ - keep-alive
174
+ body:
175
+ encoding: UTF-8
176
+ string: "{\n\t\"code\" : 2,\n\t\"message\" : \"Missing required argument: type\",\n\t\"moreInfo\"
177
+ : \"http:\\/\\/developer.oanda.com\\/docs\\/v1\\/troubleshooting\\/#errors\"\n}"
178
+ http_version:
179
+ recorded_at: Tue, 20 Jan 2015 21:03:09 GMT
180
+ - request:
181
+ method: delete
182
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/positions/USD_JPY/positions/USD_JPY?username=dwaymotim
183
+ body:
184
+ encoding: US-ASCII
185
+ string: ''
186
+ headers:
187
+ X-Accept-Datetime-Format:
188
+ - RFC3339
189
+ Connection:
190
+ - keep-alive
191
+ Keep-Alive:
192
+ - 30
193
+ response:
194
+ status:
195
+ code: 400
196
+ message: BAD_REQUEST
197
+ headers:
198
+ Server:
199
+ - openresty/1.7.0.1
200
+ Date:
201
+ - Tue, 20 Jan 2015 23:53:34 GMT
202
+ Content-Type:
203
+ - application/json
204
+ Content-Length:
205
+ - '166'
206
+ Connection:
207
+ - keep-alive
208
+ body:
209
+ encoding: UTF-8
210
+ string: "{\n\t\"code\" : 52,\n\t\"message\" : \"Invalid or malformed resource
211
+ identifier: accountId\",\n\t\"moreInfo\" : \"http:\\/\\/developer.oanda.com\\/docs\\/v1\\/troubleshooting\\/#errors\"\n}"
212
+ http_version:
213
+ recorded_at: Tue, 20 Jan 2015 23:53:34 GMT
214
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,110 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/orders
6
+ body:
7
+ encoding: UTF-8
8
+ string: instrument=USD_JPY&side=buy&type=market&units=10000&username=dwaymotim
9
+ headers:
10
+ X-Accept-Datetime-Format:
11
+ - RFC3339
12
+ Connection:
13
+ - keep-alive
14
+ Keep-Alive:
15
+ - 30
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - openresty/1.7.0.1
23
+ Date:
24
+ - Tue, 20 Jan 2015 17:22:29 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '273'
29
+ Connection:
30
+ - keep-alive
31
+ body:
32
+ encoding: UTF-8
33
+ string: "{\n\t\"instrument\" : \"USD_JPY\",\n\t\"time\" : \"2015-01-20T17:22:29.000000Z\",\n\t\"price\"
34
+ : 114.893,\n\t\"tradeOpened\" : {\n\t\t\"id\" : 175503916,\n\t\t\"units\"
35
+ : 10000,\n\t\t\"side\" : \"buy\",\n\t\t\"takeProfit\" : 0,\n\t\t\"stopLoss\"
36
+ : 0,\n\t\t\"trailingStop\" : 0\n\t},\n\t\"tradesClosed\" : [],\n\t\"tradeReduced\"
37
+ : {}\n}"
38
+ http_version:
39
+ recorded_at: Tue, 20 Jan 2015 17:22:31 GMT
40
+ - request:
41
+ method: get
42
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/positions/USD_JPY?username=dwaymotim
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ''
46
+ headers:
47
+ X-Accept-Datetime-Format:
48
+ - RFC3339
49
+ Connection:
50
+ - keep-alive
51
+ Keep-Alive:
52
+ - 30
53
+ response:
54
+ status:
55
+ code: 200
56
+ message: OK
57
+ headers:
58
+ Server:
59
+ - openresty/1.7.0.1
60
+ Date:
61
+ - Tue, 20 Jan 2015 17:22:29 GMT
62
+ Content-Type:
63
+ - application/json
64
+ Content-Length:
65
+ - '87'
66
+ Connection:
67
+ - keep-alive
68
+ Etag:
69
+ - '"9f52bb38c777d797a51c95efe903fcbbf4aa3476"'
70
+ body:
71
+ encoding: UTF-8
72
+ string: "{\n\t\"instrument\" : \"USD_JPY\",\n\t\"units\" : 20000,\n\t\"side\"
73
+ : \"buy\",\n\t\"avgPrice\" : 114.893\n}"
74
+ http_version:
75
+ recorded_at: Tue, 20 Jan 2015 17:22:32 GMT
76
+ - request:
77
+ method: post
78
+ uri: http://api-sandbox.oanda.com/v1//accounts/5342358/orders
79
+ body:
80
+ encoding: UTF-8
81
+ string: username=dwaymotim
82
+ headers:
83
+ X-Accept-Datetime-Format:
84
+ - RFC3339
85
+ Connection:
86
+ - keep-alive
87
+ Keep-Alive:
88
+ - 30
89
+ response:
90
+ status:
91
+ code: 400
92
+ message: BAD_REQUEST
93
+ headers:
94
+ Server:
95
+ - openresty/1.7.0.1
96
+ Date:
97
+ - Tue, 20 Jan 2015 21:03:07 GMT
98
+ Content-Type:
99
+ - application/json
100
+ Content-Length:
101
+ - '145'
102
+ Connection:
103
+ - keep-alive
104
+ body:
105
+ encoding: UTF-8
106
+ string: "{\n\t\"code\" : 2,\n\t\"message\" : \"Missing required argument: type\",\n\t\"moreInfo\"
107
+ : \"http:\\/\\/developer.oanda.com\\/docs\\/v1\\/troubleshooting\\/#errors\"\n}"
108
+ http_version:
109
+ recorded_at: Tue, 20 Jan 2015 21:03:07 GMT
110
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,252 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/orders
6
+ body:
7
+ encoding: UTF-8
8
+ string: instrument=USD_JPY&side=buy&type=market&units=10000&username=dwaymotim
9
+ headers:
10
+ X-Accept-Datetime-Format:
11
+ - RFC3339
12
+ Connection:
13
+ - keep-alive
14
+ Keep-Alive:
15
+ - 30
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - openresty/1.7.0.1
23
+ Date:
24
+ - Tue, 20 Jan 2015 17:22:33 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Content-Length:
28
+ - '273'
29
+ Connection:
30
+ - keep-alive
31
+ body:
32
+ encoding: UTF-8
33
+ string: "{\n\t\"instrument\" : \"USD_JPY\",\n\t\"time\" : \"2015-01-20T17:22:33.000000Z\",\n\t\"price\"
34
+ : 114.893,\n\t\"tradeOpened\" : {\n\t\t\"id\" : 175503926,\n\t\t\"units\"
35
+ : 10000,\n\t\t\"side\" : \"buy\",\n\t\t\"takeProfit\" : 0,\n\t\t\"stopLoss\"
36
+ : 0,\n\t\t\"trailingStop\" : 0\n\t},\n\t\"tradesClosed\" : [],\n\t\"tradeReduced\"
37
+ : {}\n}"
38
+ http_version:
39
+ recorded_at: Tue, 20 Jan 2015 17:22:35 GMT
40
+ - request:
41
+ method: get
42
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/trades?instrument=USD_JPY&username=dwaymotim
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ''
46
+ headers:
47
+ X-Accept-Datetime-Format:
48
+ - RFC3339
49
+ Connection:
50
+ - keep-alive
51
+ Keep-Alive:
52
+ - 30
53
+ response:
54
+ status:
55
+ code: 200
56
+ message: OK
57
+ headers:
58
+ Server:
59
+ - openresty/1.7.0.1
60
+ Date:
61
+ - Tue, 20 Jan 2015 17:22:33 GMT
62
+ Content-Type:
63
+ - application/json
64
+ Content-Length:
65
+ - '1275'
66
+ Connection:
67
+ - keep-alive
68
+ Etag:
69
+ - '"1ea18ebc08fad3ca4df57b2f89ff476112678a17"'
70
+ X-Result-Count:
71
+ - '5'
72
+ body:
73
+ encoding: UTF-8
74
+ string: "{\n\t\"trades\" : [\n\t\t{\n\t\t\t\"id\" : 175503926,\n\t\t\t\"units\"
75
+ : 10000,\n\t\t\t\"side\" : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\"
76
+ : \"2015-01-20T17:22:33.000000Z\",\n\t\t\t\"price\" : 114.893,\n\t\t\t\"takeProfit\"
77
+ : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\" : 0,\n\t\t\t\"trailingAmount\"
78
+ : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503924,\n\t\t\t\"units\" : 10000,\n\t\t\t\"side\"
79
+ : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\" : \"2015-01-20T17:22:33.000000Z\",\n\t\t\t\"price\"
80
+ : 114.893,\n\t\t\t\"takeProfit\" : 116.893,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\"
81
+ : 0,\n\t\t\t\"trailingAmount\" : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503923,\n\t\t\t\"units\"
82
+ : 10000,\n\t\t\t\"side\" : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\"
83
+ : \"2015-01-20T17:22:32.000000Z\",\n\t\t\t\"price\" : 114.893,\n\t\t\t\"takeProfit\"
84
+ : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\" : 0,\n\t\t\t\"trailingAmount\"
85
+ : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503922,\n\t\t\t\"units\" : 10000,\n\t\t\t\"side\"
86
+ : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\" : \"2015-01-20T17:22:32.000000Z\",\n\t\t\t\"price\"
87
+ : 114.893,\n\t\t\t\"takeProfit\" : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\"
88
+ : 0,\n\t\t\t\"trailingAmount\" : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503921,\n\t\t\t\"units\"
89
+ : 10000,\n\t\t\t\"side\" : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\"
90
+ : \"2015-01-20T17:22:32.000000Z\",\n\t\t\t\"price\" : 114.893,\n\t\t\t\"takeProfit\"
91
+ : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\" : 0,\n\t\t\t\"trailingAmount\"
92
+ : 0\n\t\t}\n\t]\n}"
93
+ http_version:
94
+ recorded_at: Tue, 20 Jan 2015 17:22:35 GMT
95
+ - request:
96
+ method: delete
97
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/trades/175503921?username=dwaymotim
98
+ body:
99
+ encoding: US-ASCII
100
+ string: ''
101
+ headers:
102
+ X-Accept-Datetime-Format:
103
+ - RFC3339
104
+ Connection:
105
+ - keep-alive
106
+ Keep-Alive:
107
+ - 30
108
+ response:
109
+ status:
110
+ code: 200
111
+ message: OK
112
+ headers:
113
+ Server:
114
+ - openresty/1.7.0.1
115
+ Date:
116
+ - Tue, 20 Jan 2015 17:22:33 GMT
117
+ Content-Type:
118
+ - application/json
119
+ Content-Length:
120
+ - '147'
121
+ Connection:
122
+ - keep-alive
123
+ body:
124
+ encoding: UTF-8
125
+ string: "{\n\t\"id\" : 175503927,\n\t\"price\" : 114.879,\n\t\"profit\" : -1.2187,\n\t\"instrument\"
126
+ : \"USD_JPY\",\n\t\"side\" : \"buy\",\n\t\"time\" : \"2015-01-20T17:22:33.000000Z\"\n}"
127
+ http_version:
128
+ recorded_at: Tue, 20 Jan 2015 17:22:36 GMT
129
+ - request:
130
+ method: get
131
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/trades?username=dwaymotim
132
+ body:
133
+ encoding: US-ASCII
134
+ string: ''
135
+ headers:
136
+ X-Accept-Datetime-Format:
137
+ - RFC3339
138
+ Connection:
139
+ - keep-alive
140
+ Keep-Alive:
141
+ - 30
142
+ response:
143
+ status:
144
+ code: 200
145
+ message: OK
146
+ headers:
147
+ Server:
148
+ - openresty/1.7.0.1
149
+ Date:
150
+ - Tue, 20 Jan 2015 17:22:33 GMT
151
+ Content-Type:
152
+ - application/json
153
+ Content-Length:
154
+ - '1275'
155
+ Connection:
156
+ - keep-alive
157
+ Etag:
158
+ - '"6b538c818124bfa06a29e746db8ebe3fcc2d3a35"'
159
+ X-Result-Count:
160
+ - '5'
161
+ body:
162
+ encoding: UTF-8
163
+ string: "{\n\t\"trades\" : [\n\t\t{\n\t\t\t\"id\" : 175503926,\n\t\t\t\"units\"
164
+ : 10000,\n\t\t\t\"side\" : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\"
165
+ : \"2015-01-20T17:22:33.000000Z\",\n\t\t\t\"price\" : 114.893,\n\t\t\t\"takeProfit\"
166
+ : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\" : 0,\n\t\t\t\"trailingAmount\"
167
+ : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503924,\n\t\t\t\"units\" : 10000,\n\t\t\t\"side\"
168
+ : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\" : \"2015-01-20T17:22:33.000000Z\",\n\t\t\t\"price\"
169
+ : 114.893,\n\t\t\t\"takeProfit\" : 116.893,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\"
170
+ : 0,\n\t\t\t\"trailingAmount\" : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503923,\n\t\t\t\"units\"
171
+ : 10000,\n\t\t\t\"side\" : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\"
172
+ : \"2015-01-20T17:22:32.000000Z\",\n\t\t\t\"price\" : 114.893,\n\t\t\t\"takeProfit\"
173
+ : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\" : 0,\n\t\t\t\"trailingAmount\"
174
+ : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503922,\n\t\t\t\"units\" : 10000,\n\t\t\t\"side\"
175
+ : \"buy\",\n\t\t\t\"instrument\" : \"USD_JPY\",\n\t\t\t\"time\" : \"2015-01-20T17:22:32.000000Z\",\n\t\t\t\"price\"
176
+ : 114.893,\n\t\t\t\"takeProfit\" : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\"
177
+ : 0,\n\t\t\t\"trailingAmount\" : 0\n\t\t},\n\t\t{\n\t\t\t\"id\" : 175503907,\n\t\t\t\"units\"
178
+ : 10000,\n\t\t\t\"side\" : \"buy\",\n\t\t\t\"instrument\" : \"EUR_USD\",\n\t\t\t\"time\"
179
+ : \"2015-01-20T17:22:27.000000Z\",\n\t\t\t\"price\" : 1.24101,\n\t\t\t\"takeProfit\"
180
+ : 0,\n\t\t\t\"stopLoss\" : 0,\n\t\t\t\"trailingStop\" : 0,\n\t\t\t\"trailingAmount\"
181
+ : 0\n\t\t}\n\t]\n}"
182
+ http_version:
183
+ recorded_at: Tue, 20 Jan 2015 17:22:36 GMT
184
+ - request:
185
+ method: post
186
+ uri: http://api-sandbox.oanda.com/v1//accounts/5342358/orders
187
+ body:
188
+ encoding: UTF-8
189
+ string: username=dwaymotim
190
+ headers:
191
+ X-Accept-Datetime-Format:
192
+ - RFC3339
193
+ Connection:
194
+ - keep-alive
195
+ Keep-Alive:
196
+ - 30
197
+ response:
198
+ status:
199
+ code: 400
200
+ message: BAD_REQUEST
201
+ headers:
202
+ Server:
203
+ - openresty/1.7.0.1
204
+ Date:
205
+ - Tue, 20 Jan 2015 21:03:09 GMT
206
+ Content-Type:
207
+ - application/json
208
+ Content-Length:
209
+ - '145'
210
+ Connection:
211
+ - keep-alive
212
+ body:
213
+ encoding: UTF-8
214
+ string: "{\n\t\"code\" : 2,\n\t\"message\" : \"Missing required argument: type\",\n\t\"moreInfo\"
215
+ : \"http:\\/\\/developer.oanda.com\\/docs\\/v1\\/troubleshooting\\/#errors\"\n}"
216
+ http_version:
217
+ recorded_at: Tue, 20 Jan 2015 21:03:09 GMT
218
+ - request:
219
+ method: delete
220
+ uri: http://api-sandbox.oanda.com/v1/accounts/5342358/trades/trades/175503921?instrument=USD_JPY&username=dwaymotim
221
+ body:
222
+ encoding: US-ASCII
223
+ string: ''
224
+ headers:
225
+ X-Accept-Datetime-Format:
226
+ - RFC3339
227
+ Connection:
228
+ - keep-alive
229
+ Keep-Alive:
230
+ - 30
231
+ response:
232
+ status:
233
+ code: 400
234
+ message: BAD_REQUEST
235
+ headers:
236
+ Server:
237
+ - openresty/1.7.0.1
238
+ Date:
239
+ - Tue, 20 Jan 2015 23:53:35 GMT
240
+ Content-Type:
241
+ - application/json
242
+ Content-Length:
243
+ - '166'
244
+ Connection:
245
+ - keep-alive
246
+ body:
247
+ encoding: UTF-8
248
+ string: "{\n\t\"code\" : 52,\n\t\"message\" : \"Invalid or malformed resource
249
+ identifier: accountId\",\n\t\"moreInfo\" : \"http:\\/\\/developer.oanda.com\\/docs\\/v1\\/troubleshooting\\/#errors\"\n}"
250
+ http_version:
251
+ recorded_at: Tue, 20 Jan 2015 23:53:36 GMT
252
+ recorded_with: VCR 2.9.3