커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의 드립니다

안녕하세요 전날 시초가랑 전날 종가를 dayopen(1), dayclose(1) 함수 말고 다른 방법으로 가르쳐주시면 감사하겠습니다
프로필 이미지
아래위
2021-04-23
1288
글번호 148324
지표
답변완료

수정의뢰 드립니다

안녕하세요! 만들어 주신 지표를 적용해 보앗는데 첨부그림처럼 정체불명의 많은 선들이 생성이 됩니다! 왜 이런 현상이 나타나는지 반복해서 적용해 보아도 지워지지가 않습니다! 그냥 외부변수를 적용해서 선의 색상이나 굵기, 텍스트 크기등을 적용할 수 있게 바꾸어 주세요! v1, v2, v3 이렇게 3가지 가격선만 나타나게 해주세요! (data1 현재가+ data2 현재가 / 2) (data1 현재가+ data3 현재가 / 2) (data1 현재가+ data4 현재가 / 2) 자꾸 번거롭게 해드리는것 같아서 죄송합니다! var : cnt(0,Data1); var : v1(0,Data1),v2(0,Data1),v3(0,Data1),v4(0,Data1); var : v5(0,Data1),v6(0,Data1),v7(0,Data1),v8(0,Data1); var : tl1(0,Data1),tl2(0,Data1),tl3(0,Data1),tl4(0,Data1); var : tl5(0,Data1),tl6(0,Data1),tl7(0,Data1),tl8(0,Data1); var : tx1(0,Data1),tx2(0,Data1),tx3(0,Data1),tx4(0,Data1); var : tx5(0,Data1),tx6(0,Data1),tx7(0,Data1),tx8(0,Data1); #(Data1+Data2)/2; v1 = (Data1(c)+Data2(c))/2; #(Data1+Data3)/2; v2 = (Data1(c)+Data3(c))/2; #(Data1+Data4)/2; v3 = (Data1(c)+Data4(c))/2; #Data1 시가 v4 = Data1(DayOpen); #Data1 전일고가 v5 = Data1(DayHigh(1)); #Data1 전일저가 v6 = Data1(DayLow(1)); #Data3 당일고가 v7 = Data3(highD(0)); #Data3 당일저가 v8 = Data3(LowD(0)); For cnt = 0 to 20 { Text_Delete(tx1[cnt]); Text_Delete(tx2[cnt]); Text_Delete(tx3[cnt]); Text_Delete(tx4[cnt]); Text_Delete(tx5[cnt]); Text_Delete(tx6[cnt]); Text_Delete(tx7[cnt]); Text_Delete(tx8[cnt]); TL_Delete(tl1[cnt]); TL_Delete(tl2[cnt]); TL_Delete(tl3[cnt]); TL_Delete(tl4[cnt]); TL_Delete(tl5[cnt]); TL_Delete(tl6[cnt]); TL_Delete(tl7[cnt]); TL_Delete(tl8[cnt]); } tx1 = Text_New(NextBarSdate,NextBarStime,v1,NumToStr(v1,2)); tx2 = Text_New(NextBarSdate,NextBarStime,v2,NumToStr(v2,2)); tx3 = Text_New(NextBarSdate,NextBarStime,v3,NumToStr(v3,2)); tx4 = Text_New(NextBarSdate,NextBarStime,v4,NumToStr(v4,2)); tl1 = TL_New(sDate,sTime,v1,NextBarSdate,NextBarStime,v1); tl2 = TL_New(sDate,sTime,v2,NextBarSdate,NextBarStime,v2); tl3 = TL_New(sDate,sTime,v3,NextBarSdate,NextBarStime,v3); tl4 = TL_New(sDate,sTime,v4,NextBarSdate,NextBarStime,v4); TL_SetColor(tl1,RED); TL_SetColor(tl2,BLUE); TL_SetColor(tl3,RED); TL_SetColor(tl4,MAGENTA); TL_SetColor(tl5,WHITE); TL_SetColor(tl6,WHITE); TL_SetColor(tl7,LGREEN); TL_SetColor(tl8,LGREEN); TL_SetExtLeft(TL1,true); TL_SetExtLeft(TL2,true); TL_SetExtLeft(TL3,true); TL_SetExtLeft(TL4,true); TL_SetExtRight(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true);
프로필 이미지
qha71
2021-04-23
1245
글번호 148323
지표
답변완료

추가 부탁드려요

