커뮤니티

시스템 문의 드립니다~

프로필 이미지
phn
2016-04-01 17:35:28
84
글번호 96778
답변완료
수식 작성해 주셔서 감사드립니다~ 그런데 대입을 하려 하는데 아직은 실력이 안되서 자꾸오류가 생기네요, 한번 다시 부탁드립니다~ ------------------------------------------------ 질문은 1, 2, 3번 시스템이 있고 2, 3번 중에서 매수가 나와있을때 1번이 매수 신호 나오면 매수진입, 2, 3번은 매도신호중 일때 1번이 매수가 나오면 대기하고 있다가 2, 3번중 매수 신호가 나오면 매수 진입, 매도는 반대로 입니다,, 그런데 밑에 수식에서는 1번 신호가 매수인데 2, 3번 신호가 매도시 매도 진입이 나오네요, 안나오게 부탁드립니다~ 1번 신호와 같은 신호가 있을때만 진입입니다~ 1번 신호가 우선이고 2, 3번 신호중 1번 신호와 같은 진입신호가 있을때만 신호가 나오게 부탁드립니다. -------------------------------------------------- 밑에 작성해 주신 식입니다 var : T1(0),T2(0),T3(0); #1번 시스템 var1 = ma(C,5); var2 = ma(c,20); if crossup(var1,var2) Then T1 = 1; if CrossDown(var1,var2) Then T1 = -1; #2번 시스템 var3 = StochasticsK(10,5); var4 = StochasticsD(10,5,5); if crossup(var3,var4) Then T2 = 1; if CrossDown(var3,var4) Then T2 = -1; #3번 시스템 var5 = MACD(12,26); var6 = ema(var5,9); if crossup(var5,var6) Then T3 = 1; if CrossDown(var5,var6) Then T3 = -1; if T3 == 1 and T1 == 1 and T1[1] != 1 Then buy(); if T3 == -1 and T1 == 1 and ((T2 == 1 and T2[1] != 1) or (T3 == 1 and T3[1] != 1)) Then buy(); if T3 == -1 and T1 == -1 and T1[1] != -1 Then sell(); if T3 == 1 and T1 == -1 and ((T2 == -1 and T2[1] != -1) or (T3 == -1 and T3[1] != -1)) Then sell(); ---------------------------------------------------------------- 위 식에 1번 input : P1(5),P2(37),RSIP(9); var1 = wma(c,P1); var2 = wma(c,P2); var3 = RSI(RSIP); Condition1 = var1 > var2 and var3 >=70; Condition2 = var1 < var2 and var3 <=40; if Condition1 == true and Condition1[1] == false Then buy(); if MarketPosition == 1 and CrossDown(var1,var2) and var3 <= 40 Then ExitLong(); if Condition2 == true and Condition2[1] == false Then sell(); if MarketPosition == -1 and Crossup(var1,var2) and var3 >= 70 Then ExitShort(); ----------------------------------------------------------- 2번 INPUT : LENGTH(10),N(2),P1(60),P2(40),P3(20); VAR : TCHAN(0), BCHAN(0),T(0),B(0),mav2(0),mav3(0),X(0),Y(0),mav1(0),Z(0); Mav1 = ma(C,P1); MAV2 = ma(C,P2); MAV3 = ma(C,P3); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if TCHAN > TCHAN[1] Then T = 1; if TCHAN < TCHAN[1] Then T = -1; if BCHAN > BCHAN[1] Then B = 1; if BCHAN < BCHAN[1] Then B = -1; if mav1 > mav1[1] Then Z = 1; if mav1 < mav1[1] Then Z = -1; if mav2 > mav2[1] Then X = 1; if mav2 < mav2[1] Then X = -1; if T == 1 and T[1] != 1 Then Y = 1; if B == 1 and B[1] != 1 Then Y = 1; if T == -1 and T[1] != -1 Then Y = -1; if B == -1 and B[1] != -1 Then Y = -1; if Z == 1 and B == 1 and CrossDown(L,BCHAN) Then buy(); if X == 1 and Y == 1 and C < mav3 and C > O and C[1] < O[1] Then buy(); if Z == -1 and T == -1 and CrossUp(H,TCHAN) Then Sell(); if X == -1 and Y == -1 and C > mav3 and C < O and C[1] > O[1] Then sell(); if MarketPosition == 1 and mav1 < mav1[3] and C < O Then exitlong(); if MarketPosition == -1 and mav1 > mav1[3] and C > O Then ExitShort(); ------------------------------------------------------------- 3번식은 두개 입니다(매수, 매도 따로) 3-매도 INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0),T1(0),T2(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then T1 = 1; if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then T1 = -1; if T1 == 1 Then exitshort("b",atlimit,BCHAN); if t1 == -1 Then SELL("S",atlimit,TCHAN); 3-매수 INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0),T1(0),T2(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then T1 = 1; if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then T1 = -1; if T1 == 1 Then buy("b",atlimit,BCHAN); if T1 == -1 Then exitlong("bx",atlimit,TCHAN); 이렇게 위의 세개의 식을 가지고 맞춰 보고자 합니다~ 부탁드립니다 ----------------------------------------------------- 그리고 밑에 식에서 이평선의 기울기가 0도 위로 향하면 매수만, 밑으로는 매도만 신호가 나오게 가능할까요? 또 밑에 식에서 고점에서 하락후 매수 신호 자리에서 저점이 갱신되어 나오는 신호로 3, 4, 7번째 신호만 진입신호가 유효하게 나오게도 수정 가능할까요? 매도는 반대입니다~ 가능하다면 부탁드립니다~ Input:전환틱수(15); Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); 상승틱수 = PriceScale*전환틱수; 하락틱수 = -PriceScale*전환틱수; for j = 1 to 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; } if 기준고 <= C or 기준고 == 0 then { 기준고 = C; 기준고Bar = 0; } else 기준고Bar = 기준고Bar + 1; if 기준저 >= C or 기준저 == 0 then { 기준저 = C; 기준저Bar = 0; } else 기준저Bar = 기준저Bar + 1; if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then 추세 = 하락; else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then 추세 = 상승; if 추세[1] == 상승 and 추세 == 하락 then { for j = 18 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 고Idx[1] = Index - 고Bar[1]; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; } if 추세[1] == 하락 and 추세 == 상승 then { for j = 18 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; } if 추세 == 상승 Then var1 = 기준고; if 추세 == 하락 Then var2 = 기준저; if 추세 == 상승 and 추세 != 추세[1] Then buy("b"); if 추세 == 하락 and 추세 != 추세[1] Then sell("s"); 시스템식 모두 변수 설정 가능하도록 부탁드립니다~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-04-01 18:16:29

