커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

전환좀 부탁드립니다

수식1 x=sum(c*v); z=valuewhen(1, date != date(1) , X(1)); x1=sum(v); z1=valuewhen(1, date != date(1) , X1(1)); (x-z)/(x1-z1) 수식2 shift((highest(high,shortPeriod)+lowest(low,shortPeriod)+highest(high,midPeriod)+lowest(low,midPeriod))/4,midPeriod-1); 지표추가 설정 shortPeriod/9 midPeriod/26
프로필 이미지
임진사댁원장
2023-07-30
1752
글번호 171045
지표
답변완료

data2 atstop 으로 data1 매매 방법 질문

data1과 data2를 이용하여 매매 전략을 구사하는데 질문 1) 매매질문 data2(close) 가 TradePrice에 도달하면 data1의 매수를 하려고 하는데 어떻게 해야 하나요 ? 질문 2) 이때 data2(close) 가격 data2(close)가격을 변수에 저장하려고 하는데 어떻게 해야 하나요 ?
프로필 이미지
보스친구
2023-07-30
1365
글번호 171044
시스템

보스친구 님에 의해서 삭제되었습니다.

프로필 이미지
보스친구
2023-07-30
0
글번호 171043
시스템
답변완료

송구스럽습니다. 가르쳐 주시면 감사하겠습니다.

더위에 수고가 많으십니다. if CrossUp(c,A+0.3) Then ExitShort("손절", OnClose) ; if CrossDown ( c, A) and count<횟수 Then { count=count+1; Sell("S", OnClose,def,n); } if CrossUp(c,A-0.5) Then ExitShort("중도반환", OnClose) ; 위 식에서 중도반환이 일어나면 시스템이 끝나게 하는 방법은 무엇인가요? 감사합니다
프로필 이미지
hunter33
2023-07-30
1627
글번호 171042
지표
답변완료

수식 문의

5분봉 기준으로 RSI 30에 최초 매수, RSI 20에 추가 매수, RSI 70에 전량 매도 하는 자동매매수식 작성 부탁드립니다.
프로필 이미지
골드13
2023-07-30
1290
글번호 171041
시스템
답변완료

수정부탁 합니다.

시스템 신호가 봉에서 좀 벌어 졌으면 좋은데 수정 가능 할까요? Var : value(0); value = 0; # 매수 / 매도청산 If CCI(9) > 0 Then value = 1; If MACD(12,26) > 0 Then value = value+1; If DIPlus(14) > DIMinus(14) Then value = value+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value = value+1; # 매수/매도청산 If MarketPosition <= 0 And value >= 3 Then { Buy("매수"); } value = 0; # 매도/매수청산 If CCI(9) < 0 Then value = 1; If MACD(12,26) < 0 Then value = value+1; If DIPlus(14) < DIMinus(14) Then value = value+1; If StochasticsK(12,5) < StochasticsD(12,5,5) Then value = value+1; If MarketPosition >= 0 And value >= 3 Then { Sell("매도"); } if MarketPosition == 1 And H[2] == highest(H,5)[1] and H[2] > max(C[2],O[2]) and V[2] >= 5000 and C[0] < C[2] Then exitlong("매수분 올청산"); if MarketPosition == -1 And L[2] == Lowest(L,5)[1] and H[1] > max(C[1],O[1]) and V[1] >= 5000 and C[0] > C[1] Then ExitShort("매도분 올청산"); if MarketPosition <= 0 And L[1]==LOWEST(L,5) and C[1]<O[1] and C[1]>L[1] and O[0]>L[0] and C[1]==O[0] and L[1]==L[0] and C[0]>O[0] and v>2500 Then buy("집게발 매수"); if MarketPosition >= 0 And H[1]==highest(H,5) and C[1]>O[1] and C[1]<H[1] and O[0]<H[0] and C[1]==O[0] and H[1]==H[0] and C[0]<O[0] and v > 2500 Then sell("집게발 매도"); input : Period(6); Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열 Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열 var : cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0),HTX(0),LTX(0); HPrice = H; LPrice = L; if Index == 0 Then { //초기 최고값 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //초기 최저값 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; } Else { UpTrend = HPrice >= Highest(HPrice,Period)[1]; DownTrend = LPrice <= Lowest(LPrice,Period)[1]; //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; if (MarketPosition == 0 ) or (MarketPosition == -1 and PositionProfit(0) >= 0) Then Buy("메수전황"); if MarketPosition == -1 and PositionProfit(0) < 0 Then ExitShort("수평매수"); //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //직전 저점에서 현재 고점까지 연결선 출력 ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]); //색상은 Red TL_SetColor(ZigZagTL,Yellow); //추세선 굵기는 1 TL_SetSize(ZigZagTL,0); HTL = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL_SetColor(HTL,Red); TL_SetSize(htl,2); HTX = text_new(HD[0],HT[0],HV[0],NumToStr(HV[0],2)); Text_SetStyle(HTX,2,1); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; if (MarketPosition == 0 ) or (MarketPosition == 1 and PositionProfit(0) >= 0) Then Sell("매도전황"); if MarketPosition == 1 and PositionProfit(0) < 0 Then ExitLong("수평매도"); //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //직전 고점에서 현재 저점까지 연결선 출력 ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]); //색상은 Blue TL_SetColor(ZigZagTL,Yellow); //굴긱는 1 TL_SetSize(ZigZagTL,0); LTL = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(LTL,Blue); TL_SetSize(ltl,2); LTX = text_new(LD[0],LT[0],LV[0],NumToStr(LV[0],2)); Text_SetStyle(LTX,2,0); } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]); //고점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(HTL,HD[0],HT[0],HV[0]); Text_SetString(HTX,NumToStr(HV[0],2)); Text_SetLocation(HTX,HD[0],HT[0],HV[0]); } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]); //저점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(LTL,LD[0],LT[0],LV[0]); Text_SetString(LTX,NumToStr(LV[0],2)); Text_SetLocation(LTX,LD[0],LT[0],LV[0]); } } TL_SetEnd(HTL,sDate,sTime,HV[0]); TL_SetEnd(LTL,sDate,sTime,LV[0]); } } SetStopLoss(PriceScale*20,PointStop); SetStopEndofday(153500);
프로필 이미지
시그너스
2023-07-30
1418
글번호 171040
시스템
답변완료

