커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식작성

Inputs: PercentRLen(10), OverSold(10), OverBought(90), Trigger(62); Variables: PcntR(0), AvgValue(0), Setup1(False), Setup2(False); PcntR = PercentR(PercentRLen); AvgValue = MA(Close, PercentRLen); If PcntR < OverSold Then Setup1 = True; If PcntR > OverBought Then Setup1 = False; If PcntR > OverBought Then Setup2 = True; If PcntR < OverSold Then Setup2 = False; If Setup1 AND AvgValue > AvgValue[1] AND Crossup(PcntR,Trigger) Then Begin Setup1 = False; Buy ("%R_LE"); End; If Setup2 AND AvgValue < AvgValue[1] AND CrossDown(PcntR, Trigger) Then Begin Setup2 = False; Sell ("%R_SE"); End; ---------------------- 위는 PercentR 기본수식어 입니다 이동평균선 460선위에서 sell신호는 바로 buy신호로 이동평균선 460선아래에서는 buy신호는 바로 sell신호로 전환하는 수식어와 460선 아래에서 sell신호중 5선 460선 골든크로스에서 buy로 전환하는 신호와 460선 위에서 buy신호중 5선 460선 데드크로스에서 buy로 전환하는 신호를 부탁드립니다.
프로필 이미지
푸른
2021-04-23
1199
글번호 148325
시스템
답변완료

문의 드립니다

안녕하세요 전날 시초가랑 전날 종가를 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
시스템