Trading_UserType Class Reference
| Inherits from | NSObject |
| Conforms to | PicoBindable |
| Declared in | Trading_UserType.h Trading_UserType.m |
Overview
Type to contain the data for one eBay user. Depending on the context, the user
might be the seller or the buyer on either side of an order, or the bidder or winning bidder
in a listing. An object of this type is returned by a number of calls, including
the GetUser call.
@ingroup EBayAPIInterface
Tasks
-
aboutMePage
If true, indicates that the user has set up an About Me page.
property -
eiasToken
Unique identifier for the user that does not change when the eBay user name
property
is changed. Use when an application needs to associate a new eBay user name
with the corresponding eBay user. -
email
Email address for the user.
property
Please see the links below to the topics related to anonymous user information
and static email addresses.
You cannot retrieve an email address for any user
with whom you do not have an order relationship, regardless of site.
An email address of another user is only returned
if you and the other user are in an order relationship,
within a certain time of order line item creation
(although this limitation isn’t applicable to the GetAllBidders call
in the case of motor vehicles categories.)
Based on Trust and Safety policies, the time is
unspecified and can vary by site.
Since a bidder’s user info is anonymous, this tag will be returned only to that
bidder, and to the seller of an item that the user is bidding on.
For the order retrieval calls, the buyer’s registration email address is only
returned if the buyer is registered on the DE, AT, or CH sites, regardless of
the seller’s registration site and the site to which the seller sends the
request. -
feedbackScore
The aggregate feedback score for a user. A user’s feedback score is the net
property
positive feedback minus the net negative feedback left for the user.
Feedback scores are a quantitative expression of the desirability of dealing
with a user as a buyer or a seller in either side of an order. Each order line item can
result in one feedback entry for a given user (the buyer can leave feedback
for the seller, and the seller can leave feedback for the buyer.). That one
feedback can be positive, negative, or neutral. The aggregated feedback
counts for a particular user represent that user’s overall feedback score
(referred to as a “feedback rating” on the eBay site). If the user has
chosen to make their feedback private and that user is not the user
identified in the request’s authentication token, FeedbackScore is not
returned and FeedbackPrivate is returned with a value of true.
In GetMyeBayBuying and GetMyeBaySelling, feedback information (FeedbackScore
and FeedbackRatingStar) is returned in BidList.ItemArray.Item.Seller. For
GetMyeBayBuying, the feedback score of each seller with an item having
received a bid from the buyer is returned. For GetMyeBaySelling, the
feedback score of the seller is returned.
GetMyeBayBuying and GetMyeBaySelling also return feedback information
(FeedbackScore and FeedbackRatingStar) in
BidList.ItemArray.Item.SellingStatus.HighBidder. GetMyeBayBuying returns
feedback information on the high bidder of each item the buyer is bidding
on. GetMyeBaySelling returns feedback information on the high bidder of each
item the seller is selling.
Since a bidder’s user info is anonymous, the real feedback score will
be returned only to that bidder, and to the seller of an item that the
user is bidding on. For all other users, the value -99 is returned. -
uniqueNegativeFeedbackCount
Total count of negative Feedback entries received by the user, including weekly repeats.
property -
uniquePositiveFeedbackCount
Total count of positive Feedback entries received by the user, including
property
weekly repeats. Contains the aggregate feedback score for a user. A member's
feedback score is the net positive feedback minus the net negative feedback
left for the member. Feedback scores are a quantitative expression of the
desirability of dealing with that person as a Buyer or a Seller on either side of an order. Each order line item can result in one feedback entry for
a given user (the buyer can leave feedback for the seller, and the seller
can leave feedback for the buyer.). That one feedback can be positive,
negative, or neutral. The aggregated feedback counts for a particular user
represent that user’s overall feedback score (referred to as a “feedback
rating” on the eBay site). This rating is commonly expressed as the eBay
Feedback score for the user. -
positiveFeedbackPercent
Percent of total feedback that is positive. For example, if the member has
property
50 feedbacks, where 49 are positive and 1 is neutral or negative, the
positive feedback percent could be 98.0. The value uses a max precision of 4
and a scale of 1. If the user has feedback, this value can be returned
regardless of whether the member has chosen to make their feedback private.
Not returned if the user has no feedback. -
feedbackPrivate
Indicates whether the user has chosen to make their feedback score and
property
feedback details private (hidden from other users). Note that the percentage
of positive feedback can still be returned, even if other feedback details
are private.
Since a bidder’s user info is anonymous, this tag will be returned only to
that bidder, and to the seller of an item that the user is bidding on. -
feedbackRatingStar
Visual indicator of user’s feedback score. See FeedbackRatingStarCodeType for
property
specific values. -
idVerified
Indicates whether the user has been verified. For more information
property
about the ID Verify program, see:
http://pages.ebay.com/help/policies/identity-idverify.html -
eBayGoodStanding
If true, indicates that the user is in good standing with eBay.
property -
newUser
If true, identifies a new user who has been a registered eBay user for 30 days
property
or less. Always false after the user has been registered for more than 30
days. Does not indicate an ID change (see UserIdChanged). -
registrationAddress
Registration address for a user.
property
GetUser: eBay returns complete
RegistrationAddress details (including Phone), as applicable to the
registration site, when you retrieve your own user data.
GetItem and GetSellerTransactions: RegistrationAddress for another user
(except for Phone) is only returned if you have an order relationship
with that user AND that user is registered on DE/AT/CH, regardless of your
registration site and the site to which you send the request. For example,
the seller can see the buyer’s registration address if the buyer is
registered on DE/AT/CH, or the buyer can see the seller’s registration
address if the seller is registered on DE/AT/CH. (The buyer and seller won't
see their own registration addresses in GetItem.) -
registrationDate
Indicates the date the specified user originally registered with eBay.
property
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on. -
site
eBay site the user is registered with.
property
Since a bidder’s user info is anonymous, this tag will be returned only to
that bidder, and to the seller of an item that the user is bidding on. -
status
Indicates the user’s registration/user status.
property -
userID
Unique eBay user ID for the user.
property
Since a bidder’s user info is anonymous, this tag contains the actual
value of an ID only for that bidder, and for the seller of an item that the user is
bidding on. For other users, the actual value is replaced by an
anonymous value, according to these rules:
When bidding on items, UserID is replaced with the
value “ab” where a and b are random characters from the UserID. For
example, if the UserID = IBidALot, it might be displayed as, “IA”.
Note that in this format, the anonymous bidder ID can change for each
auction.
For GetMyeBayBuying only, when bidding on items: UserID
is replaced with the value “a****b” where a and b are random characters from
the UserID.
When bidding on items listed on the the Philippines site: UserID is replaced
with the value “Bidder X” where X is a number indicating the order of that
user’s first bid. For example, if the user was the third bidder,
UserID = Bidder 3.
Note that in this Philippines site format, the anonymous bidder ID stays the same for a given
auction, but is different for different auctions. For example, a bidder who
is the third and then the seventh bidder in an auction will be listed for
both bids as “Bidder 3”. However, if that same bidder is the first bidder on
a different auction, the bidder will be listed for that auction as “Bidder
1”, not “Bidder 3”.
For GetMyeBayBuying only, when bidding on items listed on the UK and AU sites:
UserID is replaced with the string “High Bidder”.
For PlaceOffer, see also SellingStatus.HighBidder. -
userIDChanged
If true, identifies a user whose ID has changed within the last 30 days. Does not
property
indicate a new user (see NewUser).
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on. -
userIDLastChanged
Date and time the user’s data was last changed (in GMT).
property
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on. -
vatStatus
Indicates whether or not the user is subject to VAT.
property
Users who have registered with eBay as VAT-exempt are not
subject to VAT. See documentation on Value-Added Tax (VAT). -
buyerInfo
Contains information about the user as a buyer, such as
property
the shipping address. See BuyerType for its child elements.
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on. -
sellerInfo
Contains information about a seller, including listing settings, listing
property
preferences, seller rankings, and seller type.
This field is replaced by the SellerBusinessType
field if the user is a business seller with a site
ID of 77 (Germany), 3 (UK), 205 (Ireland) or 100 (Motors).
See SellerType or SellerBusinessCodeType for the child elements. -
businessRole
This field indicates whether the user’s account is enabled for buying and selling
property
(indicated by ‘FullMarketPlaceParticipant’) on eBay, or if the account is a Partially
Provisioned Account (indicated by ‘Shopper’) without selling and buying privileges on
eBay. -
charityAffiliations
Contains information about the seller’s charity affliations.
property
Returned if the user is affiliated with one or more
charities. Seller must be registered with the eBay Giving
Works provider to be affiliated with a charity non-profit
organization. -
payPalAccountLevel
The user’s PayPal account level. Only returned for the user identified in
property
eBayAuthToken. That is, you cannot see someone else’s PayPal account level.
Use this information to check whether a seller is eligible to list digital
downloadable items. See the eBay Web site online
help for current PayPal requirements for listing digital items. -
payPalAccountType
The user’s PayPal account type. Only returned for the user identified in
property
eBayAuthToken. That is, you cannot see someone else’s PayPal account type.
Use this information to check whether a seller is likely to be eligible to
list digital downloadable items. See the eBay Web site online help for
current PayPal requirements for listing digital items. -
payPalAccountStatus
The user’s PayPal account status. Only returned for the user identified in
property
eBayAuthToken. That is, you cannot see someone else’s PayPal account status.
Use this information to check whether a seller is eligible to list digital
downloadable items. See the eBay Web site online
help for current PayPal requirements for listing digital items. -
userSubscription
Specifies the subscription level for a user.
property -
siteVerified
No longer used.
property -
skypeID
Indicates the Skype name of the user. Available if
property
the seller has a Skype account and has linked it (on the eBay site)
with his or her eBay account. -
eBayWikiReadOnly
Indicates whether a user has read-only access to the eBay Wiki (true)
property
or whether the user is able contribute or edit articles on the eBay Wiki
(false). By default, all registered eBay users have access to contribute and
edit articles on the eBay Wiki. All content contributed to the eBay Wiki is
subject to the Community Content Policy. -
tuvLevel
TUV level is a number allocated to a user based on various characteristics
property
such as buyer, seller, new buyer, new seller, high risk, or bid limit.
Applies to eBay Motors Pro applications only. -
vatid
The value added tax identifier (VATID) is applicable to the VAT-enabled
property
sites.
Applies to eBay Motors Pro applications only. -
motorsDealer
Indicates if item is listed for sale by owner (FSBO) or listed by a
property
dealer.
Applies to eBay Motors Pro applications only. -
sellerPaymentMethod
Not used by any call.
property -
biddingSummary
Contains information about the user as a bidder on a certain
property
item. Returned for GetAllBidders if IncludeBiddingSummary =
true is included in the request. -
userAnonymized
Indicates whether or not the User container has been made
property
anonymous. If true, some elements in the User container have
either been removed, or had their values changed to remove
identifying characteristics. If false, all expected elements
are returned, and no values are changed.
Since a bidder’s user info is anonymous, this tag is returned as false
only to the bidder, and to the seller of an item that the user is bidding
on. For all other users, this tag is returned as true. -
uniqueNeutralFeedbackCount
Total count of neutral Feedback entries received by the user, including weekly repeats.
property -
enterpriseSeller
Reserved for internal or future use.
property -
billingEmail
When a user has their billing option set to ‘email’, they can include
property
this element in a GetUser request to retrieve their own email bills. -
qualifiesForSelling
Indicate whether user is eligible to list item or not.
property -
staticAlias
Contains the static email address of an eBay member, used within the “reply to"
property
email address when the eBay member sends a message.
(Each eBay member is assigned a static alias. The alias is
used within a static email address.) -
any
(public property)
property
Properties
aboutMePage
If true, indicates that the user has set up an About Me page.
@property (nonatomic, retain) NSNumber *aboutMePage
Discussion
If true, indicates that the user has set up an About Me page.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
any
(public property)
@property (nonatomic, retain) NSMutableArray *any
Discussion
(public property)
entry type : PicoAnyElement, wrapper for primitive anyelement
Declared In
Trading_UserType.h
biddingSummary
Contains information about the user as a bidder on a certain
item. Returned for GetAllBidders if IncludeBiddingSummary =
true is included in the request.
@property (nonatomic, retain) Trading_BiddingSummaryType *biddingSummary
Discussion
Contains information about the user as a bidder on a certain
item. Returned for GetAllBidders if IncludeBiddingSummary =
true is included in the request.
type : class Trading_BiddingSummaryType
Declared In
Trading_UserType.h
billingEmail
When a user has their billing option set to ‘email’, they can include
this element in a GetUser request to retrieve their own email bills.
@property (nonatomic, retain) NSString *billingEmail
Discussion
When a user has their billing option set to ‘email’, they can include
this element in a GetUser request to retrieve their own email bills.
type : NSString, wrapper for primitive string
Declared In
Trading_UserType.h
businessRole
This field indicates whether the user’s account is enabled for buying and selling
(indicated by ‘FullMarketPlaceParticipant’) on eBay, or if the account is a Partially
Provisioned Account (indicated by ‘Shopper’) without selling and buying privileges on
eBay.
@property (nonatomic, retain) NSString *businessRole
Discussion
This field indicates whether the user’s account is enabled for buying and selling
(indicated by ‘FullMarketPlaceParticipant’) on eBay, or if the account is a Partially
Provisioned Account (indicated by ‘Shopper’) without selling and buying privileges on
eBay.
type: string constant in Trading_BusinessRoleType.h
Declared In
Trading_UserType.h
buyerInfo
Contains information about the user as a buyer, such as
the shipping address. See BuyerType for its child elements.
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
@property (nonatomic, retain) Trading_BuyerType *buyerInfo
Discussion
Contains information about the user as a buyer, such as
the shipping address. See BuyerType for its child elements.
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
type : class Trading_BuyerType
Declared In
Trading_UserType.h
charityAffiliations
Contains information about the seller’s charity affliations.
Returned if the user is affiliated with one or more
charities. Seller must be registered with the eBay Giving
Works provider to be affiliated with a charity non-profit
organization.
@property (nonatomic, retain) Trading_CharityAffiliationsType *charityAffiliations
Discussion
Contains information about the seller’s charity affliations.
Returned if the user is affiliated with one or more
charities. Seller must be registered with the eBay Giving
Works provider to be affiliated with a charity non-profit
organization.
type : class Trading_CharityAffiliationsType
Declared In
Trading_UserType.h
eBayGoodStanding
If true, indicates that the user is in good standing with eBay.
@property (nonatomic, retain) NSNumber *eBayGoodStanding
Discussion
If true, indicates that the user is in good standing with eBay.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
eBayWikiReadOnly
Indicates whether a user has read-only access to the eBay Wiki (true)
or whether the user is able contribute or edit articles on the eBay Wiki
(false). By default, all registered eBay users have access to contribute and
edit articles on the eBay Wiki. All content contributed to the eBay Wiki is
subject to the Community Content Policy.
@property (nonatomic, retain) NSNumber *eBayWikiReadOnly
Discussion
Indicates whether a user has read-only access to the eBay Wiki (true)
or whether the user is able contribute or edit articles on the eBay Wiki
(false). By default, all registered eBay users have access to contribute and
edit articles on the eBay Wiki. All content contributed to the eBay Wiki is
subject to the Community Content Policy.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
eiasToken
Unique identifier for the user that does not change when the eBay user name
is changed. Use when an application needs to associate a new eBay user name
with the corresponding eBay user.
@property (nonatomic, retain) NSString *eiasToken
Discussion
Unique identifier for the user that does not change when the eBay user name
is changed. Use when an application needs to associate a new eBay user name
with the corresponding eBay user.
type : NSString, wrapper for primitive string
Declared In
Trading_UserType.h
Email address for the user.
Please see the links below to the topics related to anonymous user information
and static email addresses.
You cannot retrieve an email address for any user
with whom you do not have an order relationship, regardless of site.
An email address of another user is only returned
if you and the other user are in an order relationship,
within a certain time of order line item creation
(although this limitation isn’t applicable to the GetAllBidders call
in the case of motor vehicles categories.)
Based on Trust and Safety policies, the time is
unspecified and can vary by site.
Since a bidder’s user info is anonymous, this tag will be returned only to that
bidder, and to the seller of an item that the user is bidding on.
For the order retrieval calls, the buyer’s registration email address is only
returned if the buyer is registered on the DE, AT, or CH sites, regardless of
the seller’s registration site and the site to which the seller sends the
request.
@property (nonatomic, retain) NSString *email
Discussion
Email address for the user.
Please see the links below to the topics related to anonymous user information
and static email addresses.
You cannot retrieve an email address for any user
with whom you do not have an order relationship, regardless of site.
An email address of another user is only returned
if you and the other user are in an order relationship,
within a certain time of order line item creation
(although this limitation isn’t applicable to the GetAllBidders call
in the case of motor vehicles categories.)
Based on Trust and Safety policies, the time is
unspecified and can vary by site.
Since a bidder’s user info is anonymous, this tag will be returned only to that
bidder, and to the seller of an item that the user is bidding on.
For the order retrieval calls, the buyer’s registration email address is only
returned if the buyer is registered on the DE, AT, or CH sites, regardless of
the seller’s registration site and the site to which the seller sends the
request.
type : NSString, wrapper for primitive string
Declared In
Trading_UserType.h
enterpriseSeller
Reserved for internal or future use.
@property (nonatomic, retain) NSNumber *enterpriseSeller
Discussion
Reserved for internal or future use.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
feedbackPrivate
Indicates whether the user has chosen to make their feedback score and
feedback details private (hidden from other users). Note that the percentage
of positive feedback can still be returned, even if other feedback details
are private.
Since a bidder’s user info is anonymous, this tag will be returned only to
that bidder, and to the seller of an item that the user is bidding on.
@property (nonatomic, retain) NSNumber *feedbackPrivate
Discussion
Indicates whether the user has chosen to make their feedback score and
feedback details private (hidden from other users). Note that the percentage
of positive feedback can still be returned, even if other feedback details
are private.
Since a bidder’s user info is anonymous, this tag will be returned only to
that bidder, and to the seller of an item that the user is bidding on.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
feedbackRatingStar
Visual indicator of user’s feedback score. See FeedbackRatingStarCodeType for
specific values.
@property (nonatomic, retain) NSString *feedbackRatingStar
Discussion
Visual indicator of user’s feedback score. See FeedbackRatingStarCodeType for
specific values.
type: string constant in Trading_FeedbackRatingStarCodeType.h
Declared In
Trading_UserType.h
feedbackScore
The aggregate feedback score for a user. A user’s feedback score is the net
positive feedback minus the net negative feedback left for the user.
Feedback scores are a quantitative expression of the desirability of dealing
with a user as a buyer or a seller in either side of an order. Each order line item can
result in one feedback entry for a given user (the buyer can leave feedback
for the seller, and the seller can leave feedback for the buyer.). That one
feedback can be positive, negative, or neutral. The aggregated feedback
counts for a particular user represent that user’s overall feedback score
(referred to as a “feedback rating” on the eBay site). If the user has
chosen to make their feedback private and that user is not the user
identified in the request’s authentication token, FeedbackScore is not
returned and FeedbackPrivate is returned with a value of true.
In GetMyeBayBuying and GetMyeBaySelling, feedback information (FeedbackScore
and FeedbackRatingStar) is returned in BidList.ItemArray.Item.Seller. For
GetMyeBayBuying, the feedback score of each seller with an item having
received a bid from the buyer is returned. For GetMyeBaySelling, the
feedback score of the seller is returned.
GetMyeBayBuying and GetMyeBaySelling also return feedback information
(FeedbackScore and FeedbackRatingStar) in
BidList.ItemArray.Item.SellingStatus.HighBidder. GetMyeBayBuying returns
feedback information on the high bidder of each item the buyer is bidding
on. GetMyeBaySelling returns feedback information on the high bidder of each
item the seller is selling.
Since a bidder’s user info is anonymous, the real feedback score will
be returned only to that bidder, and to the seller of an item that the
user is bidding on. For all other users, the value -99 is returned.
@property (nonatomic, retain) NSNumber *feedbackScore
Discussion
The aggregate feedback score for a user. A user’s feedback score is the net
positive feedback minus the net negative feedback left for the user.
Feedback scores are a quantitative expression of the desirability of dealing
with a user as a buyer or a seller in either side of an order. Each order line item can
result in one feedback entry for a given user (the buyer can leave feedback
for the seller, and the seller can leave feedback for the buyer.). That one
feedback can be positive, negative, or neutral. The aggregated feedback
counts for a particular user represent that user’s overall feedback score
(referred to as a “feedback rating” on the eBay site). If the user has
chosen to make their feedback private and that user is not the user
identified in the request’s authentication token, FeedbackScore is not
returned and FeedbackPrivate is returned with a value of true.
In GetMyeBayBuying and GetMyeBaySelling, feedback information (FeedbackScore
and FeedbackRatingStar) is returned in BidList.ItemArray.Item.Seller. For
GetMyeBayBuying, the feedback score of each seller with an item having
received a bid from the buyer is returned. For GetMyeBaySelling, the
feedback score of the seller is returned.
GetMyeBayBuying and GetMyeBaySelling also return feedback information
(FeedbackScore and FeedbackRatingStar) in
BidList.ItemArray.Item.SellingStatus.HighBidder. GetMyeBayBuying returns
feedback information on the high bidder of each item the buyer is bidding
on. GetMyeBaySelling returns feedback information on the high bidder of each
item the seller is selling.
Since a bidder’s user info is anonymous, the real feedback score will
be returned only to that bidder, and to the seller of an item that the
user is bidding on. For all other users, the value -99 is returned.
type : NSNumber, wrapper for primitive int
Declared In
Trading_UserType.h
idVerified
Indicates whether the user has been verified. For more information
about the ID Verify program, see:
http://pages.ebay.com/help/policies/identity-idverify.html
@property (nonatomic, retain) NSNumber *idVerified
Discussion
Indicates whether the user has been verified. For more information
about the ID Verify program, see:
http://pages.ebay.com/help/policies/identity-idverify.html
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
motorsDealer
Indicates if item is listed for sale by owner (FSBO) or listed by a
dealer.
Applies to eBay Motors Pro applications only.
@property (nonatomic, retain) NSNumber *motorsDealer
Discussion
Indicates if item is listed for sale by owner (FSBO) or listed by a
dealer.
Applies to eBay Motors Pro applications only.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
newUser
If true, identifies a new user who has been a registered eBay user for 30 days
or less. Always false after the user has been registered for more than 30
days. Does not indicate an ID change (see UserIdChanged).
@property (nonatomic, retain) NSNumber *newUser
Discussion
If true, identifies a new user who has been a registered eBay user for 30 days
or less. Always false after the user has been registered for more than 30
days. Does not indicate an ID change (see UserIdChanged).
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
payPalAccountLevel
The user’s PayPal account level. Only returned for the user identified in
eBayAuthToken. That is, you cannot see someone else’s PayPal account level.
Use this information to check whether a seller is eligible to list digital
downloadable items. See the eBay Web site online
help for current PayPal requirements for listing digital items.
@property (nonatomic, retain) NSString *payPalAccountLevel
Discussion
The user’s PayPal account level. Only returned for the user identified in
eBayAuthToken. That is, you cannot see someone else’s PayPal account level.
Use this information to check whether a seller is eligible to list digital
downloadable items. See the eBay Web site online
help for current PayPal requirements for listing digital items.
type: string constant in Trading_PayPalAccountLevelCodeType.h
Declared In
Trading_UserType.h
payPalAccountStatus
The user’s PayPal account status. Only returned for the user identified in
eBayAuthToken. That is, you cannot see someone else’s PayPal account status.
Use this information to check whether a seller is eligible to list digital
downloadable items. See the eBay Web site online
help for current PayPal requirements for listing digital items.
@property (nonatomic, retain) NSString *payPalAccountStatus
Discussion
The user’s PayPal account status. Only returned for the user identified in
eBayAuthToken. That is, you cannot see someone else’s PayPal account status.
Use this information to check whether a seller is eligible to list digital
downloadable items. See the eBay Web site online
help for current PayPal requirements for listing digital items.
type: string constant in Trading_PayPalAccountStatusCodeType.h
Declared In
Trading_UserType.h
payPalAccountType
The user’s PayPal account type. Only returned for the user identified in
eBayAuthToken. That is, you cannot see someone else’s PayPal account type.
Use this information to check whether a seller is likely to be eligible to
list digital downloadable items. See the eBay Web site online help for
current PayPal requirements for listing digital items.
@property (nonatomic, retain) NSString *payPalAccountType
Discussion
The user’s PayPal account type. Only returned for the user identified in
eBayAuthToken. That is, you cannot see someone else’s PayPal account type.
Use this information to check whether a seller is likely to be eligible to
list digital downloadable items. See the eBay Web site online help for
current PayPal requirements for listing digital items.
type: string constant in Trading_PayPalAccountTypeCodeType.h
Declared In
Trading_UserType.h
positiveFeedbackPercent
Percent of total feedback that is positive. For example, if the member has
50 feedbacks, where 49 are positive and 1 is neutral or negative, the
positive feedback percent could be 98.0. The value uses a max precision of 4
and a scale of 1. If the user has feedback, this value can be returned
regardless of whether the member has chosen to make their feedback private.
Not returned if the user has no feedback.
@property (nonatomic, retain) NSNumber *positiveFeedbackPercent
Discussion
Percent of total feedback that is positive. For example, if the member has
50 feedbacks, where 49 are positive and 1 is neutral or negative, the
positive feedback percent could be 98.0. The value uses a max precision of 4
and a scale of 1. If the user has feedback, this value can be returned
regardless of whether the member has chosen to make their feedback private.
Not returned if the user has no feedback.
type : NSNumber, wrapper for primitive float
Declared In
Trading_UserType.h
qualifiesForSelling
Indicate whether user is eligible to list item or not.
@property (nonatomic, retain) NSNumber *qualifiesForSelling
Discussion
Indicate whether user is eligible to list item or not.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
registrationAddress
Registration address for a user.
GetUser: eBay returns complete
RegistrationAddress details (including Phone), as applicable to the
registration site, when you retrieve your own user data.
GetItem and GetSellerTransactions: RegistrationAddress for another user
(except for Phone) is only returned if you have an order relationship
with that user AND that user is registered on DE/AT/CH, regardless of your
registration site and the site to which you send the request. For example,
the seller can see the buyer’s registration address if the buyer is
registered on DE/AT/CH, or the buyer can see the seller’s registration
address if the seller is registered on DE/AT/CH. (The buyer and seller won't
see their own registration addresses in GetItem.)
@property (nonatomic, retain) Trading_AddressType *registrationAddress
Discussion
Registration address for a user.
GetUser: eBay returns complete
RegistrationAddress details (including Phone), as applicable to the
registration site, when you retrieve your own user data.
GetItem and GetSellerTransactions: RegistrationAddress for another user
(except for Phone) is only returned if you have an order relationship
with that user AND that user is registered on DE/AT/CH, regardless of your
registration site and the site to which you send the request. For example,
the seller can see the buyer’s registration address if the buyer is
registered on DE/AT/CH, or the buyer can see the seller’s registration
address if the seller is registered on DE/AT/CH. (The buyer and seller won't
see their own registration addresses in GetItem.)
type : class Trading_AddressType
Declared In
Trading_UserType.h
registrationDate
Indicates the date the specified user originally registered with eBay.
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
@property (nonatomic, retain) NSDate *registrationDate
Discussion
Indicates the date the specified user originally registered with eBay.
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
type : NSDate, wrapper for primitive date
Declared In
Trading_UserType.h
sellerInfo
Contains information about a seller, including listing settings, listing
preferences, seller rankings, and seller type.
This field is replaced by the SellerBusinessType
field if the user is a business seller with a site
ID of 77 (Germany), 3 (UK), 205 (Ireland) or 100 (Motors).
See SellerType or SellerBusinessCodeType for the child elements.
@property (nonatomic, retain) Trading_SellerType *sellerInfo
Discussion
Contains information about a seller, including listing settings, listing
preferences, seller rankings, and seller type.
This field is replaced by the SellerBusinessType
field if the user is a business seller with a site
ID of 77 (Germany), 3 (UK), 205 (Ireland) or 100 (Motors).
See SellerType or SellerBusinessCodeType for the child elements.
type : class Trading_SellerType
Declared In
Trading_UserType.h
sellerPaymentMethod
Not used by any call.
@property (nonatomic, retain) NSString *sellerPaymentMethod
Declared In
Trading_UserType.h
site
eBay site the user is registered with.
Since a bidder’s user info is anonymous, this tag will be returned only to
that bidder, and to the seller of an item that the user is bidding on.
@property (nonatomic, retain) NSString *site
Discussion
eBay site the user is registered with.
Since a bidder’s user info is anonymous, this tag will be returned only to
that bidder, and to the seller of an item that the user is bidding on.
type: string constant in Trading_SiteCodeType.h
Declared In
Trading_UserType.h
siteVerified
No longer used.
@property (nonatomic, retain) NSNumber *siteVerified
Discussion
No longer used.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
skypeID
Indicates the Skype name of the user. Available if
the seller has a Skype account and has linked it (on the eBay site)
with his or her eBay account.
@property (nonatomic, retain) NSMutableArray *skypeID
Discussion
Indicates the Skype name of the user. Available if
the seller has a Skype account and has linked it (on the eBay site)
with his or her eBay account.
entry type : NSString, wrapper for primitive string
Declared In
Trading_UserType.h
staticAlias
Contains the static email address of an eBay member, used within the “reply to"
email address when the eBay member sends a message.
(Each eBay member is assigned a static alias. The alias is
used within a static email address.)
@property (nonatomic, retain) NSString *staticAlias
Discussion
Contains the static email address of an eBay member, used within the “reply to"
email address when the eBay member sends a message.
(Each eBay member is assigned a static alias. The alias is
used within a static email address.)
type : NSString, wrapper for primitive string
Declared In
Trading_UserType.h
status
Indicates the user’s registration/user status.
@property (nonatomic, retain) NSString *status
Discussion
Indicates the user’s registration/user status.
type: string constant in Trading_UserStatusCodeType.h
Declared In
Trading_UserType.h
tuvLevel
TUV level is a number allocated to a user based on various characteristics
such as buyer, seller, new buyer, new seller, high risk, or bid limit.
Applies to eBay Motors Pro applications only.
@property (nonatomic, retain) NSNumber *tuvLevel
Discussion
TUV level is a number allocated to a user based on various characteristics
such as buyer, seller, new buyer, new seller, high risk, or bid limit.
Applies to eBay Motors Pro applications only.
type : NSNumber, wrapper for primitive int
Declared In
Trading_UserType.h
uniqueNegativeFeedbackCount
Total count of negative Feedback entries received by the user, including weekly repeats.
@property (nonatomic, retain) NSNumber *uniqueNegativeFeedbackCount
Discussion
Total count of negative Feedback entries received by the user, including weekly repeats.
type : NSNumber, wrapper for primitive int
Declared In
Trading_UserType.h
uniqueNeutralFeedbackCount
Total count of neutral Feedback entries received by the user, including weekly repeats.
@property (nonatomic, retain) NSNumber *uniqueNeutralFeedbackCount
Discussion
Total count of neutral Feedback entries received by the user, including weekly repeats.
type : NSNumber, wrapper for primitive int
Declared In
Trading_UserType.h
uniquePositiveFeedbackCount
Total count of positive Feedback entries received by the user, including
weekly repeats. Contains the aggregate feedback score for a user. A member's
feedback score is the net positive feedback minus the net negative feedback
left for the member. Feedback scores are a quantitative expression of the
desirability of dealing with that person as a Buyer or a Seller on either side of an order. Each order line item can result in one feedback entry for
a given user (the buyer can leave feedback for the seller, and the seller
can leave feedback for the buyer.). That one feedback can be positive,
negative, or neutral. The aggregated feedback counts for a particular user
represent that user’s overall feedback score (referred to as a “feedback
rating” on the eBay site). This rating is commonly expressed as the eBay
Feedback score for the user.
@property (nonatomic, retain) NSNumber *uniquePositiveFeedbackCount
Discussion
Total count of positive Feedback entries received by the user, including
weekly repeats. Contains the aggregate feedback score for a user. A member's
feedback score is the net positive feedback minus the net negative feedback
left for the member. Feedback scores are a quantitative expression of the
desirability of dealing with that person as a Buyer or a Seller on either side of an order. Each order line item can result in one feedback entry for
a given user (the buyer can leave feedback for the seller, and the seller
can leave feedback for the buyer.). That one feedback can be positive,
negative, or neutral. The aggregated feedback counts for a particular user
represent that user’s overall feedback score (referred to as a “feedback
rating” on the eBay site). This rating is commonly expressed as the eBay
Feedback score for the user.
type : NSNumber, wrapper for primitive int
Declared In
Trading_UserType.h
userAnonymized
Indicates whether or not the User container has been made
anonymous. If true, some elements in the User container have
either been removed, or had their values changed to remove
identifying characteristics. If false, all expected elements
are returned, and no values are changed.
Since a bidder’s user info is anonymous, this tag is returned as false
only to the bidder, and to the seller of an item that the user is bidding
on. For all other users, this tag is returned as true.
@property (nonatomic, retain) NSNumber *userAnonymized
Discussion
Indicates whether or not the User container has been made
anonymous. If true, some elements in the User container have
either been removed, or had their values changed to remove
identifying characteristics. If false, all expected elements
are returned, and no values are changed.
Since a bidder’s user info is anonymous, this tag is returned as false
only to the bidder, and to the seller of an item that the user is bidding
on. For all other users, this tag is returned as true.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
userID
Unique eBay user ID for the user.
Since a bidder’s user info is anonymous, this tag contains the actual
value of an ID only for that bidder, and for the seller of an item that the user is
bidding on. For other users, the actual value is replaced by an
anonymous value, according to these rules:
When bidding on items, UserID is replaced with the
value “ab” where a and b are random characters from the UserID. For
example, if the UserID = IBidALot, it might be displayed as, “IA”.
Note that in this format, the anonymous bidder ID can change for each
auction.
For GetMyeBayBuying only, when bidding on items: UserID
is replaced with the value “a****b” where a and b are random characters from
the UserID.
When bidding on items listed on the the Philippines site: UserID is replaced
with the value “Bidder X” where X is a number indicating the order of that
user’s first bid. For example, if the user was the third bidder,
UserID = Bidder 3.
Note that in this Philippines site format, the anonymous bidder ID stays the same for a given
auction, but is different for different auctions. For example, a bidder who
is the third and then the seventh bidder in an auction will be listed for
both bids as “Bidder 3”. However, if that same bidder is the first bidder on
a different auction, the bidder will be listed for that auction as “Bidder
1”, not “Bidder 3”.
For GetMyeBayBuying only, when bidding on items listed on the UK and AU sites:
UserID is replaced with the string “High Bidder”.
For PlaceOffer, see also SellingStatus.HighBidder.
@property (nonatomic, retain) NSString *userID
Discussion
Unique eBay user ID for the user.
Since a bidder’s user info is anonymous, this tag contains the actual
value of an ID only for that bidder, and for the seller of an item that the user is
bidding on. For other users, the actual value is replaced by an
anonymous value, according to these rules:
When bidding on items, UserID is replaced with the
value “ab” where a and b are random characters from the UserID. For
example, if the UserID = IBidALot, it might be displayed as, “IA”.
Note that in this format, the anonymous bidder ID can change for each
auction.
For GetMyeBayBuying only, when bidding on items: UserID
is replaced with the value “a****b” where a and b are random characters from
the UserID.
When bidding on items listed on the the Philippines site: UserID is replaced
with the value “Bidder X” where X is a number indicating the order of that
user’s first bid. For example, if the user was the third bidder,
UserID = Bidder 3.
Note that in this Philippines site format, the anonymous bidder ID stays the same for a given
auction, but is different for different auctions. For example, a bidder who
is the third and then the seventh bidder in an auction will be listed for
both bids as “Bidder 3”. However, if that same bidder is the first bidder on
a different auction, the bidder will be listed for that auction as “Bidder
1”, not “Bidder 3”.
For GetMyeBayBuying only, when bidding on items listed on the UK and AU sites:
UserID is replaced with the string “High Bidder”.
For PlaceOffer, see also SellingStatus.HighBidder.
type : NSString, wrapper for primitive string
Declared In
Trading_UserType.h
userIDChanged
If true, identifies a user whose ID has changed within the last 30 days. Does not
indicate a new user (see NewUser).
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
@property (nonatomic, retain) NSNumber *userIDChanged
Discussion
If true, identifies a user whose ID has changed within the last 30 days. Does not
indicate a new user (see NewUser).
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_UserType.h
userIDLastChanged
Date and time the user’s data was last changed (in GMT).
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
@property (nonatomic, retain) NSDate *userIDLastChanged
Discussion
Date and time the user’s data was last changed (in GMT).
Since a bidder’s user info is anonymous, this tag will be returned only to that bidder,
and to the seller of an item that the user is bidding on.
type : NSDate, wrapper for primitive date
Declared In
Trading_UserType.h
userSubscription
Specifies the subscription level for a user.
@property (nonatomic, retain) NSMutableArray *userSubscription
Discussion
Specifies the subscription level for a user.
entry type : string constant in Trading_EBaySubscriptionTypeCodeType.h
Declared In
Trading_UserType.h
vatStatus
Indicates whether or not the user is subject to VAT.
Users who have registered with eBay as VAT-exempt are not
subject to VAT. See documentation on Value-Added Tax (VAT).
@property (nonatomic, retain) NSString *vatStatus
Discussion
Indicates whether or not the user is subject to VAT.
Users who have registered with eBay as VAT-exempt are not
subject to VAT. See documentation on Value-Added Tax (VAT).
type: string constant in Trading_VATStatusCodeType.h
Declared In
Trading_UserType.h
vatid
The value added tax identifier (VATID) is applicable to the VAT-enabled
sites.
Applies to eBay Motors Pro applications only.
@property (nonatomic, retain) NSString *vatid
Discussion
The value added tax identifier (VATID) is applicable to the VAT-enabled
sites.
Applies to eBay Motors Pro applications only.
type : NSString, wrapper for primitive string
Declared In
Trading_UserType.h


