커뮤니티

생각했던것을 알고리즘화 활수있는지요

프로필 이미지
추세신호
2018-09-16 21:32:53
244
글번호 122091
답변완료
아래 신호 수식은 키움에서 쓰는 수식입니다. 매수신호수식입니다 A=if(C>O, C,0); S=if(C>O, 1,0); AA=sum(A); SS=sum(S); Asum=valuewhen(1, crossup(time,065959),AA(1)); Ssum=valuewhen(1, crossup(time,065959),SS(1)); 조건=(AA-ASum) !=0 && (SS-Ssum) !=0; 양=if(조건, (AA-ASum)/(SS-Ssum), DayOpen()); Ab=if(C<O, C,0); Sb=if(C<O, 1,0); AAb=sum(Ab); SSb=sum(Sb); Asumb=valuewhen(1, crossup(time,065959),AAb(1)); Ssumb=valuewhen(1, crossup(time,065959),SSb(1)); 조건b=(AAb-ASumb) !=0 && (SSb-Ssumb) !=0; 음=if(조건b, (AAb-ASumb)/(SSb-Ssumb), DayOpen()); crossup(C,Max(양,음)) 매도신호수식입니다 A=if(C>O, C,0); S=if(C>O, 1,0); AA=sum(A); SS=sum(S); Asum=valuewhen(1, crossup(time,065959),AA(1)); Ssum=valuewhen(1, crossup(time,065959),SS(1)); 조건=(AA-ASum) !=0 && (SS-Ssum) !=0; 양=if(조건, (AA-ASum)/(SS-Ssum), DayOpen()); Ab=if(C<O, C,0); Sb=if(C<O, 1,0); AAb=sum(Ab); SSb=sum(Sb); Asumb=valuewhen(1, crossup(time,065959),AAb(1)); Ssumb=valuewhen(1, crossup(time,065959),SSb(1)); 조건b=(AAb-ASumb) !=0 && (SSb-Ssumb) !=0; 음=if(조건b, (AAb-ASumb)/(SSb-Ssumb), DayOpen()); crossdown(C,Min(양,음)) 이걸 자동매매(예스트레이더)로 구현할수있을까요? 제가예스언어도모르고해서 문의드려봅니다 추가수식은 넣는다면 1.트레이딩설정시간을 넣을수있게하는게좋을거같습니다 예)오전10시부터 새벽5시까지 등 2. 손절 틱수를 정할수있도록 넣으면좋을거같습니다 (예30틱등) 3. 반대로 익절틱수를 넣는것도 좋을거같습니다 (예30틱) 4 당일거래하는 시스템을생각하고 있어서 1번의 트레이딩설정시간내 누적 이익틱수가 어느정도 나왔다면 이후 진입시그널이나오더라도 트레이딩을 마치는 로직이추가되면 좋을거같습니다 예를들면 누적이익틱수 30틱 도달시 거래끝 5.스위칭기능또한 있어야겠는데요 이익틱수 또는손절틱수 미도달시 반대진입조건이 만족하면 현재매수 진입상태에서 청산과동시에 매도로 포지션을변경하는것도 필요해보입니다 위사항을 예스언어로구현가능할까요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-09-17 14:40:31