시스템이 시뮬레이션 차트에서는 작동하지 않습니다.

안녕하세요 항상 감사드립니다. 특정 지표를 사용하는 몇몇 전략들이 시뮬레이션 차트에서는 적용이 되지 않습니다.(손익 그래프가 나타나지 않음) 사용자 함수가 아닌, 시스템 식에서 해당 지표를 계산해서 사용하고 있습니다. for 문이 들어가긴 하는데, 어떻게 해야 시뮬레이션 차트에서도 해당 지표를 사용해서 손익 그래프가 잘 뜨게 할 수 있나요??
프로필 이미지
이만스닥
2023-07-29
1215
글번호 171039
시스템
답변완료

수식 문의드립니다.

종목검색식에서 5가지 수식을 포함하고 있을 경우에 Input : Var : 수식 A 수식 B 수식 C 수식 D 수식 E //전부 만족 시 IF A && B && C && D && E then Find(1); => 조건 수식이 3개 이상 만족하는 종목만 찾고 싶을 때 A+B+C+D+E >= 3 만족한 수식에 해당하는 종목만 검색하고 싶을 때 수식을 알고 싶습니다. 수식 3개&&4개&&5개를 만족하는 종목
프로필 이미지
꿀떡
2023-07-29
1037
글번호 171038
종목검색
답변완료

파생상품 개장시간 변경 관련 시스템 변경 문의

코스피200 선물 4분봉을 주차트로 하고, 보조로 kp200선물 외국인순매수 수량을 보조로 하는 시스템하나와, 코스피200 선물 4분봉을 주차트로 하고, 보조로 KP 개인 순매수금액을 보조로 하는 시스템을 운용중에 있습니다. 이 두 시스템은 모두 dayindex()==0 일때, 즉 첫봉에서 신호가 나오도록 설정되어있는데, 개장시간이 9시에서 8시45분으로 바뀌면서 기존처럼 9시 4분에 신호가 나오도록 할려면 어떻게 해야 되는지 잘 모르겠습니다. 분봉을 19분봉으로 바꾸거나, 1분봉을 주차트로 하면서 9시4분(stime==90400)에 신호가 나오도록 수정할려고 해봤더니, 기존에 4분봉에서 나오는 신호와 신호가 달라져서 이렇게 하면 안될것 같은데, 기존 9시 개장이고, 4분봉으로 운용할때와 똑같은 시점에 신호가 나오게 할려면 어떻게 해야되는지 알려주시면 감사하겠습니다.
프로필 이미지
원더뿌리
2023-07-29
959
글번호 171037
시스템
답변완료

국내주식 매매 수식부탁드림니다. (하락시마다 분할 매수 수식 요청)

기존 매도 수식을 반영해서 매수 수식과 매도 수식을 알려주심 감사하겠습니다. 주식:삼성전자 차트:60분봉 매수 조건 하락할때 일정 분할 매수 전략 해당 조건에 추가매수 1회만 진행 (같은 조건에서 추가로 매수되지 않게 ) 예를 들어 매수가에 -2%하락시 20주 매수 후 상승후 또 -2%하락할때 추가로 매수되지 않게 1. 현재가가 이동평균선 600분봉(변수로 지정요청) 이하일때 10주 매수 2. 최초 매수가에서 -2% 하락할때 20주 매수 3. 최초 매수가에서 -4% 하락할때 30주 매수 4. 최초 매수가에서 -6% 하락할때 40주 매수 5. 최초 매수가에서 -8% 하락할때 50주 매수 6. 최초 매수가에서 -10% 하락할때 60주 매수 매도 조건 수익구간마다 일정청산 버전 .. 아래 수식 적용 if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { XV = CurrentContracts; cond = False; } if C >= AvgEntryPrice*(1+1.01) and sTime == 110000 Then { if XV >= 100 Then vol = Floor(XV*0.01); # 계약수가 100개 이상일때 1% 분할매도 else if XV < 100 and XV >= 50 Then vol = Floor(XV*0.02); # 계약수가 50개~100 일때 2% 분할매도 else if XV < 50 and XV >= 20 Then vol = Floor(XV*0.05); # 계약수가 20개~50 일때 5% 분할매도 else if XV < 20 and XV >= 10 Then vol = Floor(XV*0.10); # 계약수가 10개~20 일때 10% 분할매도 Else vol = Floor(XV*0.50); # 계약수가 10개이하 일때 50% 분할매도 ExitLong("bx",OnClose,Def,"",vol,2); } } Else cond = False;
프로필 이미지
이형지
2023-07-29
1103
글번호 171036
시스템