Created by Alex Hripak / @alexh58
You = Excellent web developer
Client = Thinks you know everything "techy"
We love our current Drupal website, but we want a mobile app now too. You guys do that, right?
Your ideal option.
Difficult to maintain multiple themes.
Only use if you need device features!
navigator.camera.getPicture(onSuccess, onFail, {
quality : 50,
destinationType : Camera.DestinationType.DATA_URL
});
function onSuccess(data) {
$('#myImage').attr('src', "data:image/jpeg;base64," + data);
}
function onFail(message) {
alert('Failed because: ' + message);
}
Pull up the camera, and put the contents into an image.
var user = {
username : 'test',
password : 'password'
};
$.ajax({
url : "http://localhost/api/user/login.json",
type : 'post',
data : $.param(user),
dataType : 'json',
error : function() {
console.log("Failed to login");
},
success : function(data) {
console.log("Logged in!");
}
});
Here the end point name is api.
data
attributes

My Cool App

Your Content or listviews go here

Slides and demo available at


Dresden, Culture Best Plans for an erasmus in dresden Tom Hanks 28 Feb 2018 4 245min 45 Zwinger - Frauenkirche - Semper Operah - Dresden Castle - Brühl's Terrace - Moritzburg - Fürstenzug Save this plan Use It As template Download .pdf Download .jpg
4 Comments Found
This sucks!! Where are the clubs!? And the drinks!? And the ladies?
 Go back to Footloose.
