커뮤니티

보내주신 함수식 설명좀 부탁드릴게요

프로필 이미지
중추신경
2021-04-28 13:45:43
1385
글번호 148484
답변완료
받아본 수식에 의하면 예를 들어 20과 60이 골든 크로스한 조건이 만족하고, 20선이 변곡이 나오고단다음, 5선이 변곡이 나올때 콜을 들어가는 조건인건데요.. K == 1 Then { if K != K[1] Then Bcnt = 0; if B == 2 and B != B[1] Then { Bcnt = Bcnt+1; if MarketPosition <= 0 and Bcnt < 3 Then Buy("콜"); } } 이부분이 잘 이해가 안가서요.. Bcnt란 값을 넣어줘서 Bcnt = Bcnt + 1 값으로 Bcnt < 3 일때 매수하는 수식을 만드는 부분이 잘 이해가 안되네요... 이것도 변곡있는 부분에서 매수하는것을 말하는것 같은데요... 설명좀 부탁드립니다 /////////////////////////////////////// var : Period1(3),Period2(10),Period3(30),Period4(120),U(0),K(0),W(0),N(0),X(0),Y(0),Z(0); var : B(0),S(0),Bcnt(0),Scnt(0); var26 = ema(Ema(Ema(c,period1),period1),period1); //5선 var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 //5-20 cross if CrossUp(Var26,Var27) Then U = 1; if CrossDown(Var26,Var27) Then U = -1; //20-60 cross if CrossUp(Var27,Var28) Then K = 1; if CrossDown(Var27,Var28) Then K = -1; //60-240 cross if CrossUp(Var28,Var29) Then W = 1; if CrossDown(Var28,Var29) Then W = -1; //5-60 cross if CrossUp(Var26,Var28) Then N = 1; if CrossDown(Var26,Var28) Then N = -1; //5선 상승하락 if Var26 > var26[1] Then X = 1; if Var26 < var26[1] Then X = -1; //20선 상승하락 if Var27 > var27[1] Then Y = 1; if Var27 < var27[1] Then Y = -1; //60선 상승하락 if Var28 > var28[1] Then Z = 1; if Var28 < var28[1] Then Z = -1; if W == 1 and Y == 1 Then { if Y != Y[1] Then { B = 1; } if B == 1 and C > O and (C+O)/2 >= var26 Then { B = 2; } } else B = 0; if W == -1 and Y == -1 Then { if Y != Y[1] Then { S = 1; } if S == 1 and C < O and (C+O)/2 <= var26 Then { S = 2; } } else S = 0; if K == 1 Then { if K != K[1] Then Bcnt = 0; if B == 2 and B != B[1] Then { Bcnt = Bcnt+1; if MarketPosition <= 0 and Bcnt < 3 Then Buy("콜"); } } if K == -1 Then { if K != K[1] Then Scnt = 0; if S == 2 and S != S[1] Then { Scnt = Scnt+1; if MarketPosition >= 0 and Scnt < 3 Then Sell("풋"); } } if MarketPosition == 1 Then { if U == 1 and CountIf(U == -1,BarsSinceEntry) == 0 and X == -1 and X != X[1] and CountIf(X == -1 and X != X[1],BarsSinceEntry) == 3 Then ExitLong("콜청산1"); if Y == -1 and C < O and (C+O)/2 <= var27 Then ExitLong("콜정산2"); } if MarketPosition == -1 Then { if U == -1 and CountIf(U == 1,BarsSinceEntry) == 0 and X == 1 and X != X[1] and CountIf(X == 1 and X != X[1],BarsSinceEntry) == 3 Then ExitShort("풋청산1"); if Y == 1 and C > O and (C+O)/2 >= Var27 Then ExitShort("풋정산2"); } SetStopEndofday(153000);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-04-28 15:42:30

