커뮤니티

수식좀 부탁드립니다

프로필 이미지
harrywin
2020-09-17 04:50:02
874
글번호 142421
답변완료
1) 시스템과 지표수식 두개씩 부탁드립니다. 1 매수 : 50개봉중 5일 평균 최저가 2 매도 : 50개봉중 5일 평균 최고가 2)시스템과 지표수식 두개씩 부탁드립니다. 1 매수 : 5일 평균 최저가 / 하락하다가 상승할때 2 매도 : 5일 평균 최고가 / 상승하다가 하락할때 3) 아래의 수식에서 그림처럼 직전 파동의 고점 혹은 저점기준 피보나치 수치라인을 추가 부탁드립니다. 4) 아래의 수식에서 가장최근 파동의 고점 혹은 저점기준 피보나치 수치라인을 추가 부탁드립니다.(이경우 최근 파동이 늦어지기에 피보나치도 늦게서야 나오겠지요) Input:전환가격(10),종가사용여부(1),파동선두께(2),수치표시(1),소수(0); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부 == 1,C,H); LL = IFF(종가사용여부 == 1,C,L); If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1] + 전환가격 < HH and hiBar == 0; Condition2 = 고[1,1] - 전환가격 > LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1], NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Red); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1, NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); } } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1], NumToStr(저[1,1],소수)+"("+NumToStr((저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((저[1,1]-저[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Blue); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1, NumToStr(저[1,1],소수)+"("+NumToStr(abs(저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); } } 최종꼭지점 = "저점"; }
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2020-09-16 17:44:39

안녕하세요 예스스탁입니다. 1-1 var1 = ma(L,5); Var2 = Lowest(var1,50); Var3 = ma(H,5); Var4 = highest(var3,50); if var1 == Var2 Then Buy(); if var3 == Var4 Then Sell(); 1-2 var1 = ma(L,5); Var2 = ma(H,5); Plot1(var1); Plot2(var2); 2-1 var : T(0),S(0); var1 = ma(L,5); Var2 = ma(H,5); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if var2 > var2[1] Then S = 1; if var2 < var2[1] Then S = -1; if T == 1 and T != T[1] Then Buy(); if T == -1 and T != T[1] Then Sell(); 3 Input:전환가격(10),종가사용여부(1),파동선두께(2),수치표시(1),소수(0); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0); var : TX11(0),TX12(0),TX13(0),TX14(0),TX15(0),TX16(0),TX17(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부 == 1,C,H); LL = IFF(종가사용여부 == 1,C,L); If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1] + 전환가격 < HH and hiBar == 0; Condition2 = 고[1,1] - 전환가격 > LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); var1 = 고[2,1]; var2 = 고[2,1]-(고[2,1]-저[1,1])*0.236; var3 = 고[2,1]-(고[2,1]-저[1,1])*0.382; var4 = 고[2,1]-(고[2,1]-저[1,1])*0.500; var5 = 고[2,1]-(고[2,1]-저[1,1])*0.618; var6 = 고[2,1]-(고[2,1]-저[1,1])*0.764; var7 = 저[1,1]; TL11 = TL_New(고[2,3],고[2,4],var1,sDate,sTime,var1); TL12 = TL_New(고[2,3],고[2,4],var2,sDate,sTime,var2); TL13 = TL_New(고[2,3],고[2,4],var3,sDate,sTime,var3); TL14 = TL_New(고[2,3],고[2,4],var4,sDate,sTime,var4); TL15 = TL_New(고[2,3],고[2,4],var5,sDate,sTime,var5); TL16 = TL_New(고[2,3],고[2,4],var6,sDate,sTime,var6); TL17 = TL_New(고[2,3],고[2,4],var7,sDate,sTime,var7); TL_SetColor(TL11,RED); TL_SetColor(TL12,RED); TL_SetColor(TL13,RED); TL_SetColor(TL14,RED); TL_SetColor(TL15,RED); TL_SetColor(TL16,RED); TL_SetColor(TL17,RED); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtLeft(TL11,true); TL_SetExtLeft(TL12,true); TL_SetExtLeft(TL13,true); TL_SetExtLeft(TL14,true); TL_SetExtLeft(TL15,true); TL_SetExtLeft(TL16,true); TL_SetExtLeft(TL17,true); Text_Delete(tX11); Text_Delete(tX12); Text_Delete(tX13); Text_Delete(tX14); Text_Delete(tX15); Text_Delete(tX16); Text_Delete(tX17); TX11 = Text_New(sDate,sTime,var1,NumToStr(var1,소수)); TX12 = Text_New(sDate,sTime,var2,NumToStr(var2,소수)); TX13 = Text_New(sDate,sTime,var3,NumToStr(var3,소수)); TX14 = Text_New(sDate,sTime,var4,NumToStr(var4,소수)); TX15 = Text_New(sDate,sTime,var5,NumToStr(var5,소수)); TX16 = Text_New(sDate,sTime,var6,NumToStr(var6,소수)); TX17 = Text_New(sDate,sTime,var7,NumToStr(var7,소수)); Text_SetStyle(TX11,0,1); Text_SetStyle(TX12,0,1); Text_SetStyle(TX13,0,1); Text_SetStyle(TX14,0,1); Text_SetStyle(TX15,0,1); Text_SetStyle(TX16,0,1); Text_SetStyle(TX17,0,1); Text_SetColor(TX11,RED); Text_SetColor(TX12,RED); Text_SetColor(TX13,RED); Text_SetColor(TX14,RED); Text_SetColor(TX15,RED); Text_SetColor(TX16,RED); Text_SetColor(TX17,RED); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1], NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Red); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1, NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); } } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); var1 = 고[1,1]; var2 = 고[1,1]-(고[1,1]-저[2,1])*0.236; var3 = 고[1,1]-(고[1,1]-저[2,1])*0.382; var4 = 고[1,1]-(고[1,1]-저[2,1])*0.500; var5 = 고[1,1]-(고[1,1]-저[2,1])*0.618; var6 = 고[1,1]-(고[1,1]-저[2,1])*0.764; var7 = 저[2,1]; TL11 = TL_New(저[2,3],저[2,4],var1,sDate,sTime,var1); TL12 = TL_New(저[2,3],저[2,4],var2,sDate,sTime,var2); TL13 = TL_New(저[2,3],저[2,4],var3,sDate,sTime,var3); TL14 = TL_New(저[2,3],저[2,4],var4,sDate,sTime,var4); TL15 = TL_New(저[2,3],저[2,4],var5,sDate,sTime,var5); TL16 = TL_New(저[2,3],저[2,4],var6,sDate,sTime,var6); TL17 = TL_New(저[2,3],저[2,4],var7,sDate,sTime,var7); TL_SetColor(TL11,BLUE); TL_SetColor(TL12,BLUE); TL_SetColor(TL13,BLUE); TL_SetColor(TL14,BLUE); TL_SetColor(TL15,BLUE); TL_SetColor(TL16,BLUE); TL_SetColor(TL17,BLUE); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtLeft(TL11,true); TL_SetExtLeft(TL12,true); TL_SetExtLeft(TL13,true); TL_SetExtLeft(TL14,true); TL_SetExtLeft(TL15,true); TL_SetExtLeft(TL16,true); TL_SetExtLeft(TL17,true); Text_Delete(tX11); Text_Delete(tX12); Text_Delete(tX13); Text_Delete(tX14); Text_Delete(tX15); Text_Delete(tX16); Text_Delete(tX17); TX11 = Text_New(sDate,sTime,var1,NumToStr(var1,소수)); TX12 = Text_New(sDate,sTime,var2,NumToStr(var2,소수)); TX13 = Text_New(sDate,sTime,var3,NumToStr(var3,소수)); TX14 = Text_New(sDate,sTime,var4,NumToStr(var4,소수)); TX15 = Text_New(sDate,sTime,var5,NumToStr(var5,소수)); TX16 = Text_New(sDate,sTime,var6,NumToStr(var6,소수)); TX17 = Text_New(sDate,sTime,var7,NumToStr(var7,소수)); Text_SetStyle(TX11,0,1); Text_SetStyle(TX12,0,1); Text_SetStyle(TX13,0,1); Text_SetStyle(TX14,0,1); Text_SetStyle(TX15,0,1); Text_SetStyle(TX16,0,1); Text_SetStyle(TX17,0,1); Text_SetColor(TX11,BLUE); Text_SetColor(TX12,BLUE); Text_SetColor(TX13,BLUE); Text_SetColor(TX14,BLUE); Text_SetColor(TX15,BLUE); Text_SetColor(TX16,BLUE); Text_SetColor(TX17,BLUE); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1], NumToStr(저[1,1],소수)+"("+NumToStr((저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((저[1,1]-저[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Blue); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1, NumToStr(저[1,1],소수)+"("+NumToStr(abs(저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); } } 최종꼭지점 = "저점"; } Text_SetLocation(tx11,NextBarSdate,NextBarStime,var1); Text_SetLocation(tx12,NextBarSdate,NextBarStime,var2); Text_SetLocation(tx13,NextBarSdate,NextBarStime,var3); Text_SetLocation(tx14,NextBarSdate,NextBarStime,var4); Text_SetLocation(tx15,NextBarSdate,NextBarStime,var5); Text_SetLocation(tx16,NextBarSdate,NextBarStime,var6); Text_SetLocation(tx17,NextBarSdate,NextBarStime,var7); 4 Input:전환가격(10),종가사용여부(1),파동선두께(2),수치표시(1),소수(0); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); var : TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0); var : TX11(0),TX12(0),TX13(0),TX14(0),TX15(0),TX16(0),TX17(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부 == 1,C,H); LL = IFF(종가사용여부 == 1,C,L); If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1] + 전환가격 < HH and hiBar == 0; Condition2 = 고[1,1] - 전환가격 > LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); var1 = 고[1,1]; var2 = 고[1,1]-(고[1,1]-저[1,1])*0.236; var3 = 고[1,1]-(고[1,1]-저[1,1])*0.382; var4 = 고[1,1]-(고[1,1]-저[1,1])*0.500; var5 = 고[1,1]-(고[1,1]-저[1,1])*0.618; var6 = 고[1,1]-(고[1,1]-저[1,1])*0.764; var7 = 저[1,1]; TL11 = TL_New(고[1,3],고[1,4],var1,sDate,sTime,var1); TL12 = TL_New(고[1,3],고[1,4],var2,sDate,sTime,var2); TL13 = TL_New(고[1,3],고[1,4],var3,sDate,sTime,var3); TL14 = TL_New(고[1,3],고[1,4],var4,sDate,sTime,var4); TL15 = TL_New(고[1,3],고[1,4],var5,sDate,sTime,var5); TL16 = TL_New(고[1,3],고[1,4],var6,sDate,sTime,var6); TL17 = TL_New(고[1,3],고[1,4],var7,sDate,sTime,var7); TL_SetColor(TL11,RED); TL_SetColor(TL12,RED); TL_SetColor(TL13,RED); TL_SetColor(TL14,RED); TL_SetColor(TL15,RED); TL_SetColor(TL16,RED); TL_SetColor(TL17,RED); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtLeft(TL11,true); TL_SetExtLeft(TL12,true); TL_SetExtLeft(TL13,true); TL_SetExtLeft(TL14,true); TL_SetExtLeft(TL15,true); TL_SetExtLeft(TL16,true); TL_SetExtLeft(TL17,true); Text_Delete(tX11); Text_Delete(tX12); Text_Delete(tX13); Text_Delete(tX14); Text_Delete(tX15); Text_Delete(tX16); Text_Delete(tX17); TX11 = Text_New(sDate,sTime,var1,NumToStr(var1,소수)); TX12 = Text_New(sDate,sTime,var2,NumToStr(var2,소수)); TX13 = Text_New(sDate,sTime,var3,NumToStr(var3,소수)); TX14 = Text_New(sDate,sTime,var4,NumToStr(var4,소수)); TX15 = Text_New(sDate,sTime,var5,NumToStr(var5,소수)); TX16 = Text_New(sDate,sTime,var6,NumToStr(var6,소수)); TX17 = Text_New(sDate,sTime,var7,NumToStr(var7,소수)); Text_SetStyle(TX11,0,1); Text_SetStyle(TX12,0,1); Text_SetStyle(TX13,0,1); Text_SetStyle(TX14,0,1); Text_SetStyle(TX15,0,1); Text_SetStyle(TX16,0,1); Text_SetStyle(TX17,0,1); Text_SetColor(TX11,RED); Text_SetColor(TX12,RED); Text_SetColor(TX13,RED); Text_SetColor(TX14,RED); Text_SetColor(TX15,RED); Text_SetColor(TX16,RED); Text_SetColor(TX17,RED); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1], NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Red); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); var1 = 고[1,1]; var2 = 고[1,1]-(고[1,1]-저[1,1])*0.236; var3 = 고[1,1]-(고[1,1]-저[1,1])*0.382; var4 = 고[1,1]-(고[1,1]-저[1,1])*0.500; var5 = 고[1,1]-(고[1,1]-저[1,1])*0.618; var6 = 고[1,1]-(고[1,1]-저[1,1])*0.764; var7 = 저[1,1]; TL_SetBegin(TL11,저[1,3],저[1,4],var1); TL_SetBegin(TL12,저[1,3],저[1,4],var2); TL_SetBegin(TL13,저[1,3],저[1,4],Var3); TL_SetBegin(TL14,저[1,3],저[1,4],var4); TL_SetBegin(TL15,저[1,3],저[1,4],Var5); TL_SetBegin(TL16,저[1,3],저[1,4],Var6); TL_SetBegin(TL17,저[1,3],저[1,4],Var7); TL_SetEnd(TL11,고[1,3],고[1,4],var1); TL_SetEnd(TL12,고[1,3],고[1,4],var2); TL_SetEnd(TL13,고[1,3],고[1,4],Var3); TL_SetEnd(TL14,고[1,3],고[1,4],var4); TL_SetEnd(TL15,고[1,3],고[1,4],Var5); TL_SetEnd(TL16,고[1,3],고[1,4],Var6); TL_SetEnd(TL17,고[1,3],고[1,4],Var7); Text_SetString(TX11,NumToStr(var1,소수)); Text_SetString(TX12,NumToStr(var2,소수)); Text_SetString(TX13,NumToStr(var3,소수)); Text_SetString(TX14,NumToStr(var4,소수)); Text_SetString(TX15,NumToStr(var5,소수)); Text_SetString(TX16,NumToStr(var6,소수)); Text_SetString(TX17,NumToStr(var7,소수)); If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1, NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); } } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_Delete(TL11); TL_Delete(TL12); TL_Delete(TL13); TL_Delete(TL14); TL_Delete(TL15); TL_Delete(TL16); TL_Delete(TL17); var1 = 고[1,1]; var2 = 고[1,1]-(고[1,1]-저[1,1])*0.236; var3 = 고[1,1]-(고[1,1]-저[1,1])*0.382; var4 = 고[1,1]-(고[1,1]-저[1,1])*0.500; var5 = 고[1,1]-(고[1,1]-저[1,1])*0.618; var6 = 고[1,1]-(고[1,1]-저[1,1])*0.764; var7 = 저[1,1]; TL11 = TL_New(저[1,3],저[1,4],var1,sDate,sTime,var1); TL12 = TL_New(저[1,3],저[1,4],var2,sDate,sTime,var2); TL13 = TL_New(저[1,3],저[1,4],var3,sDate,sTime,var3); TL14 = TL_New(저[1,3],저[1,4],var4,sDate,sTime,var4); TL15 = TL_New(저[1,3],저[1,4],var5,sDate,sTime,var5); TL16 = TL_New(저[1,3],저[1,4],var6,sDate,sTime,var6); TL17 = TL_New(저[1,3],저[1,4],var7,sDate,sTime,var7); TL_SetColor(TL11,BLUE); TL_SetColor(TL12,BLUE); TL_SetColor(TL13,BLUE); TL_SetColor(TL14,BLUE); TL_SetColor(TL15,BLUE); TL_SetColor(TL16,BLUE); TL_SetColor(TL17,BLUE); TL_SetExtRight(TL11,true); TL_SetExtRight(TL12,true); TL_SetExtRight(TL13,true); TL_SetExtRight(TL14,true); TL_SetExtRight(TL15,true); TL_SetExtRight(TL16,true); TL_SetExtRight(TL17,true); TL_SetExtLeft(TL11,true); TL_SetExtLeft(TL12,true); TL_SetExtLeft(TL13,true); TL_SetExtLeft(TL14,true); TL_SetExtLeft(TL15,true); TL_SetExtLeft(TL16,true); TL_SetExtLeft(TL17,true); Text_Delete(tX11); Text_Delete(tX12); Text_Delete(tX13); Text_Delete(tX14); Text_Delete(tX15); Text_Delete(tX16); Text_Delete(tX17); TX11 = Text_New(sDate,sTime,var1,NumToStr(var1,소수)); TX12 = Text_New(sDate,sTime,var2,NumToStr(var2,소수)); TX13 = Text_New(sDate,sTime,var3,NumToStr(var3,소수)); TX14 = Text_New(sDate,sTime,var4,NumToStr(var4,소수)); TX15 = Text_New(sDate,sTime,var5,NumToStr(var5,소수)); TX16 = Text_New(sDate,sTime,var6,NumToStr(var6,소수)); TX17 = Text_New(sDate,sTime,var7,NumToStr(var7,소수)); Text_SetStyle(TX11,0,1); Text_SetStyle(TX12,0,1); Text_SetStyle(TX13,0,1); Text_SetStyle(TX14,0,1); Text_SetStyle(TX15,0,1); Text_SetStyle(TX16,0,1); Text_SetStyle(TX17,0,1); Text_SetColor(TX11,BLUE); Text_SetColor(TX12,BLUE); Text_SetColor(TX13,BLUE); Text_SetColor(TX14,BLUE); Text_SetColor(TX15,BLUE); Text_SetColor(TX16,BLUE); Text_SetColor(TX17,BLUE); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1], NumToStr(저[1,1],소수)+"("+NumToStr((저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((저[1,1]-저[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Blue); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); var1 = 고[1,1]; var2 = 고[1,1]-(고[1,1]-저[1,1])*0.236; var3 = 고[1,1]-(고[1,1]-저[1,1])*0.382; var4 = 고[1,1]-(고[1,1]-저[1,1])*0.500; var5 = 고[1,1]-(고[1,1]-저[1,1])*0.618; var6 = 고[1,1]-(고[1,1]-저[1,1])*0.764; var7 = 저[1,1]; TL_SetBegin(TL11,고[1,3],고[1,4],var1); TL_SetBegin(TL12,고[1,3],고[1,4],var2); TL_SetBegin(TL13,고[1,3],고[1,4],Var3); TL_SetBegin(TL14,고[1,3],고[1,4],var4); TL_SetBegin(TL15,고[1,3],고[1,4],Var5); TL_SetBegin(TL16,고[1,3],고[1,4],Var6); TL_SetBegin(TL17,고[1,3],고[1,4],Var7); TL_SetEnd(TL11,저[1,3],저[1,4],var1); TL_SetEnd(TL12,저[1,3],저[1,4],var2); TL_SetEnd(TL13,저[1,3],저[1,4],Var3); TL_SetEnd(TL14,저[1,3],저[1,4],var4); TL_SetEnd(TL15,저[1,3],저[1,4],Var5); TL_SetEnd(TL16,저[1,3],저[1,4],Var6); TL_SetEnd(TL17,저[1,3],저[1,4],Var7); Text_SetString(TX11,NumToStr(var1,소수)); Text_SetString(TX12,NumToStr(var2,소수)); Text_SetString(TX13,NumToStr(var3,소수)); Text_SetString(TX14,NumToStr(var4,소수)); Text_SetString(TX15,NumToStr(var5,소수)); Text_SetString(TX16,NumToStr(var6,소수)); Text_SetString(TX17,NumToStr(var7,소수)); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1, NumToStr(저[1,1],소수)+"("+NumToStr(abs(저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); } } 최종꼭지점 = "저점"; } Text_SetLocation(tx11,NextBarSdate,NextBarStime,var1); Text_SetLocation(tx12,NextBarSdate,NextBarStime,var2); Text_SetLocation(tx13,NextBarSdate,NextBarStime,var3); Text_SetLocation(tx14,NextBarSdate,NextBarStime,var4); Text_SetLocation(tx15,NextBarSdate,NextBarStime,var5); Text_SetLocation(tx16,NextBarSdate,NextBarStime,var6); Text_SetLocation(tx17,NextBarSdate,NextBarStime,var7); 즐거운 하루되세요 > harrywin 님이 쓴 글입니다. > 제목 : 수식좀 부탁드립니다 > 1) 시스템과 지표수식 두개씩 부탁드립니다. 1 매수 : 50개봉중 5일 평균 최저가 2 매도 : 50개봉중 5일 평균 최고가 2)시스템과 지표수식 두개씩 부탁드립니다. 1 매수 : 5일 평균 최저가 / 하락하다가 상승할때 2 매도 : 5일 평균 최고가 / 상승하다가 하락할때 3) 아래의 수식에서 그림처럼 직전 파동의 고점 혹은 저점기준 피보나치 수치라인을 추가 부탁드립니다. 4) 아래의 수식에서 가장최근 파동의 고점 혹은 저점기준 피보나치 수치라인을 추가 부탁드립니다.(이경우 최근 파동이 늦어지기에 피보나치도 늦게서야 나오겠지요) Input:전환가격(10),종가사용여부(1),파동선두께(2),수치표시(1),소수(0); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부 == 1,C,H); LL = IFF(종가사용여부 == 1,C,L); If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1] + 전환가격 < HH and hiBar == 0; Condition2 = 고[1,1] - 전환가격 > LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1], NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Red); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1, NumToStr(고[1,1],소수)+"("+NumToStr((고[1,1]-저[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((고[1,1]-저[1,1])/abs(고[2,1]-저[1,1])*100,2)+"%)"); } } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1], NumToStr(저[1,1],소수)+"("+NumToStr((저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((저[1,1]-저[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Blue); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1, NumToStr(저[1,1],소수)+"("+NumToStr(abs(저[1,1]-고[1,1])/PriceScale,0)+","+ NumToStr((고[1,1]-고[2,1])/PriceScale,0)+","+ NumToStr((저[1,1]-고[1,1])/abs(고[1,1]-저[2,1])*100,2)+"%)"); } } 최종꼭지점 = "저점"; }
프로필 이미지

