Type/to search
0
Follow
0
Followers
파이썬 초보자용 간단 스크립트 - 일방적 연속 시장 통계
FAQ
Created 2018-07-23 15:53:45  Updated 2018-07-24 12:27:27
 4
 2359

최근 학업이 양적화되고, 기초가 없는 상태에서, 조금씩 조금씩 조금씩 공부를 하고 있다.

오늘, 지난 50일 동안의 (오케이 시뮬레이션 재검토로 50일밖에 되지 않은 것 같았던) 단방향 (연속 상승 또는 연속 하락) 의 수를 계산하기 위해 작은 스크립트를 작성했습니다.
↓ ↓ ↓
<unk>, 진동과 흐름을 알아내는 것은 정말 간단합니다!
https://www.fmz.cn/bbs-topic/1638
다음 주기에서 새로운 낮은 것과 이 주기에서 새로운 높은 것을 비교하는 것을 이용하는 이 아이디어는 트렌드를 판단하기 위한 ᄂ. 상향과 하향 트렌드가 모두 사용될 수 있다.
이 글에 대해 감사하지만, 제가 테스트할 때, K선 주기를 설정했는데, 최대 50일만 재검토할 수 있고, 시간도 설정할 수 없었기 때문에 데이터를 뒷받침할 수 없었습니다.

다음으로 실행됩니다.

img

출력 순서는: id<unk>>Time<unk>>단계 최고 가격<unk>>단계 최저 가격<unk>>하락 상태<unk>>연속 횟수

  • 단일 하락과 평행 상태를 필터링합니다. 예를 들어: 상승> 하락> 상승> 평평> 하락> 평평> 평평> 평평> 연속성이없는 상태는 인쇄되지 않으며 분석에 도움이되지 않습니다.
  • 다음 주기 최고값과 이 주기 최고값을 대조하여 다음 주기.Low와 이 주기.High 대조를 사용한다.
  • 3분 줄은 00:57 <01:00> <01:57> <02:00> <02:57... 왜???
  • <unk>은 요구사항은 Python을 쓰지 않습니다.

왜 그럴까요?

  • 저는 그것이 매우 유용하다고 생각합니다. 적어도 <unk>보다 더 좋다고 생각합니다. 하지만 시간이 너무 짧아서 <unk>의 법칙을 볼 수 없습니다.
  • 하지만 만약 우리가 지금 태양계로 보면, 12일 연속으로 일방적인 상승이 일어났다면, 13일에도 상승할 확률은 얼마나 될까요?
  • 저는 이 아이디어를 가지고 이 테스트를 했습니다. 모든 사람들을 만족시키지 않고, 또 다른 생각을 가지고 시도해 보려고 했습니다.
  • 안녕하세요, 저는 평범한 초보자입니다.

여기가 좀 더 간소화된 코드입니다.

python
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줄의 더 많은 코드가 있습니다.

python
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)
Related Recommendations
Comment
All comments (4)

    谢谢分享, 排了个版, 论坛是markdown格式

    8 years ago

    谢谢零度 谢谢!

    8 years ago

    对不起,我发的代码只解析了一半,凑合瞧吧。。

    8 years ago

    谢谢分享

    6 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)