One does not simply look at the tags, you ungratefull Hobbit!
 You don't appreciate a good day in Dresden!


Chapter 6 Zotero
Zotero is a free, cross-platform tool to help you collect, organize, cite, and share your research sources. Zotero is similar to Mendeley or EndNote.
The purpose of this chapter is to show how Zotero can be used as a reference manager to allow you to cite works in your book, and automatically compile bibliographies or reference sections. The bookdown package uses Latex bibliography files to generate citations and create bibliographies. These .bib files are text-based files with a specific syntax for coding the relevant information in a citation. Each citation in a .bib file has an associated key that is inserted into an Rmarkdown document to generate a citation. We will use Zotero to avoid writing our own .bib from scratch. Instead, there are convenient methods for populating Zotero with a database of references, and for compiling a .bib file from a Zotero databse that can be used in bookdown.
6.1 Getting Started
- Create an account with Zotero, click register in the top-right corner
- Download the Zotero Desktop app
- Download the Zotero Connector extension for your web-browser
Zotero operates on the cloud as well as on your desktop. You can connect your online Zotero account with your desktop app in the preferences.
6.2 Populating Zotero with references
There are multiple ways to import references into Zotero. In the Zotero desktop app you can create folders to organize your references.
6.2.1 Drag and Drop .pdfs
- Create a new folder and name it
- Drag and drop .pdfs into the folder
- Highlight the .pdfs, then right-click, and choose “retrieve metadata for pdf”.
- For most journal articles, Zotero will be able to automatically find the citation information for your .pdf. This will convert the .pdf into a Zotero citation that includes both the citation information, as well as the .pdf
6.2.2 Import citations and pdfs from the web
- Ensure that your Desktop app is open, and that you have installed the Zotero plugin for your web-browser
- Use google scholar to search for an article
- Click the Zotero button in your web-browser
- You should see a list of all of the articles on the google scholar page.
- Click any or all the articles you want to import, then import them
- Zotero will download the citation information along with any associated .pdf to the current folder that is open in the Zotero desktop app.
Zotero is fairly flexible, so the above process will generally work when you are accessing many different databases, and journal web-pages for specific articles.
6.2.3 A note of caution
The citation information that Zotero downloads is sometimes inaccurate. Be sure to check the fields for each of your citations to ensure they are accurate. For example, page ranges are often missing.
6.3 Generating a .bib file
- Right-click a Zotero folder
- Choose “Export Collection”
- Choose “Bibtex”
- Save the file
- Copy the file into the folder for your bookdown project
- add the file to the bibliography line in the Index.Rmd file.
6.4 Citing references in an RMarkdown file
Citations are add using the following format @citationkey
, or [@citationkey]
to place the author,year citation in parentheses. The citation key name is listed for each citation in the bib file. Here are a couple of links with some additional examples: examples from bookdown, and examples from RMarkdown.
The source code for this book contains two .bib files: book.bib and packages.bib. Each citation in those files has an associated citation key. Here is an example of citing the bookdown package (Xie 2015). This is an example of citing R-core team (R Core Team 2016)
6.4.1 Cite while you write
A minor inconvenience when using .bib for citations in Rmarkdown is that you have to know the citation key, and these are easy to forget. One option is to load up your .bib file, then search through it to find the citation key.
Another option is to download and install the citr
package. Once this package is installed, you can use its cite while your write feature. Click the tools menu, addins, then, insert citations. This will open up a window showing all of the citations in your bib files. You can click multiple citations, and then insert the citation keys into your Rmarkdown document. This is convenient method for quickly finding needed citation keys. I recommend first openining the index.rmd file (which points to your .bib files), and then opening the insert citations tools; this will allow the tool to find your .bib files. After this point, you should be able to use the tool when you are working within .Rmd files for each chapter.
References
Xie, Yihui. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. http://yihui.name/knitr/.
R Core Team. 2016. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.


