커뮤니티

수식문의 드립니다,

프로필 이미지
종호
2024-01-09 09:33:20
511
글번호 175535
답변완료
제목 : 문의드립니다. 최초매수: 무포지션에서 C > MA(C, 20) and C > O and C[1] < O[1] and C > C[1] 이면 4계약 매수합니다. 이 때 최초 매수봉의 저가가 최초 손절가 F 라고 합니다. 최초 손절가 F = 최초 매수봉의 저가 추가매수: 매수가 된 매수포지션 상태에서 가장 최근의 이전 양봉 종가를 구해서 최근 양봉 종가 가격 G 라고 정의하고 현재봉 종가가 양봉으로 끝나고 C > 최근 양봉 종가 가격 G 를 만족하면 4계약을 추가로 피라미딩으로 매수합니다. 위 조건이 계속 만족하면 피라미딩 매수 후 10 단계까지 피라미딩 매수합니다. 손절청산: 매수 후 종가가 아닌 현재가가 최초 손절가 F를 하향하면 모든 계약을 전부 손절청산합니다. 이익청산후 본절가 , 청산가 보정 및 청산 : 모든 매수 단계에서 매수 후 종가가 아닌 현재가가 매수가 대비 80틱 이익이 나면 4계약 매수분의 절반인 2계약을 일부 매도하고 동시에 매수 단계별 본절가 H = 매수 단계별 매수가 가 되도록 하고 청산가 T = 가장 최근의 매수봉의 저가 로 바로 보정합니다. 이후에 언제든지 종가가 아닌 현재가가 매수 단계별 본절가 H 를 하향하면 잔여 2계약만 청산합니다. 그 후에 종가가 아닌 현재가가 더 하락하여 최초 손절가 F 를 하향 하거나 청산가 T 를 하향하면 즉시 모든 단계의 모든 잔여 매수 계약을 전부 일괄 청산합니다. 매도수식: 반대논리로 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-09 10:23:01

