커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

함수요청

안녕하세요? 아래의 전략에 대해 스크립트 작성 요청드립니다. 국내선물 5분봉으로 일중거래를 하고자 합니다. [1] Macd와 시그널이 모두 0보다 크고 Macd가 시그널을 하향돌파 하되(Macd 오실레이터 0전환) 당일 누적으로 세번째 교차하면 익봉 시가에 매도 Macd와 시그널이 모두 0보다 작고 Macd가 시그널을 상향돌파 하되(Macd 오실레이터 0전환) 당일 누적으로 세번째 교차하면 익봉 시가에 매수 매도 진입 후 Macd와 시그널이 모두 0보다 작고 Macd가 시그널을 상향돌파 하면(Macd 오실레이터 0전환) 익봉 시가에 매도청산 매수 진입 후 Macd와 시그널이 모두 0보다 크고 Macd가 시그널을 하향돌파 하면(Macd 오실레이터 0전환) 익봉 시가에 매수청산 매수든 매도든 진입기준으로 최대 1회입니다. 15시 20분 강제청산입니다. [2] Macd와 시그널이 모두 0보다 크고 Macd가 시그널을 하향돌파 하되(Macd 오실레이터 0전환) 당일 누적으로 세번째 교차하면 익봉 시가에 매도 Macd와 시그널이 모두 0보다 작고 Macd가 시그널을 상향돌파 하되(Macd 오실레이터 0전환) 당일 누적으로 세번째 교차하면 익봉 시가에 매수 매도진입 후 Macd와 시그널이 모두 0보다 작고 Macd가 시그널을 상향돌파 하되(Macd 오실레이터 0전환) 진입 이후에 세번째 교차하면 익봉 시가에 매도청산 매수진입 후Macd와 시그널이 모두 0보다 크고 Macd가 시그널을 하향돌파 하되(Macd 오실레이터 0전환) 진입 이후에 세번째 교차하면 익봉 시가에 매수청산 매수든 매도든 진입기준으로 최대 1회입니다. 15시 20분 강제청산입니다.
프로필 이미지
흰둥이아빠
2023-04-19
1246
글번호 168311
시스템
답변완료

문의드립니다 ㅠ