Dark Mode
@nathanf
1987
Followers
12 Today
1044
99 Today
@realnathanf
11k
1099 Today
Nathan F.
8239
Subscribers
144 Today
Page Views
87
3%
Likes
52
2%
5462
2257%
Profile Views
52k
1375%
Retweets
117
303%
507
553%
107
19%
Total Views
1407
12%


Position 27°8'26" N, 114°17'48" W.
This is really an anchorage, but there is a pier here.
People are VERY friendly and welcoming.
Contact a retired whale researcher Sherry (goes by Sirena) on VHF 16. She is always very helpful to cruisers.


A Dashboard for Linked
Data Visualization and Storytelling.
MELODY - Make mE a Linked Open Data StorY is a dashboarding system that allows users familiar with Linked Open Data to create web-ready data stories.
MELODY is a flexible solution to produce data stories via user-friendly interfaces. You can create data visualizations by querying a SPARQL endpoint, and charts can be accompanied by curated contents.
You can install MELODY
or you can
use MELODY online to create, publish
or
export your stories.
A step-by-step guide on how to use MELODY: create and publish your data stories.
Learn More


Introduction
Frequently asked questions
Syntax, keywords and built-in functions
import
implementation
Browser interface
Introduction - DOM API
Creating a document
Accessing elements
Attributes and methods
Events
Mouse events
Keyboard events
Focus events
Drag events
Query string
Using Javascript objects and libraries
Brython-specific built-in modules
browser
browser.ajax
browser.html
browser.local_storage
browser.markdown
browser.object_storage
browser.session_storage
browser.svg
browser.timer
browser.websocket
javascript
Working with Brython
Options of function
brython()
Installing the development environment
Testing and debugging
Deploying an application
Brython for Firefox OS
Introduction
WebApps : design
WebApps : application
Cookbook
Hello world !
Insert content in an element
HTML markup (bold,italic...)
HTML table
Bind and unbind events
Handle options in a SELECT
Drag and drop
Get the content of an element
Read the content of a file
Store objects locally
Example of onmouseover
Implementation notes
Compiling and running
Python → JS syntax conversion