안녕하세요 예스스탁입니다. input : starttime(100000),endtime(050000),익절틱수(30),손절틱수(30); Input : 당일누적이익틱수(30); Var : N1(0),dayPl(0),당일이익(0),Xcond(false); var : A(0),S(0),AA(0),SS(0),조건(false),양(0); var : Asum(0),Ssum(0),Ab(0),Sb(0),AAb(0),SSb(0); var : Asumb(0),Ssumb(0),조건b(false),음(0); var : Tcond(false); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; Xcond = false; N1 = NetProfit; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } 당일이익 = PriceScale*당일누적이익틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; A=iff(C>O, C,0); S=iff(C>O, 1,0); AA = Accum(A); SS = Accum(S); if crossup(time,065959) Then { Asum = AA[1]; Ssum = SS[1]; } 조건 = (AA-ASum) !=0 && (SS-Ssum) !=0; 양 = iff(조건, (AA-ASum)/(SS-Ssum), DayOpen()); Ab = iff(C<O, C,0); Sb = iff(C<O, 1,0); AAb = Accum(Ab); SSb = Accum(Sb); if crossup(time,065959) then { Asumb = AAb[1]; Ssumb = SSb[1]; } 조건b = (AAb-ASumb) !=0 && (SSb-Ssumb) !=0; 음 = iff(조건b, (AAb-ASumb)/(SSb-Ssumb), DayOpen()); if Tcond == true and Xcond == false then { if crossup(C,Max(양,음)) Then buy(); if crossdown(C,Min(양,음)) Then sell(); } if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일이익-daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일이익-daypl)/CurrentContracts)); } SetStopLoss(PriceScale*손절틱수,PointStop); SetStopProfittarget(PriceScale*익절틱수,PointStop); 즐거운 하루되세요 > 추세신호 님이 쓴 글입니다. > 제목 : 생각했던것을 알고리즘화 활수있는지요 > 아래 신호 수식은 키움에서 쓰는 수식입니다. 매수신호수식입니다 A=if(C>O, C,0); S=if(C>O, 1,0); AA=sum(A); SS=sum(S); Asum=valuewhen(1, crossup(time,065959),AA(1)); Ssum=valuewhen(1, crossup(time,065959),SS(1)); 조건=(AA-ASum) !=0 && (SS-Ssum) !=0; 양=if(조건, (AA-ASum)/(SS-Ssum), DayOpen()); Ab=if(C<O, C,0); Sb=if(C<O, 1,0); AAb=sum(Ab); SSb=sum(Sb); Asumb=valuewhen(1, crossup(time,065959),AAb(1)); Ssumb=valuewhen(1, crossup(time,065959),SSb(1)); 조건b=(AAb-ASumb) !=0 && (SSb-Ssumb) !=0; 음=if(조건b, (AAb-ASumb)/(SSb-Ssumb), DayOpen()); crossup(C,Max(양,음)) 매도신호수식입니다 A=if(C>O, C,0); S=if(C>O, 1,0); AA=sum(A); SS=sum(S); Asum=valuewhen(1, crossup(time,065959),AA(1)); Ssum=valuewhen(1, crossup(time,065959),SS(1)); 조건=(AA-ASum) !=0 && (SS-Ssum) !=0; 양=if(조건, (AA-ASum)/(SS-Ssum), DayOpen()); Ab=if(C<O, C,0); Sb=if(C<O, 1,0); AAb=sum(Ab); SSb=sum(Sb); Asumb=valuewhen(1, crossup(time,065959),AAb(1)); Ssumb=valuewhen(1, crossup(time,065959),SSb(1)); 조건b=(AAb-ASumb) !=0 && (SSb-Ssumb) !=0; 음=if(조건b, (AAb-ASumb)/(SSb-Ssumb), DayOpen()); crossdown(C,Min(양,음)) 이걸 자동매매(예스트레이더)로 구현할수있을까요? 제가예스언어도모르고해서 문의드려봅니다 추가수식은 넣는다면 1.트레이딩설정시간을 넣을수있게하는게좋을거같습니다 예)오전10시부터 새벽5시까지 등 2. 손절 틱수를 정할수있도록 넣으면좋을거같습니다 (예30틱등) 3. 반대로 익절틱수를 넣는것도 좋을거같습니다 (예30틱) 4 당일거래하는 시스템을생각하고 있어서 1번의 트레이딩설정시간내 누적 이익틱수가 어느정도 나왔다면 이후 진입시그널이나오더라도 트레이딩을 마치는 로직이추가되면 좋을거같습니다 예를들면 누적이익틱수 30틱 도달시 거래끝 5.스위칭기능또한 있어야겠는데요 이익틱수 또는손절틱수 미도달시 반대진입조건이 만족하면 현재매수 진입상태에서 청산과동시에 매도로 포지션을변경하는것도 필요해보입니다 위사항을 예스언어로구현가능할까요?