안녕하세요 예스스탁입니다. 1. input : WMAP1(5),WMAP2(37),RSIP(9); INPUT : LENGTH2(10),N(2),P1(60),P2(40),P3(20); INPUT : LENGTH3(10); VAR : TCHAN2(0), BCHAN2(0),T(0),B(0),mav2(0),mav3(0),X(0),Y(0),mav1(0),Z(0); VAR : TCHAN3(0), BCHAN3(0),W1(0); TCHAN3 = HIGHEST(HIGH, LENGTH3)[1]; BCHAN3 = LOWEST(LOW, LENGTH3)[1]; var : T1(0),T2(0),T3(0); #시스템1 var1 = wma(c,WMAP1); var2 = wma(c,WMAP2); var3 = RSI(RSIP); Condition1 = var1 > var2 and var3 >=70; Condition2 = var1 < var2 and var3 <=40; if Condition1 == true and Condition1[1] == false Then T1 = 1; if Condition2 == true and Condition2[1] == false Then T1 = -1; #시스템2 Mav1 = ma(C,P1); MAV2 = ma(C,P2); MAV3 = ma(C,P3); TCHAN2 = HIGHEST(HIGH, LENGTH2)[1]; BCHAN2 = LOWEST(LOW, LENGTH2)[1]; if TCHAN2 > TCHAN2[1] Then T = 1; if TCHAN2 < TCHAN2[1] Then T = -1; if BCHAN2 > BCHAN2[1] Then B = 1; if BCHAN2 < BCHAN2[1] Then B = -1; if mav1 > mav1[1] Then Z = 1; if mav1 < mav1[1] Then Z = -1; if mav2 > mav2[1] Then X = 1; if mav2 < mav2[1] Then X = -1; if T == 1 and T[1] != 1 Then Y = 1; if B == 1 and B[1] != 1 Then Y = 1; if T == -1 and T[1] != -1 Then Y = -1; if B == -1 and B[1] != -1 Then Y = -1; if Z == 1 and B == 1 and CrossDown(L,BCHAN2) Then T2 = 1; if X == 1 and Y == 1 and C < mav3 and C > O and C[1] < O[1] Then T2 = 1; if Z == -1 and T == -1 and CrossUp(H,TCHAN2) Then T2 = -1; if X == -1 and Y == -1 and C > mav3 and C < O and C[1] > O[1] Then T2 = -1; #시스템3 if TCHAN3 > TCHAN3[1] and BCHAN3 > BCHAN3[1] Then W1 = 1; if TCHAN3 < TCHAN3[1] and BCHAN3 < BCHAN3[1] Then W1 = -1; if W1[1] == -1 and H >= TCHAN3[1] Then T3 = -1; if W1[1] == 1 and L <= BCHAN3[1] Then T3 = 1; if T3 == 1 and T1 == 1 and T1[1] != 1 Then buy(); if T3 == -1 and T1 == 1 and ((T2 == 1 and T2[1] != 1) or (T3 == 1 and T3[1] != 1)) Then buy(); if T3 == -1 and T1 == -1 and T1[1] != -1 Then sell(); if T3 == 1 and T1 == -1 and ((T2 == -1 and T2[1] != -1) or (T3 == -1 and T3[1] != -1)) Then sell(); 2 이평 상승하락만 추가해 드립니다. 그외 문의하신 내용은 가능하지 않습니다. Input:전환틱수(15),P(20); Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),mav(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); 상승틱수 = PriceScale*전환틱수; 하락틱수 = -PriceScale*전환틱수; mav = ma(C,P); for j = 1 to 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; } if 기준고 <= C or 기준고 == 0 then { 기준고 = C; 기준고Bar = 0; } else 기준고Bar = 기준고Bar + 1; if 기준저 >= C or 기준저 == 0 then { 기준저 = C; 기준저Bar = 0; } else 기준저Bar = 기준저Bar + 1; if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then 추세 = 하락; else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then 추세 = 상승; if 추세[1] == 상승 and 추세 == 하락 then { for j = 18 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 고Idx[1] = Index - 고Bar[1]; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; } if 추세[1] == 하락 and 추세 == 상승 then { for j = 18 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; } if 추세 == 상승 Then var1 = 기준고; if 추세 == 하락 Then var2 = 기준저; if 추세 == 상승 and 추세 != 추세[1] and mav > mav[1] Then buy("b"); if 추세 == 하락 and 추세 != 추세[1] and mav < mav[1] Then sell("s"); 즐거운 하루되세요 > phn 님이 쓴 글입니다. > 제목 : 시스템 문의 드립니다~ > 수식 작성해 주셔서 감사드립니다~ 그런데 대입을 하려 하는데 아직은 실력이 안되서 자꾸오류가 생기네요, 한번 다시 부탁드립니다~ ------------------------------------------------ 질문은 1, 2, 3번 시스템이 있고 2, 3번 중에서 매수가 나와있을때 1번이 매수 신호 나오면 매수진입, 2, 3번은 매도신호중 일때 1번이 매수가 나오면 대기하고 있다가 2, 3번중 매수 신호가 나오면 매수 진입, 매도는 반대로 입니다,, 그런데 밑에 수식에서는 1번 신호가 매수인데 2, 3번 신호가 매도시 매도 진입이 나오네요, 안나오게 부탁드립니다~ 1번 신호와 같은 신호가 있을때만 진입입니다~ 1번 신호가 우선이고 2, 3번 신호중 1번 신호와 같은 진입신호가 있을때만 신호가 나오게 부탁드립니다. -------------------------------------------------- 밑에 작성해 주신 식입니다 var : T1(0),T2(0),T3(0); #1번 시스템 var1 = ma(C,5); var2 = ma(c,20); if crossup(var1,var2) Then T1 = 1; if CrossDown(var1,var2) Then T1 = -1; #2번 시스템 var3 = StochasticsK(10,5); var4 = StochasticsD(10,5,5); if crossup(var3,var4) Then T2 = 1; if CrossDown(var3,var4) Then T2 = -1; #3번 시스템 var5 = MACD(12,26); var6 = ema(var5,9); if crossup(var5,var6) Then T3 = 1; if CrossDown(var5,var6) Then T3 = -1; if T3 == 1 and T1 == 1 and T1[1] != 1 Then buy(); if T3 == -1 and T1 == 1 and ((T2 == 1 and T2[1] != 1) or (T3 == 1 and T3[1] != 1)) Then buy(); if T3 == -1 and T1 == -1 and T1[1] != -1 Then sell(); if T3 == 1 and T1 == -1 and ((T2 == -1 and T2[1] != -1) or (T3 == -1 and T3[1] != -1)) Then sell(); ---------------------------------------------------------------- 위 식에 1번 input : P1(5),P2(37),RSIP(9); var1 = wma(c,P1); var2 = wma(c,P2); var3 = RSI(RSIP); Condition1 = var1 > var2 and var3 >=70; Condition2 = var1 < var2 and var3 <=40; if Condition1 == true and Condition1[1] == false Then buy(); if MarketPosition == 1 and CrossDown(var1,var2) and var3 <= 40 Then ExitLong(); if Condition2 == true and Condition2[1] == false Then sell(); if MarketPosition == -1 and Crossup(var1,var2) and var3 >= 70 Then ExitShort(); ----------------------------------------------------------- 2번 INPUT : LENGTH(10),N(2),P1(60),P2(40),P3(20); VAR : TCHAN(0), BCHAN(0),T(0),B(0),mav2(0),mav3(0),X(0),Y(0),mav1(0),Z(0); Mav1 = ma(C,P1); MAV2 = ma(C,P2); MAV3 = ma(C,P3); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if TCHAN > TCHAN[1] Then T = 1; if TCHAN < TCHAN[1] Then T = -1; if BCHAN > BCHAN[1] Then B = 1; if BCHAN < BCHAN[1] Then B = -1; if mav1 > mav1[1] Then Z = 1; if mav1 < mav1[1] Then Z = -1; if mav2 > mav2[1] Then X = 1; if mav2 < mav2[1] Then X = -1; if T == 1 and T[1] != 1 Then Y = 1; if B == 1 and B[1] != 1 Then Y = 1; if T == -1 and T[1] != -1 Then Y = -1; if B == -1 and B[1] != -1 Then Y = -1; if Z == 1 and B == 1 and CrossDown(L,BCHAN) Then buy(); if X == 1 and Y == 1 and C < mav3 and C > O and C[1] < O[1] Then buy(); if Z == -1 and T == -1 and CrossUp(H,TCHAN) Then Sell(); if X == -1 and Y == -1 and C > mav3 and C < O and C[1] > O[1] Then sell(); if MarketPosition == 1 and mav1 < mav1[3] and C < O Then exitlong(); if MarketPosition == -1 and mav1 > mav1[3] and C > O Then ExitShort(); ------------------------------------------------------------- 3번식은 두개 입니다(매수, 매도 따로) 3-매도 INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0),T1(0),T2(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then T1 = 1; if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then T1 = -1; if T1 == 1 Then exitshort("b",atlimit,BCHAN); if t1 == -1 Then SELL("S",atlimit,TCHAN); 3-매수 INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0),T1(0),T2(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then T1 = 1; if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then T1 = -1; if T1 == 1 Then buy("b",atlimit,BCHAN); if T1 == -1 Then exitlong("bx",atlimit,TCHAN); 이렇게 위의 세개의 식을 가지고 맞춰 보고자 합니다~ 부탁드립니다 ----------------------------------------------------- 그리고 밑에 식에서 이평선의 기울기가 0도 위로 향하면 매수만, 밑으로는 매도만 신호가 나오게 가능할까요? 또 밑에 식에서 고점에서 하락후 매수 신호 자리에서 저점이 갱신되어 나오는 신호로 3, 4, 7번째 신호만 진입신호가 유효하게 나오게도 수정 가능할까요? 매도는 반대입니다~ 가능하다면 부탁드립니다~ Input:전환틱수(15); Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0), 기준고Bar(0),기준저Bar(0),추세(0),ZZ(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0); 상승틱수 = PriceScale*전환틱수; 하락틱수 = -PriceScale*전환틱수; for j = 1 to 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Idx[j] = Index - 고Bar[j]; 저Idx[j] = Index - 저Bar[j]; } if 기준고 <= C or 기준고 == 0 then { 기준고 = C; 기준고Bar = 0; } else 기준고Bar = 기준고Bar + 1; if 기준저 >= C or 기준저 == 0 then { 기준저 = C; 기준저Bar = 0; } else 기준저Bar = 기준저Bar + 1; if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then 추세 = 하락; else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then 추세 = 상승; if 추세[1] == 상승 and 추세 == 하락 then { for j = 18 downto 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 고Idx[j+1] = 고Idx[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 고Idx[1] = Index - 고Bar[1]; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; } if 추세[1] == 하락 and 추세 == 상승 then { for j = 18 downto 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; 저Idx[j+1] = 저Idx[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 저Idx[1] = Index - 저Bar[1]; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; } if 추세 == 상승 Then var1 = 기준고; if 추세 == 하락 Then var2 = 기준저; if 추세 == 상승 and 추세 != 추세[1] Then buy("b"); if 추세 == 하락 and 추세 != 추세[1] Then sell("s"); 시스템식 모두 변수 설정 가능하도록 부탁드립니다~