Give us a try (with $25 off $100+ and free shipping)
JCREW
tr { font-size:1px; mso-line-height-alt:0; mso-margin-top-alt:1px; }


| Class | Description |
|---|---|
| Account |
Account object.
|
| APIClient |
This is the main class used in PrintNode-Java.
|
| Auth |
Auth class required for any APIClient creation.
|
| Capabilities |
Very large capabilities object for looking at printer capabilities.
|
| Client |
Object for a client.
|
| Computer |
Object for a computer.
|
| CreateAccountJson |
Object that serializes an object for JSON in a CreateAccount request.
|
| CreateAccountObject |
Object that correctly de-serializes the response from a CreateAccount request.
|
| Download |
Object for latest downloadable clients.
|
| Options |
Object to be serailized into JSON in createPrintJob.
|
| Printer |
Object for a printer.
|
| PrintJob |
Object for a PrintJob.
|
| PrintJobJson |
An object to be serialized into JSON for creating printjobs.
|
| Scale |
Object for a Whoami.
|
| State |
Object for a State.
|
| Whoami |
Object for a Whoami.
|
| Exception | Description |
|---|---|
| APIException |
Just a small Exception class for HTTP request based exceptions.
|


{% extends "modals/modal.html" %} {% block modalcontent %} {% include "membertypeform.html" with formid='addmembertypeform' %} {% endblock %}


SimpleITK
1.1.0
SimpleITK
Code
Explicit
include
sitkExplicitITKImageSource.h File Reference
#include "
sitkExplicit.h
"
#include "
itkImageSource.h
"
Include dependency graph for sitkExplicitITKImageSource.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Generated on Fri Mar 6 2020 16:06:38 for SimpleITK by
1.8.17


Menu
Private Agenda
Discography
Biography
Live
Selections
Contact Us
Discography
All Releases
Originals
Remixes
Collaborations
Compilations
The Space Between Swells
Wonder
A Winter In Los Angeles
The Space Between Swells
Texture
Tender
Ultramarine
Do You Want
Needwant Kollect
Music On The Rocks Vol 1
Rhythm of the Heart
Rhythm Ride
Primary Colours
Poouli
Perfume
Paralysed / Little Bird
Denali
Message
Irréversible
Île de Rêve
Full Moon
Dusk & Dawn
Do It Thin
Déjà Vu / Freefalling
Cafe Mambo Sunsets
Cafe Mambo Sunset To After Dark
Balearic 4
Aura
Affection
Above the Ocean
Facebook
Instagram
Twitter
Soundcloud
Spotify
Bandcamp
Bandsintown
privateagendamusic@gmail.com


City
Hyderabad
Mumbai
Chennai
Delhi
Contact Us
(current)
About Us
(current)
Your Transactions
View Profile
Log Out
Previous
Next
Marshmellow
95%
Book Now
Ed Shreen World Tour
98%
Book Now
Justin Beiber Purpose Tour
98%
Book Now
Nucleya
92%
Book Now
Select Category
×
Gold 2001/-
Silver 1001/-
Bronze 501/-
No.of Seats :
Select Category
×
Gold 2002/-
Silver 1002/-
Bronze 502/-
No.of Seats :
Select Category
×
Gold 2003/-
Silver 1003/-
Bronze 503/-
No.of Seats :
Select Category
×
Gold 2004/-
Silver 1004/-
Bronze 504/-
No.of Seats :


