پیتھون کا تعارف سادہ چھوٹی اسکرپٹ - شماریات کے ایک طرفہ مسلسل شعبے

مصنف:بی بی, تخلیق: 2018-07-23 15:53:45, تازہ کاری: 2018-07-24 12:27:27

میں نے حال ہی میں کوانٹیٹیشن کی تعلیم حاصل کی ہے، اور میں نے بنیادی طور پر کچھ نہیں سیکھا، میں نے آہستہ آہستہ کچھ ٹائپ کیا۔

آج میں نے ایک چھوٹا سا اسکرپٹ استعمال کیا ہے جس میں اعداد و شمار کے لئے استعمال کیا گیا ہے کہ پچھلے 50 دنوں میں (ظاہر ہے کہ پلیٹ فارم صرف 50 دن کے لئے OK کے ساتھ دوبارہ جانچ پڑتال کر سکتا ہے؟) ایک طرفہ مارکیٹ (سلسلہ بڑھتی ہوئی یا مسلسل گرتی ہوئی) کتنی بار ظاہر ہوتی ہے۔ ↓ لکھنا چاہتا تھا ہلچل اور رجحانات کی نشاندہی کرنا واقعی آسان ہے!https://www.fmz.cn/bbs-topic/1638یہ خیال رجحانات کا تعین کرنے کے لئے استعمال کیا جاتا ہے۔ اوپر اور نیچے دونوں رجحانات استعمال کیے جاسکتے ہیں۔ میں اس مضمون کا شکریہ ادا کرتا ہوں لیکن میں نے ٹیسٹنگ کے دوران K لائن سائیکل کو 50 دن تک واپس کرنے کے لئے مقرر کیا تھا اور اس وقت کے وقفے کو بھی استعمال نہیں کیا گیا تھا، لہذا اعداد و شمار کی حمایت کی توقع نہیں کی گئی تھی۔

اس کے نتیجے میں:

img

آؤٹ پٹ کا ترتیب: آئی ڈی ٹیب> ٹائم ٹیب> اسٹیج کی سب سے زیادہ قیمت> اسٹیج کی کم سے کم قیمت> ڈراپ اسٹیٹ ٹیب> مسلسل تعداد

  • فلٹر ایک بار گرنے اور گرنے اور متوازی حالتوں جیسے: گر > گرنے > گرنے > گرنے > بلین > بلین > گرنے > بلین > بلین > اس طرح کے بغیر تسلسل کی حالت پرنٹ نہیں کیا جاتا ہے ، تجزیہ کے لئے کوئی مدد نہیں کرتا ہے۔
  • اگلی سائیکل کی سب سے زیادہ قیمت کا استعمال کرتے ہوئے اس سائیکل کی سب سے زیادہ قیمت کا مقابلہ بھی کیا جاسکتا ہے۔
  • اگر آپ کو یہ معلوم نہیں ہے کہ آپ کو کیا کرنا چاہئے ، تو آپ کو یہ بھی معلوم ہونا چاہئے کہ آپ کو کیا کرنے کی ضرورت ہے اور آپ کو کیا کرنے کی ضرورت ہے۔
  • میں نے اس کے بارے میں کچھ نہیں کہا۔ میں نے اس کے بارے میں کچھ نہیں کہا۔

کیا آپ کے پاس کھانا ہے؟

  • مجھے لگتا ہے کہ یہ مفید ہے ، کم از کم یہ دیکھنے سے بہتر ہے ، لیکن وقت کا دورانیہ بہت مختصر ہے ، اور مجھے نہیں معلوم کہ یہ کس طرح کام کرتا ہے۔
  • لیکن اگر ہم اس وقت مارکیٹ میں ہیں، اور ہم نے 12 دن تک مسلسل ایک طرفہ اضافہ دیکھا ہے، تو ہم کہتے ہیں کہ 13 ویں دن میں اضافہ کا امکان کتنا ہے؟
  • میں نے اس خیال کے ساتھ اس ٹیسٹ کو کرنے کا فیصلہ کیا ہے، اور اس کے بجائے، میں نے سوچا کہ میں اسے آزماؤں گا.
  • خوش آمدید تبادلہ خیال میں، میں ایک نارمل نیبو ہوں۔

ذیل میں کچھ سادہ کوڈ ہے


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)

اور پھر ایک ایسا کوڈ جس میں کوئی ہلکا پھلکا کوڈ نہیں ہے، جو کہ 21 لائنوں سے زیادہ کا ہے۔

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)

مزید

صفرشکریہ شیئر کرنے کے لئے، ایک ورژن ہے، اور یہ فورم مارک ڈاؤن فارمیٹ میں ہے۔

بی بیمجھے افسوس ہے کہ میں نے اپنا کوڈ صرف آدھا ہی حل کیا ہے، اس کے لیے معذرت خواہ ہوں۔

qq89520شیئر کرنے کا شکریہ

بی بیشکریہ صفر۔ شکریہ!