안녕하세요 예스스탁입니다. 올려주신 내용은 각 진입별로 분할청산을 하므로 진입별로 진입가와 진입행단계등을 저장하게 나열해서 작성해야 합니다. 업무상 추가진입 10회까지 작성해 드릴수는 없습니다. 2회까지만 작성해 드리므로 수식과 주석내용 참고하셔서 확장하시기 바랍니다. var : P1(0),P2(0),BX(False),L1(0),lastL(0); var : B1(0),BXcond1(false); var : B2(0),BXcond2(false); var : B3(0),BXcond3(false); var : N1(0),N2(0),SX(False),H1(0),LastH(0); var : S1(0),SXcond1(false); var : S2(0),SXcond2(false); var : S3(0),SXcond3(false); if C > O Then { P1 = C; P2 = P1[1]; } #첫매수 if MarketPosition == 0 and C > MA(C, 20) and C > O and C[1] < O[1] and C > C[1] Then { Buy("B1",OnClose,Def,4); B1 = C; BXcond1 = False; #첫매수봉 저가 L1 = L; #마지막 매수봉 저가 LastL = L; } if MarketPosition == 1 Then { #추가매수 if C > O and P1 > P2 Then { #두번째 매수 if MaxEntries == 1 Then { Buy("B2",OnClose,Def,4); B2 = C; BXcond2 = False; #마지막 매수봉 저가 LastL = L; } #세번째 매수 if MaxEntries == 2 Then { Buy("B3",OnClose,Def,4); B3 = C; BXcond3 = False; #마지막 매수봉 저가 LastL = L; } } #첫매수 이후 if MaxEntries >= 1 Then { #첫매수가 +80틱 이상 발생하면 true if H >= B1+PriceScale*80 Then { BXcond1 = true; BX = true; } #False일때 첫매수가+80틱 발생하면 B1진입에서 2계약 청산 if BXcond1 == False Then ExitLong("bx11",AtLimit,B1+PriceScale*80,"B1",2,1); Else#이후 진입가 까지 하락하면 나머지 청산 ExitLong("bx12",AtStop,B1,"B1"); } #두번째매수 이후 if MaxEntries >= 2 Then { #두번째 매수가+80틱 이상 발생하면 true if H >= B2+PriceScale*80 Then { BXcond2 = true; BX = true; } #False일때 두번째 매수가+80틱 발생하면 B2진입에서 2계약 청산 if BXcond2 == False Then ExitLong("bx21",AtLimit,B2+PriceScale*80,"B2",2,1); Else #이후 진입가 까지 하락하면 나머지 청산 ExitLong("bx22",AtStop,B2,"B2"); } #첫매수봉저가 이탈시 모두 청산 ExitLong("bx",AtStop,L1); #일부 익절이후 최근 매수봉 저가 이하가 발생하면 모두 청산 if BX == true Then ExitLong("bx2",AtStop,LastL); } if C < O Then { N1 = C; N2 = N1[1]; } #첫매수 if MarketPosition == 0 and C < MA(C, 20) and C < O and C[1] > O[1] and C < C[1] Then { Sell("S1",OnClose,Def,4); S1 = C; SXcond1 = False; #첫매도봉 고가 H1 = H; #마지막 매도봉 고가 LastH = H; } if MarketPosition == -1 Then { #추가매도 if C > O and N1 < N2 Then { #두번째 매도 if MaxEntries == 1 Then { Sell("S2",OnClose,Def,4); S2 = C; SXcond2 = False; #마지막 매도봉 저가 LastH = H; } #세번째 매도 if MaxEntries == 2 Then { Sell("S3",OnClose,Def,4); S3 = C; SXcond3 = False; #마지막 매도봉 저가 LastH = H; } } #첫매도 이후 if MaxEntries >= 1 Then { #첫매도가 -80틱 이상 발생하면 true if L <= S1-PriceScale*80 Then { SXcond1 = true; SX = true; } #False일때 첫매도가-80틱 발생하면 S1진입에서 2계약 청산 if BXcond1 == False Then ExitShort("sx11",AtLimit,S1-PriceScale*80,"S1",2,1); Else#이후 진입가 까지 상승하면 나머지 청산 ExitShort("sx12",AtStop,S1,"S1"); } #두번째매도 이후 if MaxEntries >= 2 Then { #첫매도가 -80틱 이상 발생하면 true if L <= S2-PriceScale*80 Then { SXcond2 = true; SX = true; } #False일때 두번째매도가-80틱 발생하면 S2진입에서 2계약 청산 if BXcond2 == False Then ExitShort("sx21",AtLimit,S2-PriceScale*80,"S2",2,1); Else#이후 진입가 까지 상승하면 나머지 청산 ExitShort("sx22",AtStop,S2,"S1"); } #첫매수봉저가 이탈시 모두 청산 ExitShort("sx",AtStop,H1); #일부 익절이후 최근 매수봉 저가 이하가 발생하면 모두 청산 if BX == true Then ExitShort("sx2",AtStop,LastH); } 즐거운 하루되세요 > 종호 님이 쓴 글입니다. > 제목 : 수식문의 드립니다, > 제목 : 문의드립니다. 최초매수: 무포지션에서 C > MA(C, 20) and C > O and C[1] < O[1] and C > C[1] 이면 4계약 매수합니다. 이 때 최초 매수봉의 저가가 최초 손절가 F 라고 합니다. 최초 손절가 F = 최초 매수봉의 저가 추가매수: 매수가 된 매수포지션 상태에서 가장 최근의 이전 양봉 종가를 구해서 최근 양봉 종가 가격 G 라고 정의하고 현재봉 종가가 양봉으로 끝나고 C > 최근 양봉 종가 가격 G 를 만족하면 4계약을 추가로 피라미딩으로 매수합니다. 위 조건이 계속 만족하면 피라미딩 매수 후 10 단계까지 피라미딩 매수합니다. 손절청산: 매수 후 종가가 아닌 현재가가 최초 손절가 F를 하향하면 모든 계약을 전부 손절청산합니다. 이익청산후 본절가 , 청산가 보정 및 청산 : 모든 매수 단계에서 매수 후 종가가 아닌 현재가가 매수가 대비 80틱 이익이 나면 4계약 매수분의 절반인 2계약을 일부 매도하고 동시에 매수 단계별 본절가 H = 매수 단계별 매수가 가 되도록 하고 청산가 T = 가장 최근의 매수봉의 저가 로 바로 보정합니다. 이후에 언제든지 종가가 아닌 현재가가 매수 단계별 본절가 H 를 하향하면 잔여 2계약만 청산합니다. 그 후에 종가가 아닌 현재가가 더 하락하여 최초 손절가 F 를 하향 하거나 청산가 T 를 하향하면 즉시 모든 단계의 모든 잔여 매수 계약을 전부 일괄 청산합니다. 매도수식: 반대논리로 부탁드립니다.