Tony R. Kuphaldt, an instructor at Bellingham Technical College in Washington
recently emailed me that my Learning to Learn piece
spoke to him and pointed me to
his web site where he provides
a wonderful look at his own experiences in self-teaching. In this paper,
Tony describes his insights, starting with an amazing look into my own previous
field of employ:
"Industry training, at least in its popular form, is roughly based on the model of a fire hydrant: sit in front of it, open the valve, and take a big drink. Due to time limitations, trainers present information at a rapid pace, with participants retaining only a fraction of what they see and hear. What knowledge they do gain seldom passes on to co-workers after the training session, and is forgotten almost as rapidly as it is presented, necessitating continual re-training. ... [Students] often leave with the impression of the instructor being something of a genius for being able to present so much information so quickly, and instilling within their own minds a sense of inferiority for not grasping all of it at the delivered pace."Further, Tony describes the technique I use to really learn something:
"What did I do to learn? Simple: I would challenge my existing knowledge of a subject by trying to apply it to real-world conditions and/or thought experiments. If I didn't know enough about a topic to successfully apply it to a realistic problem, I would research and study until I did. If ever I was completely baffled by a problem, I could determine my own conceptual weaknesses by incrementally simplifying the problem until I could solve it. Whatever complexity I eliminated from the problem that enabled me to solve it was where my understanding was weak. Once I knew what I didn't know, I not only knew where to focus my study efforts, but I also felt more motivated to study because I could perceive my own needs."Tony characterizes his (and my) self-teaching technique as an internal feedback loop, where the student knows what he doesn't know. This is as opposed to an external feedback loop in an instructional setting, where the instructor knows what the student doesn't know, but the feedback loop is broken between the student and the instructor.
And as if that weren't enough, Tony takes his goals on the road, as it were, testing a self-teaching-based curriculum on his students and reporting on his results. I find his work especially interesting not because I feel the need to teach the world to teach themselves; I'm perfectly happy to encourage folks to learn to learn, but to have them choose other techniques. However, I do feel very strongly that the Sells brothers learn to learn. I can't imagine sending them out into the world without a firm grasp of the ability to teach themselves. I don't know how to do that, though, unless I start home schooling them. That wouldn't be out of the question except for this unhealthy addiction I have to a steady income stream...


a.
Adding node labels
: Modify graph.html to show a node label (the node name, i.e., the source) below each node. If a node is dragged, its label must move with it.
b.
Styling links: Style the links based on the “value” field in the links array. Assign the following styles:
If the value of the edge is equal to 0, the link should be green and thick.
If the value of the edge is equal to 1, the link should be blue and thin.
c. Scaling node sizes:
-
Scale the radius of each node in the graph based on the degree of the node (you may try linear or squared scale, but you are not limited to these choices).
Note: Regardless of which scale you decide to use, you should avoid extreme node sizes (e.g., nodes that are mere points, or barely visible, as well as very large nodes). Failure to do so will result in a poor quality visualization.
d.
Pinning nodes
(fixing node positions):
- Modify the code so that when you double click a node, it pins the node’s position such that it will not be modified by the graph layout algorithm (note: pinned nodes can still be dragged around by the user but they will remain at their positions otherwise). Node pinning is an effective interaction technique to help users spatially organize nodes during graph exploration.
- Mark pinned nodes to visually distinguish them from unpinned nodes, e.g., pinned nodes are shown in a different color, border thickness or visually annotated with an “asterisk” (*), etc.
- Double clicking a pinned node should unpin (unfreeze) its position and unmark it.