답변 감사드립니다 작성해 주신 수식에 아래와 같이 최초에 있던 '청산과 익절 시 매매정지' 조건이 삭제되어버렸어요 if TotalTrades > TotalTrades[1] Then { Condition4 = False; if IsExitName("xl",1) == true or IsExitName("xs",1) == true or IsExitName("stopprofittarget",1) == true then Condition4 = true; 매매가 정지되는 조건은 1. 3번 연속 손실 2. 청산 시 3. 익절 시 4. 로스컷 일 때 입니다 부탁드립니다. ------------------------ 안녕하세요 예스스탁입니다. 1 if sTime > starttime or sTime < Endtime and marketposition == 0 Then if문에 or와 and가 같이 사용되면 ()로 우선순위를 지정해 주셔야 합니다. 작성하신 식은 marketposition == 0이 stime < Endtime에만 속하게 되어 매매정지가 제대로 동작하지 않습니다. 아래와 같이 시간제한 조건을 ()로 묶어주셔야 신호가 항상 무포지션에만 동작하게 됩니다. if (sTime > starttime or sTime < Endtime) and marketposition == 0 Then 기존식을 청산후 매매정지 이후에 다시 신호가 발생하게 간단히 수정하면 아래와 같습니다. input : N(4),익절(0.03),손절(0),진입(10),StartTime(070000),EndTime(070000),매매정지(20),lb(0),lp(2),sb(0),sp(-2); var : LL(0),HH(0),tx1(0),tx2(0),cnt(0),Tx3(0),sum(0),CL(0),CS(0); Array : VV[20](0); var : Tcond(false),S1(0),D1(0),TM(0),b_vv(0),Condition4(False),최고점(0),최저점(0),Lss(0),XTM(0); Condition1 = L[4]>L[3] and L[3] >L[2] and H>H[1] and H[1]>H[2]; Condition2 = H[4]<H[3] and H[3]<H[2] and L<L[1] and L[1]<L[2]; if ( ( var2 == 0 and C > CS and vv[0] == -1 ) or LL == 0 or C > CL ) and condition1 == true and Condition1[1] == False Then { var1 = var1+1; LL = L[2]; CL = C; VV[0] = 1; For cnt = 1 to 19 { VV[cnt] = VV[cnt-1][1]; } if VV[N-1] != 0 Then { sum = 0; For cnt = 0 to N-1 { sum = sum + VV[cnt]; } } } else { if L < LL Then { var1 = 0; } } if (( var1 == 0 and C < CL and vv[0] ==1) or hh == 0 or C < CS) and condition2 == true and Condition2[1] == False Then { var2 = var2+1; HH = H[2]; CS = C; VV[0] = -1; For cnt = 1 to 19 { VV[cnt] = VV[cnt-1][1]; } if VV[N-1] != 0 Then { sum = 0; For cnt = 0 to N-1 { sum = sum + VV[cnt]; } } } Else { if H > HH Then { var2 = 0; } } #전봉과 현재봉의 영업일이 다르면 당일청산조건 if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; Condition4 = False; Lss = 0; XTM = 0; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; } if TotalTrades > TotalTrades[1] Then { if PositionProfit(1) < 0 Then Lss = Lss+1; Else Lss= 0; XTM = TM[BarsSinceExit(1)]; } b_vv = vv[4]+vv[3]+vv[2]+vv[1]; 최고점 = highest(h,진입); 최저점 = lowest(l,진입); if (sTime > starttime or sTime < Endtime) and marketposition == 0 and TM >= XTM+매매정지 Then { if (b_vv == lb and sum == lp) Then { Buy("b"); } if (b_vv == sb and sum == sp) Then { Sell("s"); } } if MarketPosition(0) > 0 and C < LL Then ExitLong("xl"); if MarketPosition(0) < 0 and C > HH Then ExitShort("xs"); #타겟청산 SetStopProfittarget(익절,pointstop); SetStopLoss( 손절 ,PointStop); 2 3연속 손실시에만 매매정지후 진입은 아래와 같습니다. input : N(4),익절(0.03),손절(0),진입(10),StartTime(070000),EndTime(070000),매매정지(20),lb(0),lp(2),sb(0),sp(-2); var : LL(0),HH(0),tx1(0),tx2(0),cnt(0),Tx3(0),sum(0),CL(0),CS(0); Array : VV[20](0); var : Tcond(false),S1(0),D1(0),TM(0),b_vv(0),Condition4(False),최고점(0),최저점(0),Lss(0),XTM(0); Condition1 = L[4]>L[3] and L[3] >L[2] and H>H[1] and H[1]>H[2]; Condition2 = H[4]<H[3] and H[3]<H[2] and L<L[1] and L[1]<L[2]; if ( ( var2 == 0 and C > CS and vv[0] == -1 ) or LL == 0 or C > CL ) and condition1 == true and Condition1[1] == False Then { var1 = var1+1; LL = L[2]; CL = C; VV[0] = 1; For cnt = 1 to 19 { VV[cnt] = VV[cnt-1][1]; } if VV[N-1] != 0 Then { sum = 0; For cnt = 0 to N-1 { sum = sum + VV[cnt]; } } } else { if L < LL Then { var1 = 0; } } if (( var1 == 0 and C < CL and vv[0] ==1) or hh == 0 or C < CS) and condition2 == true and Condition2[1] == False Then { var2 = var2+1; HH = H[2]; CS = C; VV[0] = -1; For cnt = 1 to 19 { VV[cnt] = VV[cnt-1][1]; } if VV[N-1] != 0 Then { sum = 0; For cnt = 0 to N-1 { sum = sum + VV[cnt]; } } } Else { if H > HH Then { var2 = 0; } } #전봉과 현재봉의 영업일이 다르면 당일청산조건 if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; Condition4 = False; Lss = 0; XTM = 0; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; } if TotalTrades > TotalTrades[1] Then { if PositionProfit(1) < 0 Then Lss = Lss+1; Else Lss= 0; if Lss == 3 Then { XTM = TM[BarsSinceExit(1)]; } } b_vv = vv[4]+vv[3]+vv[2]+vv[1]; 최고점 = highest(h,진입); 최저점 = lowest(l,진입); if (sTime > starttime or sTime < Endtime) and marketposition == 0 and TM >= XTM+매매정지 Then { if (b_vv == lb and sum == lp) Then { Buy("b"); } if (b_vv == sb and sum == sp) Then { Sell("s"); } } if MarketPosition(0) > 0 and C < LL Then ExitLong("xl"); if MarketPosition(0) < 0 and C > HH Then ExitShort("xs"); #타겟청산 SetStopProfittarget(익절,pointstop); SetStopLoss( 손절 ,PointStop); 즐거운 하루되세요 > 산이보리 님이 쓴 글입니다. > 제목 : 수식 의뢰 부탁드립니다. > 안녕하세요 1. 아래 수식에서 3연속 손실이 발생할 경우 N분 매매정지를 할 수 있도록 수정 부탁드립니다 2. 그리고 매매가 끝나면 지정한 시간만큼 매매중지되어야 하는데 위 그림처럼 포지션 청산되자마자 다시 진입과 청산이 이루어집니다 항상 감사합니다 input : N(4),익절(0.03),손절(0),진입(10),StartTime(070000),EndTime(070000),매매정지(20),lb(0),lp(2),sb(0),sp(-2); var : LL(0),HH(0),tx1(0),tx2(0),cnt(0),Tx3(0),sum(0),CL(0),CS(0); Array : VV[20](0); var : Tcond(false),S1(0),D1(0),TM(0),b_vv(0),Condition4(False),최고점(0),최저점(0); Condition1 = L[4]>L[3] and L[3] >L[2] and H>H[1] and H[1]>H[2]; Condition2 = H[4]<H[3] and H[3]<H[2] and L<L[1] and L[1]<L[2]; if ( ( var2 == 0 and C > CS and vv[0] == -1 ) or LL == 0 or C > CL ) and condition1 == true and Condition1[1] == False Then { var1 = var1+1; LL = L[2]; CL = C; VV[0] = 1; For cnt = 1 to 19 { VV[cnt] = VV[cnt-1][1]; } if VV[N-1] != 0 Then { sum = 0; For cnt = 0 to N-1 { sum = sum + VV[cnt]; } } } else { if L < LL Then { var1 = 0; } } if (( var1 == 0 and C < CL and vv[0] ==1) or hh == 0 or C < CS) and condition2 == true and Condition2[1] == False Then { var2 = var2+1; HH = H[2]; CS = C; VV[0] = -1; For cnt = 1 to 19 { VV[cnt] = VV[cnt-1][1]; } if VV[N-1] != 0 Then { sum = 0; For cnt = 0 to N-1 { sum = sum + VV[cnt]; } } } Else { if H > HH Then { var2 = 0; } } #전봉과 현재봉의 영업일이 다르면 당일청산조건 if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; Condition4 = False; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; } if TotalTrades > TotalTrades[1] Then { Condition4 = False; if IsExitName("xl",1) == true or IsExitName("xs",1) == true or IsExitName("stopprofittarget",1) == true then Condition4 = true; } b_vv = vv[4]+vv[3]+vv[2]+vv[1]; 최고점 = highest(h,진입); 최저점 = lowest(l,진입); if sTime > starttime or sTime < Endtime and marketposition == 0 Then { if (b_vv == lb and sum == lp) Then { if condition4 == False Then Buy("b"); if (condition4 == true and TM >= TM[BarsSinceExit(1)]+매매정지) Then Buy("b1"); } if (b_vv == sb and sum == sp) Then { if condition4 == False Then Sell("s"); if (condition4 == true and TM >= TM[BarsSinceExit(1)]+매매정지) Then Sell("s1"); } } if MarketPosition(0) > 0 and C < LL Then ExitLong("xl"); if MarketPosition(0) < 0 and C > HH Then ExitShort("xs"); #타겟청산 SetStopProfittarget(익절,pointstop); SetStopLoss( 손절 ,PointStop);
프로필 이미지
산이보리
2021-04-23
1217
글번호 148322
시스템
답변완료

안녕하세요?

안녕 하세요? 수식 작성중 어려움이 있어 질문드립니다. 사진에 노란색부분에 진입을 한 상황으로 가정하고 설명 드리겠습니다. 진입시 HHH,LLL 파동의 고,저를 변수에 저장 했습니다. if MarketPosition >= 0 then { HHH = 고[1,1]; LLL = 저[1,1]; P7 = tx7+((tx9-tx10)*AAA); } 그이후 녹색상황으로 진행시 고,저가 변경됨니다. 녹색상황으로 진행되더라도 진입시점의 HHH,LLL의 변수가 변경되지 않도록 수식이 가능 할까요? 가능하다면 수식 작성 부탁드립니다. 감사합니다. ------------------------------------------------------------------ input : AAA(0.618); var : HHH(0),LLL(0),P8(0),P7(0),P6(0),P3(0),P2(0),P1(0); If Value2 == 1 and tx7 < L and 고[2,1] <고[1,1] Then { Buy("tx7",AtLimit,tx7); ExitLong("p7",AtLimit,P7,"tx7"); if MarketPosition >= 0 then { HHH = 고[1,1]; LLL = 저[1,1]; P7 = tx7+((tx9-tx10)*AAA); } } if 저[2,1] >=L Then { ExitLong("x"); }
프로필 이미지
상중하
2021-04-23
1146
글번호 148321
시스템
답변완료

수식 부탁드리겠습니다

안녕하세요 주식 종목검색을 할때 예를들어 if CrossUp( ma(C,5), ma(C,20) ) Then find(1); 이럴경우 5이평선이 20이평선을 돌파한 모든 종목이 검색되는데 이것을 하루나 이틀전에 돌파한 것만 검색하거나 또는 5이평선이 20 이평선에 근접한 종목만을 검색하는 수식을 만들수 있을까요? 감사합니다.
프로필 이미지
future
2021-04-23
1132
글번호 148318
종목검색
답변완료

수식 부탁드립니다

수고해 주셔서 감사드립니다. 아래의 조건에 따른 매매식 부탁을 드립니다. 매도조건 60분봉 상태 1. 5일 지수이동평균과 20일 지수이동평균 역배열 상태 2. 5일 지수이동평균 > 60분봉 현재가 3분봉 상태 1. 5일 지수이동평균과 10일 이동평균과 20일 이동평균 역배열 상태 2. 10일 이동평균 > 고가 > 5일 이동평균 AND 5일 이동평균 > 종가 3. 60분봉 조건과 3분봉 1번과 2번 조건 만족시 종가 매도 손절 1. 조건봉 직전 10켄들의 고점 익절 1. 조건봉 직전 10켄들의 고점과 저점의 폭 매수조건 60분봉 상태 1. 5일 지수이동평균과 20일 지수이동평균 정배열 상태 2. 60분봉 현재가 > 5일 지수이동평균 3분봉 상태 1. 5일 지수이동평균과 10일 이동평균과 20일 이동평균 정배열 상태 2. 시가 > 5일 이동평균 AND 5일 이동평균 > 저가 > 10일 이동평균 3. 60분봉 조건과 3분봉 1번과 2번 조건 만족시 종가 매수 손절 1. 조건봉 직전 10켄들의 저점 익절 1. 조건봉 직전 10켄들의 고점과 저점의 폭 감사드립니다.
프로필 이미지
황금룰
2021-04-23
1176
글번호 148317
시스템
답변완료

수식 질문드립니다.

1분봉 c2 참조 data의 최근 3개봉 구간의 최고점 최저점 차이를 그리고 싶습니다. 부탁드립니다.
프로필 이미지
캣피쉬
2021-04-23
1013
글번호 148311
지표
답변완료

수식 부탁드립니다.

진입후 maketposition =1 일 경우 Entryprice 이 있는데 청산된후 maketposition =0 일 경우 Entryprice 이 사라지는데 두번째 매매시까지 Entryprice 을 어떤 변수에 기억하고 싶습니다..청산도 같은 방법으로 기억하고 싶어요 즉 1번째 진입한 Entryprice 값을 두번째매매까지 기억하고싶고 첫번째 청산된 exitprice 값을 두번째 진입까지 기억하는 방법을 할려주시면 감사하겠습니다.
프로필 이미지
구름달
2021-04-23
1095
글번호 148309
시스템

캣피쉬 님에 의해서 삭제되었습니다.

프로필 이미지
캣피쉬
2021-04-23
0
글번호 148308
시스템
답변완료

수정 의뢰 드립니다!

안녕하세요! 아래는 어제 만들어 주신 지표인데 빠트린 부분이 있어서 제가 직접 한번 만들어 보았는데 데이터가 안불러와지는 걸 확인했습니다. 1. 제가 원하는건 data1 = 콜427 현재가 라고 가정 했을때 data2 = 풋430 현재가 / data3 = 풋427 현재가 / data4 = 풋425 현재가 입니다. 즉, 수식조건은 = (data1 현재가+ data2 현재가 / 2) , (data1 현재가+ data3 현재가 / 2) , (data1 현재가+ data4 현재가 / 2) 이렇게 3종류선 + 시가 + 전일 고가와 저가, 당일 상대등가격의 고가와 저가를 선으로 나타내고 싶습니다. 2. 그리고 챠트에 어제 날짜의 선들도 계속 화면에 나타나서 복잡한데, 당일의 선들만 화면에 표시 되면 매매에 많은 도움이 될것 같습니다! 수정 좀 부탁드립니다! var : cnt(0,Data1); var : v1(0,Data1),v2(0,Data1),v3(0,Data1),v4(0,Data1); var : tl1(0,Data1),tl2(0,Data1),tl3(0,Data1),tl4(0,Data1); var : tx1(0,Data1),tx2(0,Data1),tx3(0,Data1),tx4(0,Data1); #(Data1+Data2)/2; v1 = (Data1(c)+Data2(c))/2; #(Data1+Data3)/2; v2 = (Data1(c)+Data3(c))/2; #(Data1+Data4)/2; v3 = (Data1(c)+Data4(c))/2; #(Data1+Data4)/2; v4 = (Data1(c)+Data5(c))/2; For cnt = 0 to 10 { Text_Delete(tx1[cnt]); Text_Delete(tx2[cnt]); Text_Delete(tx3[cnt]); Text_Delete(tx4[cnt]); TL_Delete(tl1[cnt]); TL_Delete(tl2[cnt]); TL_Delete(tl3[cnt]); TL_Delete(tl4[cnt]); } tx1 = Text_New(NextBarSdate,NextBarStime,v1,NumToStr(v1,2)); tx2 = Text_New(NextBarSdate,NextBarStime,v2,NumToStr(v2,2)); tx3 = Text_New(NextBarSdate,NextBarStime,v3,NumToStr(v3,2)); tx4 = Text_New(NextBarSdate,NextBarStime,v4,NumToStr(v4,2)); tl1 = TL_New(sDate,sTime,v1,NextBarSdate,NextBarStime,v1); tl2 = TL_New(sDate,sTime,v2,NextBarSdate,NextBarStime,v2); tl3 = TL_New(sDate,sTime,v3,NextBarSdate,NextBarStime,v3); tl4 = TL_New(sDate,sTime,v4,NextBarSdate,NextBarStime,v4); TL_SetColor(tl1,BLACK);#콜427+ 풋430/2 TL_SetColor(tl2,BLUE);#콜427+풋427/2 중심가 TL_SetColor(tl3,BLACK);#콜427+풋425/2 TL_SetColor(tl4,BLACK);##콜427+풋432/2 TL_SetExtLeft(TL1,true); TL_SetExtLeft(TL2,true); TL_SetExtLeft(TL3,true); TL_SetExtLeft(TL4,true); TL_SetExtRight(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); Plot1(DayOpen); plot2(data3(highd(1)));//타종목의 전일 고가 plot3(data3(LowD(1)));//타종목의 전일 저가 Plot4((DayHigh+DayLow)/2); Plot5(DayHigh(1)); Plot6(DayLow(1));
프로필 이미지
qha71
2021-04-23
1116
글번호 148307
지표