커뮤니티

부탁드립니다

프로필 이미지
서쪽하늘
2020-06-21 18:23:58
1756
글번호 140008
답변완료
안녕하세요 아래의 수식에서 var3 = -1 에서 var3 = 1 로 바뀌면 var5의 값을 하나만 저장합니다 반대로 1에서 -1로 바뀔 때도 var5의 값을 하나만 저장합니다 var5의 최근값을 5개 저장하고 plot로 출력하고 싶습니다 수식 부탁드립니다 Input:상승률(0.12),하락률(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동;#Plot1(이중파동,"Zigzag",blue); var3 = -1; } Else{ var1 = 이중파동;#Plot1(이중파동,"Zigzag",red); var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else {var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else {var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#Plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#Plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } var5=(var2+(var1-var2)*0.6180)-(var2+(var1-var2)*0.2360); if var3 == -1 Then{ plot1(var2+(var1-var2)*0.2360); plot2(var2+(var1-var2)*0.3820); plot3(var2+(var1-var2)*0.5000); plot4(var2+(var1-var2)*0.6180); } if var3 == 1 Then{ plot1(var1-(var1-var2)*0.2360); plot2(var1-(var1-var2)*0.3820); plot3(var1-(var1-var2)*0.5000); plot4(var1-(var1-var2)*0.6180); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-06-22 15:34:42

안녕하세요 예스스탁입니다. Input:상승률(0.12),하락률(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동;#Plot1(이중파동,"Zigzag",blue); var3 = -1; } Else{ var1 = 이중파동;#Plot1(이중파동,"Zigzag",red); var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else {var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else {var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#Plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#Plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 != var3[1] then { var5=(var2+(var1-var2)*0.6180)-(var2+(var1-var2)*0.2360); var51 = var5[1]; var52 = var51[1]; var53 = var52[1]; var54 = var53[1]; } plot1(var5); plot2(var51); plot3(var52); plot4(var53); plot5(var54); 즐거운 하루되세요 > 서쪽하늘 님이 쓴 글입니다. > 제목 : 부탁드립니다 > 안녕하세요 아래의 수식에서 var3 = -1 에서 var3 = 1 로 바뀌면 var5의 값을 하나만 저장합니다 반대로 1에서 -1로 바뀔 때도 var5의 값을 하나만 저장합니다 var5의 최근값을 5개 저장하고 plot로 출력하고 싶습니다 수식 부탁드립니다 Input:상승률(0.12),하락률(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동;#Plot1(이중파동,"Zigzag",blue); var3 = -1; } Else{ var1 = 이중파동;#Plot1(이중파동,"Zigzag",red); var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else {var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else {var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#Plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#Plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } var5=(var2+(var1-var2)*0.6180)-(var2+(var1-var2)*0.2360); if var3 == -1 Then{ plot1(var2+(var1-var2)*0.2360); plot2(var2+(var1-var2)*0.3820); plot3(var2+(var1-var2)*0.5000); plot4(var2+(var1-var2)*0.6180); } if var3 == 1 Then{ plot1(var1-(var1-var2)*0.2360); plot2(var1-(var1-var2)*0.3820); plot3(var1-(var1-var2)*0.5000); plot4(var1-(var1-var2)*0.6180); }