harrywin

2020-09-16 17:57:12

올려주신 식에서 직전 신호보다 5캔들 이후의 동일 신호는 제외를 부탁드립니다. 즉 매수신호가 나오고 다음 매수신호가 5개이전에 나온다면 제외시켜 주세요 var : T(0),S(0); var1 = ma(L,5); Var2 = ma(H,5); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if var2 > var2[1] Then S = 1; if var2 < var2[1] Then S = -1; if T == 1 and T != T[1] Then Buy(); if T == -1 and T != T[1] Then Sell();
프로필 이미지

예스스탁 예스스탁 답변

2020-09-16 18:20:26

안녕하세요 예스스탁입니다. var : T(0),S(0),bi(0),si(0); var1 = ma(L,5); Var2 = ma(H,5); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if var2 > var2[1] Then S = 1; if var2 < var2[1] Then S = -1; if T == 1 and T != T[1] Then { if Index >= bi+5 Then Buy(); } if S == -1 and S != T[1] Then { if Index >= si+5 Then Sell(); } if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then bi = Index; if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then si = Index; 즐거운 하루되세요 > harrywin 님이 쓴 글입니다. > 제목 : Re : Re : 수식좀 부탁드립니다 > 올려주신 식에서 직전 신호보다 5캔들 이후의 동일 신호는 제외를 부탁드립니다. 즉 매수신호가 나오고 다음 매수신호가 5개이전에 나온다면 제외시켜 주세요 var : T(0),S(0); var1 = ma(L,5); Var2 = ma(H,5); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if var2 > var2[1] Then S = 1; if var2 < var2[1] Then S = -1; if T == 1 and T != T[1] Then Buy(); if T == -1 and T != T[1] Then Sell();