簡體   English   中英

"股票清單上的松腳本"

[英]Pine script on list of stocks

尋求有關 pine 腳本的幫助,以在一組 20 只股票上運行 20、50 ema 交叉。

據我所知,pine 腳本在交易視圖中的選定圖表上運行,如何使其在選定股票上運行並查看列表中的結果。

此代碼包含 20 個符號,我認為可以在單個代碼中最多添加 50 個(由交易視圖設置的內存限制),您可以根據自己的要求替換符號。 當交叉發生時,您將能夠在圖表屏幕上看到該股票。

    //@version=4
    strategy("ema crossover custom screener", shorttitle = 'ema crossover custom screener', overlay = true)
    
    // Symbols 
    s01= input('NSE:CUMMINSIND',  type=input.symbol)
    s02= input('NSE:DABUR',  type=input.symbol)
    s03= input('NSE:DALBHARAT',  type=input.symbol)
    s04= input('NSE:DISHTV',  type=input.symbol)
    s05= input('NSE:DIVISLAB',  type=input.symbol)
    s06= input('NSE:DLF',  type=input.symbol)
    s07= input('NSE:DMART',  type=input.symbol)
    s08= input('NSE:DRREDDY',  type=input.symbol)
    s09= input('NSE:EDELWEISS',  type=input.symbol)
    s10= input('NSE:EICHERMOT',  type=input.symbol)
    s11= input('NSE:EMAMILTD',  type=input.symbol)
    s12= input('NSE:ENDURANCE',  type=input.symbol)
    s13= input('NSE:ENGINERSIN',  type=input.symbol)
    s14= input('NSE:EQUITAS',  type=input.symbol)
    s15= input('NSE:ESCORTS',  type=input.symbol)
    s16= input('NSE:EXIDEIND',  type=input.symbol)
    s17= input('NSE:FCONSUMER',  type=input.symbol)
    s18= input('NSE:FEDERALBNK',  type=input.symbol)
    s19= input('NSE:FORTIS',  type=input.symbol)
    s20= input('NSE:FRETAIL',  type=input.symbol)
    
    ///////////////
    // FUNCTIONS //
    
    // Screener Function
    screenerFunc() => 
        ema20=  ema(close,20)
        ema50=ema(close,50)
        [ema20,ema50]
     
    ///////////////////////////////////////
    // Running Functions for all sybmols //
    
    [v01, c01] = security(s01, timeframe.period, screenerFunc())
    [v02, c02] = security(s02, timeframe.period, screenerFunc())
    [v03, c03] = security(s03, timeframe.period, screenerFunc())
    [v04, c04] = security(s04, timeframe.period, screenerFunc())
    [v05, c05] = security(s05, timeframe.period, screenerFunc())
    [v06, c06] = security(s06, timeframe.period, screenerFunc())
    [v07, c07] = security(s07, timeframe.period, screenerFunc())
    [v08, c08] = security(s08, timeframe.period, screenerFunc())
    [v09, c09] = security(s09, timeframe.period, screenerFunc())
    [v10, c10] = security(s10, timeframe.period, screenerFunc())
    [v11, c11] = security(s11, timeframe.period, screenerFunc())
    [v12, c12] = security(s12, timeframe.period, screenerFunc())
    [v13, c13] = security(s13, timeframe.period, screenerFunc())
    [v14, c14] = security(s14, timeframe.period, screenerFunc())
    [v15, c15] = security(s15, timeframe.period, screenerFunc())
    [v16, c16] = security(s16, timeframe.period, screenerFunc())
    [v17, c17] = security(s17, timeframe.period, screenerFunc())
    [v18, c18] = security(s18, timeframe.period, screenerFunc())
    [v19, c19] = security(s19, timeframe.period, screenerFunc())
    [v20, c20] = security(s20, timeframe.period, screenerFunc())
    
    
    // Screener label //
    
    scr_label = 'Ema crossover: \n##########\n'
    
    scr_label := crossover(v01,c01 )==true  ? scr_label + s01 +'\n'  : scr_label
    scr_label := crossover(v02,c02 )==true  ? scr_label + s02 +'\n'  : scr_label
    scr_label := crossover(v03,c03 )==true  ? scr_label + s03 +'\n'  : scr_label
    scr_label := crossover(v04,c04 )==true  ? scr_label + s04 +'\n'  : scr_label
    scr_label := crossover(v05,c05 )==true  ? scr_label + s05 +'\n'  : scr_label
    scr_label := crossover(v06,c06 )==true  ? scr_label + s06 +'\n'  : scr_label
    scr_label := crossover(v07,c07 )==true  ? scr_label + s07 +'\n'  : scr_label
    scr_label := crossover(v06,c08 )==true  ? scr_label + s08 +'\n'  : scr_label
    scr_label := crossover(v08,c09 )==true  ? scr_label + s09 +'\n'  : scr_label
    scr_label := crossover(v09,c10 )==true  ? scr_label + s10 +'\n'  : scr_label
    scr_label := crossover(v10,c11 )==true  ? scr_label + s11 +'\n'  : scr_label
    scr_label := crossover(v11,c12 )==true  ? scr_label + s12 +'\n'  : scr_label
    scr_label := crossover(v12,c13 )==true  ? scr_label + s13 +'\n'  : scr_label
    scr_label := crossover(v13,c14 )==true  ? scr_label + s14 +'\n'  : scr_label
    scr_label := crossover(v14,c15 )==true  ? scr_label + s15 +'\n'  : scr_label
    scr_label := crossover(v15,c16 )==true  ? scr_label + s16 +'\n'  : scr_label
    scr_label := crossover(v16,c17 )==true  ? scr_label + s17 +'\n'  : scr_label
    scr_label := crossover(v18,c18 )==true  ? scr_label + s18 +'\n'  : scr_label
    scr_label := crossover(v19,c19 )==true  ? scr_label + s19 +'\n'  : scr_label
    scr_label := crossover(v20,c20 )==true  ? scr_label + s20 +'\n'  : scr_label
    
    
    // Plot Label
    lab_up = label.new(bar_index, 0, scr_label,  color=color.white, textcolor=color.green,  style =  label.style_label_down,yloc = yloc.price)
    
    label.delete(lab_up[1])
    
    
    if (timeframe.isintraday and time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), 00, 00))
        strategy.entry(" ema crossover", true, when = strategy.position_size[1] == 0 and barstate.isconfirmed, alert_message = scr_label)

Hata veriyor nedenini bulamadım ama yardımcı olurmusunuz

第 31 行:不匹配的輸入“ema20”期望“行尾沒有續行”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM