0
fokus pada
0
Pengikut

Skrip mudah peringkat kemasukan Python - statistik pasaran berterusan sebelah pihak

Dicipta dalam: 2018-07-23 15:53:45, dikemas kini pada: 2018-07-24 12:27:27
comments   4
hits   2168

Saya tidak tahu apa-apa tentang apa yang saya mahu, tetapi saya tidak tahu apa-apa tentang apa yang saya mahu, saya tidak tahu apa-apa tentang apa yang saya mahu.

Hari ini saya mengetikkan satu skrip kecil untuk mengutip statistik mengenai jumlah kejadian yang berlaku dalam tempoh 50 hari terakhir (berkenaan dengan pergerakan satu sisi (berkenaan dengan kenaikan atau penurunan berturut-turut) dalam tempoh 50 hari terakhir (berkenaan dengan pengukuran simulasi OK pada platform). Saya mahu menulisnya. Untuk mengenal pasti kejutan dan trend, ia sangat mudah! https://www.fmz.cn/bbs-topic/1638 Menggunakan rendah baru kitaran berikutnya untuk membandingkan tinggi baru kitaran ini, pemikiran ini untuk menilai trend. Trend naik dan turun boleh digunakan. Terima kasih kepada penulis untuk artikel ini, tetapi ketika saya menguji, saya telah menetapkan kitaran K-line untuk hanya 50 hari, dan tempoh yang ditetapkan tidak berfungsi, jadi tidak ada data untuk menyokong hipotesis tersebut.

Hasilnya adalah seperti berikut:

Skrip mudah peringkat kemasukan Python - statistik pasaran berterusan sebelah pihak

Output order adalah: id> Time> tahap tertinggi harga> tahap terendah harga> tahap penurunan keadaan> berterusan kali

  • Penapisan turun naik tunggal dan keadaan selari seperti: naik>turun naik>turun naik>pelan>turun naik>pelan>pelan>pelan>pelan>pelan. Keadaan tanpa kesinambungan ini tidak dicetak, tidak membantu analisis.
  • Gunakan harga tertinggi untuk tempoh seterusnya berbanding harga tertinggi untuk tempoh ini, atau gunakan harga tertinggi untuk tempoh seterusnya. Low berbanding dengan tempoh ini. High berbanding, seperti di atas.
  • Saya tidak tahu apa yang berlaku di sini, tetapi saya tidak tahu apa yang berlaku di sini, dan saya tidak tahu apa yang berlaku di sini, dan saya tidak tahu apa yang berlaku di sini.
  • Saya tidak akan menulis Python.

Adakah ia berguna?

  • Saya fikir ia agak berguna, sekurang-kurangnya lebih baik daripada mengunyahnya, tetapi tempoh masa terlalu pendek untuk melihat peraturan mengunyahnya.
  • Tetapi jika kita melihat pada masa ini, mengikut garis matahari, terdapat 12 hari berturut-turut di mana harga naik secara bersendirian, berapa besar kemungkinan harga naik pada hari ke-13?
  • Saya sendirilah yang membuat idea untuk melakukan ujian ini, dan saya tidak akan memujuk semua orang, tetapi saya akan cuba untuk mengubah cara berfikir saya.
  • Selamat datang, saya seorang pendatang baru.

Berikut adalah kod yang disederhanakan.


def main():
    k_line = exchange.GetRecords(PERIOD_M1) #设置1分钟K线数据
    i1 = 0 #i1 i2分别记录涨、跌次数
    i2 = 0
    j_c = 0 #用作记录所有持续行情次数总和的变量
    for i,k_line_single in enumerate(k_line): #i为记录循环次数 从0开始 k_line_single为单行记录文本
        otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(k_line_single.Time / 1000))#时间戳转换代码
        state_text = "" #重置state_text 避免状态连续继承  状态文本
        Duration = "" #重置持续行情次数变量
        if k_line_single.High > k_line[i-1].High: #判断最高价高于前一周期最高价的情况         
            i2 = 0 #重置连续下跌计数变量
            if k_line[i-1].High > k_line[i-2].High or k_line[i+1].High > k_line_single.High: #当高于前一周期或后一周期高于此周期价
                state_text = "连续上涨UP UP UP!"
                i1 += 1 #记录连续上涨次数
        elif k_line_single.High < k_line[i-1].High: #判断不为持平状态  
            i1 = 0
            if k_line[i-1].High < k_line[i-2].High or k_line[i+1].High < k_line_single.High:#当前一周期价格低于前前一周期 或 后一周期价格低于当前周期,表示一定是连续下跌
                state_text = "连续下跌LOW LOW !" 
                i2 += 1 #记录连续下跌次数
        else:
            i1 = 0 #重置连续行情次数
            i2 = 0
        if state_text == "连续上涨GO GO GO!" or state_text == "连续下跌LOW LOW !": #只有当连续上涨或下跌时 才会打印结果 
            j_c += 1
            Duration = "Duration:",i1 + i2 #连续单边行情持续次数
            Log(i+1,"-- Time:",otherStyleTime,"-- High:",k_line_single.High,"-- Low:",k_line_single.Low,"--》",state_text,Duration)
    Log("运行完毕。。符合条件的总数为:",j_c)

Ini adalah satu lagi, 21 baris lebih banyak daripada yang di atas.

def main():
    k_line = exchange.GetRecords(PERIOD_M1)
    state_text = "" #状态文本
    i1 = 0
    i2 = 0
    i3 =0
    state_3 = 0 #行情状态 涨=1 跌=2 平=3
    j_c = 0 #用作记录所有持续行情次数总和的变量
    for i,k_line_single in enumerate(k_line): #i为记录循环次数 从0开始 k_line_single为单行记录文本
        timeStamp = k_line_single.Time / 1000 #时间戳转换代码开始
        timeArray = time.localtime(timeStamp)
        otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)#时间戳转换代码结束
        
        if k_line_single.High > k_line[i-1].High: #判断最高价高于前一周期最高价的情况
            state_text = "价格出现上涨"
            i2 = 0
            i3 = 0
            state_3 = 1
            if k_line[i-1].High > k_line[i-2].High or k_line[i+1].High > k_line_single.High: #当高于前一周期或后一周期高于此周期价
                state_text = "连续上涨GO GO GO!"
                i1 += 1
        else:
            if k_line_single.High != k_line[i-1].High:
                state_text = "价格出现下跌"
                i1 = 0
                i3 = 0
                state_3 = 2
                if k_line[i-1].High < k_line[i-2].High or k_line[i+1].High < k_line_single.High:
                    state_text = "连续下跌LOW LOW !"
                    i2 += 1
            else:
                state_text = "价格相比持平"
                i1 = 0
                i2 = 0
                state_3 = 3
                if k_line[i-1].High == k_line[i-2].High:# or k_line[i+1].High == k_line_single.High:
                    state_text = "连续持平PING PING !"
                    i3 = 0 #不调试持平持续数量了
        if state_3 != 3: #不打印持平的结果
            Duration = i1 + i2 + i3
            if Duration == 0:
                Duration = ""
            else:
                Duration = "Duration:",i1 + i2 + i3
            if i1 != 0 or i2 != 0: #只有当连续上涨或下跌时 才会打印结果
                j_c += 1
                Log(i+1,"-- Time:",otherStyleTime,"-- High:",k_line_single.High,"-- Low:",k_line_single.Low,"--》",state_text,Duration)
    Log("运行完毕。。符合条件的总数为:",j_c)