<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # MACD平滑異同移動平均線方法 > 來源:https://uqer.io/community/share/55a4e581f9f06c6dd0e17efa 策略思路: MACD(Moving Average Convergence and Divergence)是Geral Appel 于1979年提出的,利用收盤價的短期(常用為12日)指數移動平均線與長期(常用為26日)指數移動平均線之間的聚合與分離狀況,對買進、賣出時機作出研判的技術指標。 公式算法: + 短期EMA: 短期(例如12日)的收盤價指數移動平均值(Exponential Moving Average) + 長期EMA: 長期(例如26日)的收盤價指數移動平均值(Exponential Moving Average) + DIF線: (Difference)短期EMA和長期EMA的離差值 + DEA線: (Difference Exponential Average)DIF線的M日指數平滑移動平均線 + MACD線: DIF線與DEA線的差 參數:SHORT(短期)、LONG(長期)、M天數,一般為12、26、9。指數加權平滑系數為: + 短期EMA平滑系數: 2/(SHORT+1) + 長期EMA平滑系數: 2/(LONG+1) + DEA線平滑系數: 2/(M+1) 策略實現: + DIF從下而上穿過DEA,買進; + 相反,如DIF從上往下穿過DEA,賣出。 ```py import pandas as pd start = datetime(2013, 1, 1) end = datetime(2015, 7, 13) benchmark = 'HS300' #universe = ['601398.XSHG', '600028.XSHG', '601988.XSHG', '600036.XSHG', '600030.XSHG', #'601318.XSHG', '600000.XSHG', '600019.XSHG', '600519.XSHG', '601166.XSHG'] universe = set_universe('SH50') capital_base = 200000 refresh_rate = 1 window = 1 initMACD = -10000.0 histMACD = pd.DataFrame(initMACD, index = universe, columns = ['preShortEMA', 'preLongEMA', 'preDIF', 'preDEA']) shortWin = 26 # 短期EMA平滑天數 longWin = 52 # 長期EMA平滑天數 macdWin = 15 # DEA線平滑天數 longest_history = window def initialize(account): account.amount = 10000 account.universe = universe account.days = 0 def handle_data(account): account.days = account.days+1 for stk in account.universe: all_close_prices = account.get_attribute_history('closePrice', 1) prices = all_close_prices[stk] if prices is None: continue preShortEMA = histMACD.at[stk, 'preShortEMA'] preLongEMA = histMACD.at[stk, 'preLongEMA'] preDIF = histMACD.at[stk, 'preDIF'] preDEA = histMACD.at[stk, 'preDEA'] if preShortEMA == initMACD or preLongEMA == initMACD: histMACD.at[stk, 'preShortEMA'] = prices[-1] histMACD.at[stk, 'preLongEMA'] = prices[-1] histMACD.at[stk, 'preDIF'] = 0 histMACD.at[stk, 'preDEA'] = 0 return shortEMA = preShortEMA*1.0*(shortWin-1)/(shortWin+1) + prices[-1]*2.0/(shortWin+1) longEMA = preLongEMA*1.0*(longWin-1)/(longWin+1) + prices[-1]*2.0/(longWin+1) DIF = shortEMA - longEMA DEA = preDEA*1.0*(macdWin-1)/(macdWin+1) + DIF*2.0/(macdWin+1) histMACD.at[stk, 'preShortEMA'] = shortEMA histMACD.at[stk, 'preLongEMA'] = longEMA histMACD.at[stk, 'preDIF'] = DIF histMACD.at[stk, 'preDEA'] = DEA if account.days > longWin and account.days%1 == 0: #if DIF > 0 and DEA > 0 and preDIF > preDEA and DIF < DEA: if preDIF > preDEA and DIF < DEA: order_to(stk, 0) #if DIF < 0 and DEA < 0 and preDIF < preDEA and DIF > DEA: if preDIF < preDEA and DIF > DEA: amount = account.amount/prices[-1] order_to(stk, amount) ``` ![](https://box.kancloud.cn/2016-07-30_579cbb0261cdc.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看