shinyServer(function(input, output) {
output$value <- renderPlot({
data2 <- dataxts()
Macd <- function(data,fast=12,slow=26,difnm=9){....}#Macd function技術指標
kds <- function (data3,day=9,k=3,d=3){....}#Kd function技術指標
plstrategy <- function(data2,cond1){....}#畫圖
macd <- Macd(data2,12,26,9)#讀function
kd <- kds(data2,12,2,2)#讀function
K <- "K>80" %in% input$checkstrategy #如果在checkgroup選到K>80命名為K
D <- "diff>50" %in% input$checkstrategy
osc <- "osc<50" %in% input$checkstrategy
if(K&D&osc){#如果選擇有K>80和diff>50和osc<50
cond1 <- kd$beganperK>80&macd$OSC<50&macd$DIF>50 #就將cond1設為kd要>80且osc小於50且diff>50 返回true or false
plstrategy(data2,cond1)
}
else if(K&D){
cond1 <- kd$beganperK>80&macd$DIF>50
plstrategy(data2,cond1)
}
else if(K&osc){
cond1 <- kd$beganperK>80&macd$OSC<50
plstrategy(data2,cond1)
}
else if(D&osc){
cond1 <- macd$OSC<50&macd$DIF>50
plstrategy(data2,cond1)
}
else if(D){
cond1 <- macd$DIF>50
plstrategy(data2,cond1)
}
else if(K){
cond1 <- kd$beganperK>80
plstrategy(data2,cond1)
}
else if(osc){
cond1 <- macd$OSC<50
plstrategy(data2,cond1)
}
})
})
c2hpbnlTZXJ2ZXIoZnVuY3Rpb24oaW5wdXQsIG91dHB1dCkgewpvdXRwdXQkdmFsdWUgPC0gcmVuZGVyUGxvdCh7CiAgZGF0YTIgPC0gZGF0YXh0cygpCiAgTWFjZCA8LSBmdW5jdGlvbihkYXRhLGZhc3Q9MTIsc2xvdz0yNixkaWZubT05KXsuLi4ufSNNYWNkIGZ1bmN0aW9u5oqA6KGT5oyH5qiZCiAga2RzIDwtIGZ1bmN0aW9uIChkYXRhMyxkYXk9OSxrPTMsZD0zKXsuLi4ufSNLZCBmdW5jdGlvbuaKgOihk+aMh+aomQogIHBsc3RyYXRlZ3kgPC0gZnVuY3Rpb24oZGF0YTIsY29uZDEpey4uLi59I+eVq+WclgogIG1hY2QgPC0gTWFjZChkYXRhMiwxMiwyNiw5KSPoroBmdW5jdGlvbgogIGtkIDwtIGtkcyhkYXRhMiwxMiwyLDIpI+iugGZ1bmN0aW9uCiAgCiAgSyA8LSAiSz44MCIgJWluJSBpbnB1dCRjaGVja3N0cmF0ZWd5ICPlpoLmnpzlnKhjaGVja2dyb3Vw6YG45YiwSz44MOWRveWQjeeCuksKICBEIDwtICJkaWZmPjUwIiAlaW4lIGlucHV0JGNoZWNrc3RyYXRlZ3kKICBvc2MgPC0gIm9zYzw1MCIgJWluJSBpbnB1dCRjaGVja3N0cmF0ZWd5CiAgCiAgaWYoSyZEJm9zYyl7I+WmguaenOmBuOaTh+aciUs+ODDlkoxkaWZmPjUw5ZKMb3NjPDUwCiAgICBjb25kMSA8LSBrZCRiZWdhbnBlcks+ODAmbWFjZCRPU0M8NTAmbWFjZCRESUY+NTAgI+WwseWwh2NvbmQx6Kit54K6a2TopoE+ODDkuJRvc2PlsI/mlrw1MOS4lGRpZmY+NTAg6L+U5ZuedHJ1ZSBvciBmYWxzZQogICAgcGxzdHJhdGVneShkYXRhMixjb25kMSkKICAgIAogIH0KICBlbHNlIGlmKEsmRCl7CiAgICBjb25kMSA8LSBrZCRiZWdhbnBlcks+ODAmbWFjZCRESUY+NTAKICAgIHBsc3RyYXRlZ3koZGF0YTIsY29uZDEpCiAgfQogIGVsc2UgaWYoSyZvc2MpewogICAgY29uZDEgPC0ga2QkYmVnYW5wZXJLPjgwJm1hY2QkT1NDPDUwCiAgICBwbHN0cmF0ZWd5KGRhdGEyLGNvbmQxKQogIH0KICBlbHNlIGlmKEQmb3NjKXsKICAgIGNvbmQxIDwtIG1hY2QkT1NDPDUwJm1hY2QkRElGPjUwCiAgICBwbHN0cmF0ZWd5KGRhdGEyLGNvbmQxKQogIH0KICBlbHNlIGlmKEQpewogICAgY29uZDEgPC0gbWFjZCRESUY+NTAKICAgIHBsc3RyYXRlZ3koZGF0YTIsY29uZDEpCiAgfQogIGVsc2UgaWYoSyl7CiAgICBjb25kMSA8LSBrZCRiZWdhbnBlcks+ODAKICAgIHBsc3RyYXRlZ3koZGF0YTIsY29uZDEpCiAgfQogIGVsc2UgaWYob3NjKXsKICAgIGNvbmQxIDwtIG1hY2QkT1NDPDUwCiAgICBwbHN0cmF0ZWd5KGRhdGEyLGNvbmQxKQogIH0KICAKICAKICAKfSkKCgp9KQ==