안녕하세요 예스스탁입니다. var : Period1(3),Period2(10),Period3(30),Period4(120),U(0),K(0),W(0),N(0),X(0),Y(0),Z(0); var : B(0),S(0),Bcnt(0),Scnt(0); var26 = ema(Ema(Ema(c,period1),period1),period1); //5선 var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 수식에 주석으로 5,20,60,240선인데 실제 지정된 기간은 3,10,30,120입니다. 아래 주석내용 참고하시기 바랍니다. #Period3이평-Period4이평골드구간이고 Period2선 상승구간 if W == 1 and Y == 1 Then { #Period2선 상승첫봉에서는 B는 1 if Y != Y[1] Then { B = 1; } #Period2선 상승후 양봉이고 평균가가 Period1선보다 크면 #B는 2 if B == 1 and C > O and (C+O)/2 >= var26 Then { B = 2; } } else B = 0; #Period2이평-Period3이평골드구간 if K == 1 Then { #골드 첫봉 #Bcnt는 0으로 초기화 if K != K[1] Then Bcnt = 0; #B가 2가 아니었다가 2가된 봉이 나오면 if B == 2 and B != B[1] Then { #카운트1식 증가 Bcnt = Bcnt+1; #무포지션이거나 매도포지션이고 Bcnt가 3일때까지만 #매수진입 if MarketPosition <= 0 and Bcnt < 3 Then Buy("콜"); } } 즐거운 하루되세요 > 중추신경 님이 쓴 글입니다. > 제목 : 보내주신 함수식 설명좀 부탁드릴게요 > 받아본 수식에 의하면 예를 들어 20과 60이 골든 크로스한 조건이 만족하고, 20선이 변곡이 나오고단다음, 5선이 변곡이 나올때 콜을 들어가는 조건인건데요.. K == 1 Then { if K != K[1] Then Bcnt = 0; if B == 2 and B != B[1] Then { Bcnt = Bcnt+1; if MarketPosition <= 0 and Bcnt < 3 Then Buy("콜"); } } 이부분이 잘 이해가 안가서요.. Bcnt란 값을 넣어줘서 Bcnt = Bcnt + 1 값으로 Bcnt < 3 일때 매수하는 수식을 만드는 부분이 잘 이해가 안되네요... 이것도 변곡있는 부분에서 매수하는것을 말하는것 같은데요... 설명좀 부탁드립니다 /////////////////////////////////////// var : Period1(3),Period2(10),Period3(30),Period4(120),U(0),K(0),W(0),N(0),X(0),Y(0),Z(0); var : B(0),S(0),Bcnt(0),Scnt(0); var26 = ema(Ema(Ema(c,period1),period1),period1); //5선 var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 //5-20 cross if CrossUp(Var26,Var27) Then U = 1; if CrossDown(Var26,Var27) Then U = -1; //20-60 cross if CrossUp(Var27,Var28) Then K = 1; if CrossDown(Var27,Var28) Then K = -1; //60-240 cross if CrossUp(Var28,Var29) Then W = 1; if CrossDown(Var28,Var29) Then W = -1; //5-60 cross if CrossUp(Var26,Var28) Then N = 1; if CrossDown(Var26,Var28) Then N = -1; //5선 상승하락 if Var26 > var26[1] Then X = 1; if Var26 < var26[1] Then X = -1; //20선 상승하락 if Var27 > var27[1] Then Y = 1; if Var27 < var27[1] Then Y = -1; //60선 상승하락 if Var28 > var28[1] Then Z = 1; if Var28 < var28[1] Then Z = -1; if W == 1 and Y == 1 Then { if Y != Y[1] Then { B = 1; } if B == 1 and C > O and (C+O)/2 >= var26 Then { B = 2; } } else B = 0; if W == -1 and Y == -1 Then { if Y != Y[1] Then { S = 1; } if S == 1 and C < O and (C+O)/2 <= var26 Then { S = 2; } } else S = 0; if K == 1 Then { if K != K[1] Then Bcnt = 0; if B == 2 and B != B[1] Then { Bcnt = Bcnt+1; if MarketPosition <= 0 and Bcnt < 3 Then Buy("콜"); } } if K == -1 Then { if K != K[1] Then Scnt = 0; if S == 2 and S != S[1] Then { Scnt = Scnt+1; if MarketPosition >= 0 and Scnt < 3 Then Sell("풋"); } } if MarketPosition == 1 Then { if U == 1 and CountIf(U == -1,BarsSinceEntry) == 0 and X == -1 and X != X[1] and CountIf(X == -1 and X != X[1],BarsSinceEntry) == 3 Then ExitLong("콜청산1"); if Y == -1 and C < O and (C+O)/2 <= var27 Then ExitLong("콜정산2"); } if MarketPosition == -1 Then { if U == -1 and CountIf(U == 1,BarsSinceEntry) == 0 and X == 1 and X != X[1] and CountIf(X == 1 and X != X[1],BarsSinceEntry) == 3 Then ExitShort("풋청산1"); if Y == 1 and C > O and (C+O)/2 >= Var27 Then ExitShort("풋정산2"); } SetStopEndofday(153000);