첫번째 질문입니다 Data1 : 삼전 1분봉 차트 Data2 : 삼전 일봉 차트 매수해서 보유하고 있는 상황이라고 가정하고, 아래 1번과 2번의 차이는, NextBarStime >= 151000 인지 stime >= 151000 인지 밖에 없는데 복사붙여넣기해서 1번을 해보면 아예 작동이 안되고 2번을 해보면 작동이 잘 됩니다. '이번봉시간', '다음봉시간'이라 별 차이가 없을 것 같은데 왜 그럴까요? 1번 Else if MarketPosition==1 and stime >= 151000 and NextBarSdate == sDate Then SetStopLoss( 1*Data2(ATr(20)) , PointStop ); Else SetStopLoss(0); 2번 Else if MarketPosition==1 and NextBarStime >= 151000 and NextBarSdate == sDate Then SetStopLoss( 1*Data2(ATr(20)) , PointStop ); Else SetStopLoss(0); -------------------------------------------- 두번째 질문입니다. 위의 것과 연계된 질문인데.... 피라미딩을 하게 되면 첫진입 -> 피라미딩1 -> 피라미딩2 이런식으로 진행이 될때, 최초 진입한 경우, 최초진입가 - 1*Data2(ATr(20)) 가 되면 전부 청산하고 이와 별개로 따로 강제청산을 설정해줬습니다 (진입가보다 (2*Data2(ATr(20)) 이상 떨어지면 강제청산) 최초 진입한 물량(피라미딩 하기 전)의 손절선은, 최초 진입가격 - 1*Data2(ATr(20)가 되고, 이후 가격이 상승하면서 피라미딩한 물량들의 강제청산 손절선은, 개별 진입가격 - 2*Data2(ATr(20))으로 하고자 했습니다 Data1 : 삼전 1분봉 차트 Data2 : 삼전 일봉 차트 if MarketPosition==1 and Stime >= 151000 and NextBarSdate == sDate Then { ExitLong("최초손절", atstop, EntryPrice - 1*Data2(ATr(20)) ); } Else if MarketPosition==1 and Stime >= 151000 and NextBarSdate == sDate Then SetStopLoss( 2*Data2(ATr(20)) , PointStop ); Else SetStopLoss(0); 여기서도 Stime이 아니라 NextBarStime으로 하면 작동이 됩니다 (왜 그런지 1번 질문에 여쭤봤습니다) 근데 최초손절에도 NextBarStime을 설정하고 / 강제청산에도 NextBarStime을 설정하면 최초손절만 작동하고 else if에 있는 강제청산은 작동하지 않습니다. 이게 이해가 안되서 질문 남깁니다 ㅠㅠ 둘다 잘 작동하게 하려면 어찌해야할까요....
프로필 이미지
루라라라
2023-04-19
1006
글번호 168305
시스템
답변완료

문의드립니다

1분봉 기준으로 주식 차트를 보면, 3시 17분봉, 18분봉, 19분봉, 20분봉 -> 동시호가 -> 31분봉(확정된 종가) 이렇게 나타납니다 Data1 : 해당 종목의 1분봉 차트 Data2 : 해당 종목의 일봉 차트 (전일부터 20일간 고가를 판단하기 위함) if MarketPosition==0 and stime >= 151000 Then { Buy("진입", AtStop, Data2(highest(C,20)), 수량 ); } 이렇게 식을 짰을때, 20분봉까지는 실시간 현재가가 Data2(highest(C,20))를 넘지못하다가, 31분봉째 확정된 종가가 Data2(highest(C,20))를 넘어섰다면 1. 다음날 아침 9시 이후(9시? 9시1분?)에 buy 주문이 들어가는지요? 2. 주문이 안들어간다면, 주문이 들어가게 하려면 어떻게 식을 만들어야할까요? : 분봉차트에서 마지막 확정된 종가(31분봉)가 Data2(highest(C,20))를 넘어섰을때, 다음날 개장할때쯤(9시나 9시1분) buy주문이 되도록 하고 싶습니다.
프로필 이미지
루라라라
2023-04-19
778
글번호 168304
시스템
답변완료

문의드립니다

분봉차트상에서 일간수익률(예를 들어 일봉 종가과 종가기준으로 0.01 0.002... 장중 수익률은 계산하지 말고 장중이라면 전일의 수익률까지만)의 N일 표준편차를 계산해내는 식을 짜주시면 매우 감사하겠습니다.
프로필 이미지
시고르시고르
2023-04-19
955
글번호 168303
지표
답변완료

문의

그물망 차트에서 상한선 상승돌파할때 매수 하한선 하락돌파할때 매도 부탁드리고요 또한 input : period(5),interval(5); var : Hval(0),cnt(0); array : value[10](0); value[1] = ma(C, period); value[2] = ma(C, period+interval*1); value[3] = ma(C, period+interval*2); value[4] = ma(C, period+interval*3); value[5] = ma(C, period+interval*4); value[6] = ma(C, period+interval*5); value[7] = ma(C, period+interval*6); value[8] = ma(C, period+interval*7); value[9] = ma(C, period+interval*8); Hval = 0; for cnt = 1 to 9{ if Hval > value[cnt] then Hval = value[cnt]; } if crossup(C,Hval) then find(1); 검증해보니, interval.이 문제가 있다고 나오는데 식 수정부탁드릴꼐요..
프로필 이미지
엉덩공주
2023-04-18
1212
글번호 168302
시스템
답변완료

수식 문의 드립니다.

매수 : cci(9.10)에서 cci가 시그날을 상향시 매수 cci가 100을 상향시 매수 매도: cci가 100을 하향시 매도 즉시 손절 손절은 cci가 100 아래에 있고 10% 이하로 하향시 즉시 손절
프로필 이미지
기관장
2023-04-18
1056
글번호 168301
시스템
답변완료

수고많으십니다. 수식수정부탁드립니다.

/*수고많으십니다. 수식작성 왕초보입니다. 기본차트와 종목추가(Data2)두종목의 체결정보를 수동으로 입력하고, 두종목의 손익의 합이 일정금액이상이면 두종목 모두 동시청산을 하고 재진입 안되도록 수동입력정보를 (0)으로 리셋하는 시스템을 만드는 것이 목표입니다.*/ Inputs: 보유포지션(1), 보유수량(2), 체결가격(13,270.50),호가(0.25),틱가치(5),목표수익(500),보유포지션2(-1), 보유수량2(2), 체결가격2(2),호가2(0.01),틱가치2(10); //기본차트 //기본챠트 매도인지매수인지 포지션현황 MarketPosition==(보유포지션); //기본챠트 보유수량 CurrentContracts==(보유수량); //기본챠트 체결가격 EntryPrice==(체결가격); //기본차트의 가격차이 진입가격이 13,270.50이고 기본차트 종가가 13,300.50 이라면 차이나는 지수는 30 var1=MarketPosition-c; //차이나는 지수30 이나 호가0.25 이므로 120포인트로 환산한다. Var2=var1/호가; //수익포인트 120에 틱가치5달러를 하면 기본챠트수익이 600달러 Var3=Var2 *(틱가치); //보조챠트 //보조챠트 매도인지매수인지 포지션현황 var21=data2(MarketPosition==(보유포지션)); //보조챠트 보유수량 data2(CurrentContracts==(보유수량)); //보조챠트 체결가격 data2(EntryPrice==(체결가격)); //보조차트의 가격차이 진인가격이 80.00이고 기본차트 종가가 80.10이라면 차이나는지수는 0.10 var11=var21-data2(c); //차이나는 지수0.10이나 호가0.01이므로 10포인트로 환산한다. Var12=var11/호가; //손실포인트 10에 틱가치10달러를 하면 보조챠트손익이 100달러 Var13=Var12 *(틱가치); //기본챠트수익과 보조챠트손실 합계 수익500달러 var14=var3+var13; //목표수익발생되었으므로 두종목포지션 일괄동시청산 //기본챠트 청산 if 목표수익>=500 and MarketPosition==1 Then { Sell(); } if 목표수익>=500 and MarketPosition==-1 Then { Buy(); } //보조챠트 청산 if 목표수익>=500 and Var21==1 Then { Sell(); } if 목표수익>=500 and Var21==-1 Then { Buy(); } /*질문 : 1. 위와같이 수식을 작성하는 것이 맞는지 검토 부탁드립니다. 2. 포지션이 여러개인경우 청산수식 부탁드립니다. 3. 포지션이 쳥산된 경우 수동입력값을 (0)으로 리셋하는 수식 부탁드립니다.*/ 검증시 에러가 나네요 줄수6 열수 37 배열형 입력변수는 함수에서만 쓸수 있습니다. 줄수6 열수 48 문번에러, 잘몰된 토큰:comma(,)올 수 있는 것 줄수30 열수1 뒤의수식에는 데이터번호가 일요 없습니다. 감사합니다.
프로필 이미지
멋진감자
2023-04-18
662
글번호 168300
시스템

kns 님에 의해서 삭제되었습니다.

프로필 이미지
kns
2023-04-18
25
글번호 168299
지표
답변완료

함수요청

안녕하세요? 아래 글번호 81738번 재질문입니다. 아래의 스크립트에 답변주신 내용을 적용하고자 합니다. 스크립트 수정 부탁드립니다. (아래에 전략에 추가적으로 청산이 손실일 경우에만 익봉에 반대로 진입하고 진입했던 봉만큼 보유하고 청산(5개봉)) Condition1 = var1 < Var2 ; Condition2 = var1 > Var2; if NextBarSdate != sDate Then { if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition2 == true Then Buy("b1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and condition2 == true then Buy("b2",AtMarket); } if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition1 == true Then Sell("s1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and condition1 == true Then Sell("s2",AtMarket); } } if MarketPosition == 1 and BarsSinceEntry == 5 Then ExitLong("bx",AtMarket); if MarketPosition == -1 and BarsSinceEntry == 5 Then ExitShort("sx",AtMarket);
프로필 이미지
흰둥이아빠
2023-04-18
577
글번호 168294
시스템
답변완료

부탁드립니다

수고하십니다. 분봉챠트에 일봉,주봉,월봉지표를 출력하고 싶습니다. 1. rsi(14) siganl(9) 2. 후행스팬(9,26,52), 볼린저밴드(20,2) 3. DIPlus(14), DIMinus(14) 감사합니다.
프로필 이미지
당일선물
2023-04-18
1084
글번호 168292
지표