Это дневной торговый сканер фондов и робо-транс-транс, который ищет все акции США и пытается найти и покупать акции с хорошим соотношением риска и вознаграждения и которые находятся в начале тенденции к повышению. Или он соответствует своей цели прибыли, остановки или тайм -ауту.
В config.yml добавьте свой ключ Alpaca, секретно, что эти значения могут храниться как переменные среды в
Дополнительные конфигурации можно найти внутри config/config.yml для управления риском, вознаграждением, и т. Д. В равной степени их можно переопределить с помощью переменных среды с помощью префикса BUNNY_
Уже поставленные значения конфигурации были протестированы как прибыльные на бумажных торговых счетах.
Если желать изменить эти ценности, чтобы соответствовать вашим собственным предпочтениям, убедитесь, что они испытали их на бумажном торговом счете.
Забавные вещи всегда могут произойти при связывании с ценностями, поэтому проверьте, чтобы вы не взорвали свою учетную запись!
Предварительные условия:
клонировать или загрузить пакет - и запустить go run bunny.go
Alpaca-это сначала API, 0 Комиссионного брокера, который используется этим робо-трещином для взаимодействия с акционерными рынками
func meetsRiskGoal ( stock * stock. Stock ) bool {
tradeRisk := viper . GetFloat64 ( "stop-loss-atr-ratio" ) * stock . Atr [ len ( stock . Atr ) - 1 ] / stock . Price . Peek ()
upperRisk := viper . GetFloat64 ( "risk" ) * ( 1 + viper . GetFloat64 ( "exposure-tolerance" ))
lowerRisk := viper . GetFloat64 ( "risk" ) * ( 1 - viper . GetFloat64 ( "exposure-tolerance" ))
return tradeRisk > lowerRisk && tradeRisk < upperRisk
}
func ( s * Stock ) IsReadyToBuy () bool {
return s . IsBelowTrend () && s . IsUpwardsTrend () && s . IsBuyingMacdCrossOver ()
}
func getOrderParameters ( s stock. Stock , a * io. Alpaca , budget float64 ) ( float64 , float64 , float64 , float64 , float64 ) {
quote := a . GetQuote ( s . Symbol )
exposure := budget * viper . GetFloat64 ( "risk" )
price := float64 ( quote . Last . AskPrice - ( quote . Last . AskPrice - quote . Last . BidPrice ) / 2 )
tradeRisk := viper . GetFloat64 ( "stop-loss-atr-ratio" ) * s . Atr [ len ( s . Atr ) - 1 ]
rewardToRisk := viper . GetFloat64 ( "risk-reward" )
stopLossMax := viper . GetFloat64 ( "stop-loss-max" )
takeProfit := price + ( rewardToRisk * tradeRisk )
stopLoss := price - tradeRisk
stopLimit := price - ( 1 + stopLossMax ) * tradeRisk
qty := math . Round ( exposure / tradeRisk )
//ensure we dont go over
for qty * price > budget {
qty = qty - 1
}
return price , qty , takeProfit , stopLoss , stopLimit
}
func ( s * Stock ) IsReadyToSell () bool {
return ! s . IsBelowTrend () && s . IsDownwardsTrend () && s . IsSellingMacdCrossUnder ()
}
В то время как программа работает, консоль будет регистрировать все сделки, включая символ, цену, получение прибыли, остановки, лимита остановки и QUTY
2020/11/29 02:34:08 buying NHC:
total: 22332.509254
qty: 349.000000
maxProfit: 375.502682
maxLoss: 250.33512142059453
price: 63.989998
takeProfit: 65.065937
stopLoss: 63.272705
Внутри каталога снимков будут HTML -страницы, показывающие графики купленных акций, которые он основывал свое решение на
Они будут названы со временем, которое было приобретено, и предоставленные акции
Как и во всех вещах, как здравый смысл, так и в пределах лицензии GPL-3.0 согласовались при использовании этой программы, не существует гарантии, гарантии или ответственности, согласованной или выраженной при использовании этой программы.
Хотя эта программа сделана добросовестным, чтобы быть прибыльной и без ошибок - нет никаких обещаний прибыли. Есть, однако, риск. Риск потерять деньги. Риск получения маржи. Риск ошибки программного обеспечения.
Эта программа предназначена для повседневной торговли любыми акциями, которые соответствуют определенным математическим техническим показателям. Нет никаких консультативных консультаций, и он рассматривает акции как набор потенциально ошибочных чисел, и его решения как серию потенциально ошибочных уравнений. Важно понимать, что существует значительный риск в
Эта программа также использует маржу по умолчанию - если не знаком с этим риском - или, если не желает этого дополнительного риска, пожалуйста, убедитесь, что «Margin -Multiplier» в конфигурации на 1,00 или меньше
Как общее практическое правило: не торговайте с деньгами, вы не можете проиграть. В качестве рекомендации - сами прочитайте этот код, чтобы понять, что он делает и как он работает.
Если вы видите что -то, что можно улучшить или охранять, пожалуйста, откройте инцидент или PR и давайте исправим его!