Backtrader shows you how your strategy might perform in the market by testing it against past price data.
The library’s most basic functionality is to iterate through historical data and to simulate the execution of trades based on signals given by your strategy.
It extends on this functionality in many ways. A Backtrader “analyzer” can be added to provide useful statistics. We will show an example of this using the commonly used Sharpe Ratio in a optimization test later in this tutorial.
On the subject of optimization, it’s clear a lot of thought has been put in to speeding up the testing of strategies with different parameters. The built in optimization module uses multiprocessing, fully utilizing your multiple CPU cores to speed up the process.
Lastly, Backtrader utilizes the well-known matplotlib library to create charts at the end of your backtest, if desired.
How to install Backtrader
The easiest way to install Backtrader is by command line. Simply type in pip install backtrader
If you plan to use the charting functionality, you should have matplotlib installed. The minimum version requirement for matplotlib is 1.4.1.
You can confirm it is installed on your system by typing in pip list
from the command line to show installed Python packages.
If you need to install it, you can do so either via pip install backtrader[plotting]
or pip install matplotlib
.
Alternatively, you can run Backtrader from source. Download the zip file from the Backtrader GitHub page and unzip the backtrader directory inside your project file.
How to configure the basic Backtrader setup
import backtrader as bt
class MyStrategy(bt.Strategy):
def next(self):
pass #Do something
#Instantiate Cerebro engine
cerebro = bt.Cerebro()
#Add strategy to Cerebro
cerebro.addstrategy(MyStrategy)
#Run Cerebro Engine
cerebro.run()
We will go into the strategy class in more detail in the examples that follow. This is where all the logic goes in determining and executing your trade signals. It is also where indicators can be created or called, and where you can determine what get’s logged or printed to screen.
The cerebro engine is the core of Backtrader. This is the main class and we will add our data and strategies to it before eventually calling the cerebro.run()
command.
How to get data and import it into Backtrader
There are several ways to get data. If you’re already signed up with a broker, you might have API access to grab historical data.
Alternatively, there are many third-party API’s available that allow you to download historical data from within your Python console.
For our example, we will download data in CSV format directly from the Yahoo Finance website.
Simply navigate to the Yahoo Finance website and enter in the ticker or company name for the data you’re looking for. Then, click on the Historical Data tab, select your Time Period, and click on Apply. There will be a Download Data link which will save the CSV file to your hard drive.
It’s a good idea to copy the CSV file over to your project directory. Otherwise, you will have to specify a full pathname when adding your data to cerebro.
We can add our data to Backtrader by using the built-in feeds template specifically for Yahoo Finance. The template will take care of any formatting required for Backtrader to properly read the data.
data = bt.feeds.YahooFinanceCSVData(dataname='TSLA.csv') cerebro.adddata(data)
In the above example, we’ve assigned the CSV dataset to a variable named data. The next step is to add this to cerebro.
Adding data can be done at any point between instantiating cerebro and calling the cerebro.run()
command. There are several additional parameters we can specify when loading our data. We will explore this further in our next example.
How to print or log data using the strategy class in Backtrader
To get a bit more familiar with the Strategy class in Backtrader, we will create a simple script that prints the closing prices for our dataset. The Strategy class is where we will be spending most of our time within Backtrader.
The first thing we will do is create a new class called PrintClose
which inherits the Backtrader Strategy class.
import backtrader as bt
class PrintClose(bt.Strategy):
def __init__(self):
#Keep a reference to the "close" line in the data[0] dataseries
self.dataclose = self.datas[0].close
In the __init__
function above, we’ve created a variable called dataclose
to make it easier to refer to the closing price later on. You will notice that the closing price is stored in datas[0].close
. We can just as easily access the open price by referencing datas[0].open
. If you’re using multiple data feeds, you can access your second feed by referencing datas[1].close
, but more on that later.
An important feature of Backtrader is accessing historical data which we can now do via the dataclose
variable. As Backtrader iterates through historical data, this variable will get updated with the latest price from dataclose[0]
. We can also look back to the prior data points by accessing the negative index of dataclose
. Here is an example.
if dataclose[0] > dataclose [-1]: pass # do something
The above code checks to see if the most recent close is larger than the prior close. We can just as easily access the second last closing price by changing the index like this: dataclose[-2]
The next step is to create a logging function.
def log(self, txt, dt=None):
dt = dt or self.datas[0].datetime.date(0)
print(f'{dt.isoformat()} {txt}') #Print date and close
The log
function allows us to pass in data via the txt
variable that we want to output to the screen. It will attempt to grab datetime
values from the most recent data point,if available, and log it to the screen.
Now that our printing/logging function has been defined, we will overwrite the next
function. This is the most important part of the strategy class as most of our code will get executed here. This part gets called every time Backtrader iterates over the next new data point.
def next(self):
self.log('Close: ', self.dataclose[0])
All we will do for now is log the closing price.
This is what our complete script looks like at this point:
import backtrader as bt
class PrintClose(bt.Strategy):
def __init__(self):
#Keep a reference to the "close" line in the data[0] dataseries
self.dataclose = self.datas[0].close
def log(self, txt, dt=None):
dt = dt or self.datas[0].datetime.date(0)
print(f'{dt.isoformat()} {txt}') #Print date and close
def next(self):
self.log('Close: ', self.dataclose[0])
#Instantiate Cerebro engine
cerebro = bt.Cerebro()
#Add data feed to Cerebro
data = bt.feeds.YahooFinanceCSVData(dataname='TSLA.csv')
cerebro.adddata(data)
#Add strategy to Cerebro
cerebro.addstrategy(PrintClose)
#Run Cerebro Engine
cerebro.run()
And this is what your output should look like:
From this point on, the structure of our script will mostly remain the same and we will write the bulk of our strategies under the next function of the Strategy class.
How to run a backtest using Backtrader
We’ve installed Backtrader, downloaded some historical data, and written our basic script. The next step is to backtest a strategy.
We will test out a moving average crossover strategy. Essentially, it involves monitoring two moving averages and taking a trade when one crosses the other.
The moving average crossover strategy is to trading what the Hello World script is to programming. Neither will likely ever be used in the real world and are mostly used for illustrative purposes. In other words, we don’t expect the strategy to be a profitable one.
There are a few things we will do before diving into the strategy. First, we will separate our strategy into its own file. Throughout this tutorial, we will go over several examples and separating out the strategies from the main script will keep the code in a nice clean format.
The main script, which will have everything cerebro related, will only have minor changes throughout the tutorial while most of the work will be done in the strategies script.
The strategies script will be appropriately named strategies.py.
import backtrader as bt
class PrintClose(bt.Strategy):
def __init__(self):
#Keep a reference to the "close" line in the data[0] dataseries
self.dataclose = self.datas[0].close
def log(self, txt, dt=None):
dt = dt or self.datas[0].datetime.date(0)
print(f'{dt.isoformat()} {txt}') #Print date and close
def next(self):
self.log('Close: ', self.dataclose[0])
We also have to separate our data into two parts. This way, we can test our strategy on the first part, run some optimization, and then see how it performs with our optimized parameters on the second set of data.
If you’ve heard the terms in-sample data, or out-of-sample data, this is what it is referring to. Out-of-sample data is simply data set aside for testing after optimization.
There are a lot of benefits to testing and optimizing this way, take a look at What is a Walk-Forward Optimization and How to Run It? if you’d like to get a more thorough understanding of the methodology.
To divide the data, we set a from date and to date when loading our data. Don’t forget to import the DateTime module for this part.
Here is our updated main script which will be called btmain.py:
import datetime
import backtrader as bt
from strategies import *
# Instantiate Cerebro engine
cerebro = bt.Cerebro()
# Set data parameters and add to Cerebro
data = bt.feeds.YahooFinanceCSVData(
dataname='TSLA.csv',
fromdate=datetime.datetime(2016, 1, 1),
todate=datetime.datetime(2017, 12, 25),
)
# settings for out-of-sample data
# fromdate=datetime.datetime(2018, 1, 1),
# todate=datetime.datetime(2019, 12, 25))
cerebro.adddata(data)
# Add strategy to Cerebro
cerebro.addstrategy(AverageTrueRange)
# Default position size
cerebro.addsizer(bt.sizers.SizerFix, stake=3)
if __name__ == '__main__':
# Run Cerebro Engine
start_portfolio_value = cerebro.broker.getvalue()
cerebro.run()
end_portfolio_value = cerebro.broker.getvalue()
pnl = end_portfolio_value - start_portfolio_value
print(f'Starting Portfolio Value: {start_portfolio_value:2f}')
print(f'Final Portfolio Value: {end_portfolio_value:2f}')
print(f'PnL: {pnl:.2f}')
We have included from strategy import *
which will make it easier to call new strategies from the main script as we create them. Also included towards the end of the script are some details regarding portfolio values and our default position size, which has been set to 3 shares.
The command cerebro.broker.getvalue()
allows you to obtain the value of the portfolio at any time. We grab the starting value by calling it before running cerebro and then call it once again after to get the ending portfolio value. We can see our profit or loss by subtracting the end value from the starting value.
Let’s get started on our strategy!
class MAcrossover(bt.Strategy):
# Moving average parameters
params = (('pfast',20),('pslow',50),)
def log(self, txt, dt=None):
dt = dt or self.datas[0].datetime.date(0)
print(f'{dt.isoformat()} {txt}') # Comment this line when running optimization
def __init__(self):
self.dataclose = self.datas[0].close
# Order variable will contain ongoing order details/status
self.order = None
# Instantiate moving averages
self.slow_sma = bt.indicators.MovingAverageSimple(self.datas[0], period=self.params.pslow)
self.fast_sma = bt.indicators.MovingAverageSimple(self.datas[0], period=self.params.pfast)
In the code above, we’ve created a new class called MAcrossover which inherits from the Backtrader Strategy class.
We’ve set some parameters for our moving average rather than hard coding them. This will make it easier to optimize the strategy later on.
There are a few new items under the __init__
function. We’ve created an order
variable which will store ongoing order details and the order status. This way we will know if we are currently in a trade or if an order is pending.
One thing to note about Backtrader is that when it receives a buy or sell signal, we can instruct it to create an order. However, that order won’t be executed until the next bar is called, at whatever price that may be.
We’ve also created two moving averages by utilizing indicators built into Backtrader. The benefit of using built-in indicators is that Backtrader won’t start looking for orders until this data is made available.
To clarify, the larger of the two moving averages uses an average of the last 50 closing prices. That means the first 50 data points will have a NaN moving average value. Backtrader knows not to look for orders until we have valid moving average data.
The next item we will overwrite is the notify_order
function. This is where everything related to trade orders gets processed.
def notify_order(self, order):
if order.status in [order.Submitted, order.Accepted]:
# An active Buy/Sell order has been submitted/accepted - Nothing to do
return
# Check if an order has been completed
# Attention: broker could reject order if not enough cash
if order.status in [order.Completed]:
if order.isbuy():
self.log(f'BUY EXECUTED, {order.executed.price:.2f}')
elif order.issell():
self.log(f'SELL EXECUTED, {order.executed.price:.2f}')
self.bar_executed = len(self)
elif order.status in [order.Canceled, order.Margin, order.Rejected]:
self.log('Order Canceled/Margin/Rejected')
# Reset orders
self.order = None
What the above code does is allow us to log when an order gets executed, and at what price. This section will also provide notification in case an order didn’t go through.
Lastly, we have the next function which contains all of our trade logic.
def next(self):
# Check for open orders
if self.order:
return
# Check if we are in the market
if not self.position:
# We are not in the market, look for a signal to OPEN trades
#If the 20 SMA is above the 50 SMA
if self.fast_sma[0] > self.slow_sma[0] and self.fast_sma[-1] < self.slow_sma[-1]:
self.log(f'BUY CREATE {self.dataclose[0]:2f}')
# Keep track of the created order to avoid a 2nd order
self.order = self.buy()
#Otherwise if the 20 SMA is below the 50 SMA
elif self.fast_sma[0] < self.slow_sma[0] and self.fast_sma[-1] > self.slow_sma[-1]:
self.log(f'SELL CREATE {self.dataclose[0]:2f}')
# Keep track of the created order to avoid a 2nd order
self.order = self.sell()
else:
# We are already in the market, look for a signal to CLOSE trades
if len(self) >= (self.bar_executed + 5):
self.log(f'CLOSE CREATE {self.dataclose[0]:2f}')
self.order = self.close()
We first check for an active order in which case we don’t want to do anything. For this strategy, we only want to be in one position at a time.
If we’re not in the market, we can start looking for a moving average crossover. One thing to be mindful of in this strategy is that our signal comes from the cross of one moving average over another.
To satisfy that requirement, we check to see if the 20 moving average was below the 50 moving average on the last candle but is above it on the current candle or vice versa. This confirms a cross has taken place. Otherwise, we would be constantly getting a signal.
Finally, we have our else statement which gets executed if we are already in the market. For the exit strategy, we will simply exit five bars after entering the trade.
On running the code, the script will output all of our trades and print a final PnL at the end. In this case, we had a $79 profit.
One thing to keep in mind when testing strategies is that the script can end with an open trade in the system. One way to check if there are any open trades is to ensure ‘CLOSE CREATE’ is the second last line output before the portfolio values are printed. Otherwise, an open trade will likely skew your PnL results.
How to use the built-in crossover indicator
In our moving average cross over example, we coded the logic involved in determining if the two moving averages were crossing. Backtrader has developed an indicator that can determine this which can make things a bit easier.
To use the built-in indicator, instantiate it in the __init__
function as follows: self.crossover = bt.indicators.CrossOver(self.slow_sma, self.fast_sma)
Then all you need to do is check the indicator is providing a signal as follows
if self.crossover > 0: # Fast ma crosses above slow ma
pass # Signal for buy order
elif self.crossover < 0: # Fast ma crosses below slow ma
pass # Signal for sell order
How to run optimization in Backtrader
Our next step is to try and see if we can increase our profits by changing some of the moving average parameters.
In the Strategy, we will comment out the print statement in the log function. Optimizing involves several backtests with various parameters and we don’t need to log and go through every trade that takes place.
Instead, we will judge the strategy performance based on the Sharpe Ratio.
There are a number of changes to the main script file to run the optimization. Here is the code for the updated main script:
import datetime
import backtrader as bt
from strategies import *
cerebro = bt.Cerebro(optreturn=False)
#Set data parameters and add to Cerebro
data = bt.feeds.YahooFinanceCSVData(
dataname='TSLA.csv',
fromdate=datetime.datetime(2016, 1, 1),
todate=datetime.datetime(2017, 12, 25))
#settings for out-of-sample data
#fromdate=datetime.datetime(2018, 1, 1),
#todate=datetime.datetime(2019, 12, 25))
cerebro.adddata(data)
#Add strategy to Cerebro
cerebro.addanalyzer(bt.analyzers.SharpeRatio, _name='sharpe_ratio')
cerebro.optstrategy(MAcrossover, pfast=range(5, 20), pslow=range(50, 100))
#Default position size
cerebro.addsizer(bt.sizers.SizerFix, stake=3)
if __name__ == '__main__':
optimized_runs = cerebro.run()
final_results_list = []
for run in optimized_runs:
for strategy in run:
PnL = round(strategy.broker.get_value() - 10000,2)
sharpe = strategy.analyzers.sharpe_ratio.get_analysis()
final_results_list.append([strategy.params.pfast, strategy.params.pslow, PnL, sharpe['sharperatio']])
sort_by_sharpe = sorted(final_results_list, key=lambda x: x[3], reverse=True)
for line in sort_by_sharpe[:5]:
print(line)
Let’s run through some of the major changes. When instantiating cerebro, the optreturn=False
parameter was added in. Cerebro removes some data output when running optimization to improve speed. However, we require this data, hence the additional parameter.
cerebro.addstrategy
was removed and replaced with cerebro.optstrategy
. We’ve also added additional parameters that specify a range of values to optimize the moving averages for. Further, an analyzer was added which will calculate the Sharpe Ratio for our results.
You may have noticed that we added an if __name__ == '__main__':
block. In our testing, we ran into an error without it in place.
The optimized results are being stored in the variable optimized_runs
in the form of a list of lists. The bottom section of the code iterates through the lists to grab the values that we need and appends it to a newly created list.
The last three lines of the code sorts the list and prints out the top five values. This is what our results looked like:
It looks like we have a clear winner. A period of 7 for the fast moving average and a period of 92 for the slow moving average produces a notably higher result for the Sharpe Ratio.
Now it’s time to run some backtests on the out-of-sample data. All it takes is a simple change to the data parameters.
fromdate=date.datetime(2018. 1. 1),
todate=datetime.datetime(2019, 12, 25)
Our backtest shows a loss of $63.42 with the same settings we used in our original test, but on the out-of-sample data. Here is the result after changing the moving average settings to the optimized parameters.
A loss of $170.22, even greater than our original settings although this was expected as a few things are impacting our figures.
First, the moving average cross over is an unsophisticated strategy that was expected to produce a loss. The only surprise here was that it produced a profit in our first run.
Second, this is a great example of overfitting. This is a new terminology and the following is what it means. Taken from Investopedia:
Overfitting
Overfitting is a modeling error that occurs when a function is too closely fit to a limited set of data points. Overfitting the model generally takes the form of making an overly complex model to explain idiosyncrasies in the data under study.
In reality, the data often studied has some degree of error or random noise within it. Thus, attempting to make the model conform too closely to slightly inaccurate data can infect the model with substantial errors and reduce its predictive power.
How to build a stock screener in Backtrader
Screeners are commonly used to filter out stocks based on certain parameters. There aren’t a lot of easy ways to look back to a certain date and see what results a stock screener might have spit out. Fortunately, Backtrader offers exactly this.
We will test out this functionality by building a screener that filters out stocks that are trading two standard deviations below the average price over the prior 20 days.
We will start by creating a subclass of the Backtrader Analyzer class which will form the ‘screener’ component of our strategy.
class Screener_SMA(bt.Analyzer):
params = (('period',20), ('devfactor',2),)
def start(self):
self.bband = {data: bt.indicators.BollingerBands(data,period=self.params.period, devfactor=self.params.devfactor)for data in self.datas}
def stop(self):
self.rets['over'] = list()
self.rets['under'] = list()
for data, band in self.bband.items():
node = data._name, data.close[0], round(band.lines.bot[0], 2)
if data > band.lines.bot:
self.rets['over'].append(node)
else:
self.rets['under'].append(node
Under the start
function, you’ll notice that we are using Bollinger bands to determine the value for two standard deviations. The syntax is a bit different from prior examples as several datasets are used in a screener.
The stop
function is where a bulk of our code falls. We iterate through our Bollinger band items for all of our datasets to filter out the ones that are trading below the lower band.
The stocks that qualify then get appended to a list. The analyzer class has a built-in dictionary with the variable name rets
. We will use this dictionary to store our lists.
There isn’t a lot of code required in our main script, but it is quite different from prior examples. Since we are adding several datasets, we’ve created a list of all the tickers that we want to scan. We then iterate through the list to add the corresponding CSV files to cerebro.
import datetime
import backtrader as bt
from strategies import *
#Instantiate Cerebro engine
cerebro = bt.Cerebro()
#Add data to Cerebro
instruments = ['TSLA', 'AAPL', 'GE', 'GRPN']
for ticker in instruments:
data = bt.feeds.YahooFinanceCSVData(dataname='{}.csv'.format(ticker),fromdate=datetime.datetime(2016, 1, 1),todate=datetime.datetime(2017, 10, 30))
cerebro.adddata(data)
#Add analyzer for screener
cerebro.addanalyzer(Screener_SMA)
if __name__ == '__main__':
#run cerebro Engine
cerebro.run(runonce=False, stdstats=False, writer=True)
Next, we add our newly created screener class to Cerebro as an analyzer.
Finally, we call the cerebro.run
command with a few additional parameters.
The writer=True
parameter calls the built-in writer functionality to display the ouput. stdstats=False
removes some of the standard output (more on this later). And lastly, runonce=False
ensures that data remains synchronized.
Here are our results:
We can see that TSLA and GE traded at least two standard deviations below their average close price over the prior 20 days on October 30, 2017.
How to code an indicator in Backtrader
There are three ways to code an indicator in Backtrader. You can code one from scratch, utilize a built-in indicator, or use a third-party library.
If you don’t plan to use the live trading functionality of Backtrader, you might want to code your indicator yourself.
Here is an example of an indicator we created:
range_total = 0
for i in range(-13, 1):
true_range = self.datahigh[i] - self.datalow[i]
range_total += true_range
ATR = range_total / 14
The above code calculates the Average True Range (ATR). Its aim is to give an estimate of how much an instrument will typically fluctuate in a given period
It does this by iterating through the last 14 data points which can be done in Backtrader by using a negative index. We take the high and subtract the low for each period, and then average it out.
The code can then be placed within the next function of our strategy class. We can also add a simple log function to log the indicator to the screen like this:
self.log(f'Close: {self.dataclose[0]:.2f} ATR: {ATR:.4f}')
Here is the complete startegy code:
class AverageTrueRange(bt.Strategy):
def log(self, txt, dt=None):
dt = dt or self.datas[0].datetime.date(0)
print(f'{dt.isoformat()} {txt}') #Print date and close
def __init__(self):
self.dataclose = self.datas[0].close
self.datahigh = self.datas[0].high
self.datalow = self.datas[0].low
def next(self):
range_total = 0
for i in range(-13, 1):
true_range = self.datahigh[i] - self.datalow[i]
range_total += true_range
ATR = range_total / 14
self.log(f'Close: {self.dataclose[0]:.2f}, ATR: {ATR:.4f}')
Here is what the output looks like when we put it all together.


Setting Up Software for Initial Use
Welcome To A New Way Of Journaling
Please wait
10
seconds until done...


Upgrade procedures
Warning
If you made any changes in application files, you must backup first before proceeding in the following upgrade procedures
- Download the latest version for OraSchool application from codecanyon .
- Replace your hosted application files with the new version
- Adjust the folder permissions and database connection details
- Go to upgrade script located in new application : Type your Application main URL followed by "/upgrade"
- Follow the procedures there to upgrade your script
- You done


|
LiteSQL
0.3.17
|
used to iterate results of SQL statement, creates objects of type T from retrieved records. More...
#include <cursor.hpp>
Public Member Functions | |
| Cursor (const Database &db, Backend::Cursor *c) | |
| ~Cursor () | |
| deletes Backend::Cursor | |
| Cursor< T > & | operator++ () |
| steps to next record | |
| Cursor< T > & | operator++ (int) |
| steps to next record | |
| std::vector< T > | dump () |
| returns the rest of the result set in vector | |
| T | operator* () |
| returns current record | |
| bool | rowsLeft () |
| returns true if there are records left in the result set | |
used to iterate results of SQL statement, creates objects of type T from retrieved records.
See Using Cursor


I was visiting San Diego (where I used to live) for a day and a friend and I decided to trip during the day. My friend, Joe, had never taken either 5 Meo-dipt or DXM, but he is one of the more experienced people I know with acid and shrooms and other illegal things, so figuring he could handle it, he took like 16 mgs of 5 Meo-dipt and I took 9. After a minute we decided to take the DXM as well, so there that went. This was around 9 in the morning.
Just after taking the capsules we hooked up with another friend of ours who had to go to the college library to do some research with a classmate. It hadn't even been a half hour and Joe said he wasn't sober, so we stayed outside while the other guy did his research. Joe felt odd and actually got sick, throwing up, but in a very controlled way. He couldn't really explain how he was feeling, but I felt nothing.
After an hour at the college we left and went with our other friend, who was sober, to buy a cell phone plan. Again we stayed outside while he took care of things, Joe complaining about how he felt. He said it felt like an intense body fry with no visuals and every few minutes he'd be perfectly okay but then the weird feeling would hit him again. It had been two hours now, he'd been tripping for an hour and a half, and I felt nothing.
When our other friend was done we went to play some pool. Now Joe was feeling good, enjoying his trip, getting visuals. It actually improved his pool playing. Our sober friend asked about what the trip was like and while Joe explained it I still was sober. The sober guy told us he had four sheets of acid at home and just offered me an entire sheet, but I couldn't accept that from someone I hadn't even seen in months, no matter how tempting.
Finally as we were finishing our hour of pool I started to feel something, which surprised me because I had given up since it had now been three hours since ingesting anything. I couldn't really focus my eyes on anything and I just had a general feeling that things weren't really right. I was talking and communicating but didn't really feel like myself. Joe and Mike wanted to go to the mall, so off we went.
As we drove over to the mall I started to feel really really weird. Nothing like DXM alone or 5 MeO-DiPT alone, and nothing like I expected. Me and Joe just kept saying to each other, 'This is weird. It's like...I don't know. It's weird.' When we parked in the parking garage everything just rushed up at me, and like Joe did 3 hours later, I got sick and threw up.
I managed to follow my friends to the arcade but I didn't even try to play a videogame. I just sat in the racing games. Too many colors and sounds assaulting me. I love visuals but I couldn't even call this that. It was just nauseating. Finally we left and went to lunch but I couldn't eat and couldn't even talk.
After that it started to fade a bit but all the way until I caught my plane at like 530 I felt very very odd. It wasn't a bad trip in the sense of a bad trip, but it was a BAD trip, not fun. Very weird, unlike anything I've ever experienced and I never want to experience anything like it again. I have no intention of trying this combination again.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


I am a FrontEnd Developer. I'm currently a full time student pursuing Bachelors of Technology in Computer Science from Maharaja Agrasen Institute Of Technology, New Delhi. I am currently working on improving my skill set and become a full-stack developer.
E28.709846'
N77.080994'
HTML(5), CSS(3), Java
JavaScript, Vanilla JS, C,
BootStrap, C++, Python


Timer with the default interval (10 ms).
It starts from 0 ms.
Timer with a 1000 ms (1 second) interval.
It starts from 0 ms.
Timer with the default interval (10 ms).
It starts from 15000 ms (15 seconds).
Timer with a 123 ms interval.
It starts from 2138 ms (2,138 seconds).
Countdown with the default interval (10 ms).
It starts from 10000 ms (10 seconds).
Countdown with a 123 ms interval.
It starts from 10000 ms (10 seconds).