커뮤니티

문의드립니다.

프로필 이미지
종호
2024-02-22 15:59:29
728
글번호 176895
답변완료
안녕하세요. 매수수식: 피라미딩 매수로 3번째 까지만 각 단계별로 독립적으로 진행합니다. 무포지션 또는 매수 포지션에서 5평선이 40이평선을 돌파하면 4계약을 매수합니다. 이 때 매수봉의 저가를 손절가 A 하고 합니다. 손절가 A = 매수봉 저가 매수가 B = 매수가격 청산: 손절: 종가가 아닌 현재가가 위의 손절가 A를 하향하면 즉시 전량 손절합니다. 기본 청산 :매수하고 나서 메수봉 바로 다음봉 종가에 절반인 2계약만 청산합니다. 그 후에 본절가 C = 매수가 B 로 정의 합니다. 잔량 청산 : 본절 : 종가가 아닌 현재가가 본절가 C 를 하향하면 잔량 2계약을 청산합니다. 이익청산 : 이익이 나면 종가가 아닌 현재가가 바로 직전봉의 최저가를 하향하면 잔량 2계약을 청산합니다. 매도수식 : 반대논리로 수식을 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-02-23 17:34:03

안녕하세요 예스스탁입니다. 피라미딩을 하는데 각 진입별로 청산이 되게 해야 하는데 구분할 방법이 진입명이므로 각 진입별로 이름을 다르게 지정해 작성되었습니다. input : P1(5),P2(40); var : BA1(0),BB1(0),BI1(0),BV1(0); var : BA2(0),BB2(0),BI2(0),BV2(0); var : BA3(0),BB3(0),BI3(0),BV3(0); var : SA1(0),SB1(0),SI1(0),SV1(0); var : SA2(0),SB2(0),SI2(0),SV2(0); var : SA3(0),SB3(0),SI3(0),SV3(0); var1 = ma(C,P1); Var2 = ma(c,P2); if CrossUp(var1,Var2) Then { if MarketPosition == 0 Then { Buy("b1",OnClose,Def,4); BA1 = L; BB1 = C; BI1 = Index; BV1 = 4; ExitLong("b1손절",AtStop,BA1,"b1"); } if MarketPosition == 1 and MaxEntries == 1 Then { Buy("b2",OnClose,Def,4); BA2 = L; BB2 = C; BI2 = Index; ExitLong("b2손절",AtStop,BA2,"b2"); } if MarketPosition == 1 and MaxEntries == 2 Then { Buy("b3",OnClose,Def,4); BA3 = L; BA3 = C; BI3 = Index; ExitLong("b3손절",AtStop,BA3,"b3"); } } if MarketPosition == 1 Then { if MaxEntries >= 1 then { ExitLong("b1손절.",AtStop,BA1,"b1"); if Index == BI1+1 Then { ExitLong("b1기본청산",OnClose,Def,"b1",2,1); BV1 = 2; } if BV1 == 2 Then { ExitLong("b1본절",AtStop,BB1,"b1"); if L > BB1 Then ExitLong("b1이익청산",AtStop,L,"b1"); } } if MaxEntries >= 2 then { ExitLong("b2손절.",AtStop,BA2,"b2"); if Index == BI2+1 Then { ExitLong("b2기본청산",OnClose,Def,"b2",2,1); BV2 = 2; } if BV2 == 2 Then { ExitLong("b2본절",AtStop,BB2,"b2"); if L > BB2 Then ExitLong("b2이익청산",AtStop,L,"b2"); } } if MaxEntries >= 3 then { ExitLong("b3손절.",AtStop,BA3,"b3"); if Index == BI3+1 Then { ExitLong("b3기본청산",OnClose,Def,"b3",2,1); BV3 = 2; } if BV3 == 2 Then { ExitLong("b3본절",AtStop,BB3,"b3"); if L > BB3 Then ExitLong("b3이익청산",AtStop,L,"b3"); } } } if CrossDown(var1,Var2) Then { if MarketPosition == 0 Then { Sell("s1",OnClose,Def,4); SA1 = H; SB1 = C; SI1 = Index; SV1 = 4; ExitShort("s1손절",AtStop,SA1,"s1"); } if MarketPosition == -1 and MaxEntries == 1 Then { Sell("s2",OnClose,Def,4); SA2 = H; SB2 = C; SI2 = Index; ExitShort("s2손절",AtStop,SA2,"s2"); } if MarketPosition == -1 and MaxEntries == 2 Then { Sell("s3",OnClose,Def,4); SA3 = H; SB3 = C; SI3 = Index; ExitShort("s3손절",AtStop,SA3,"s3"); } } if MarketPosition == -1 Then { if MaxEntries >= 1 then { ExitShort("s1손절.",AtStop,SA1,"s1"); if Index == SI1+1 Then { ExitShort("s1기본청산",OnClose,Def,"s1",2,1); SV1 = 2; } if SV1 == 2 Then { ExitShort("s1본절",AtStop,SB1,"s1"); if H < SB1 Then ExitShort("s1이익청산",AtStop,H,"s1"); } } if MaxEntries >= 2 then { ExitShort("s2손절.",AtStop,SA2,"s1"); if Index == SI2+1 Then { ExitShort("s2기본청산",OnClose,Def,"s2",2,1); SV2 = 2; } if SV2 == 2 Then { ExitShort("s2본절",AtStop,SB2,"s2"); if H < SB2 Then ExitShort("s2이익청산",AtStop,H,"s1"); } } if MaxEntries >= 2 then { ExitShort("s3손절.",AtStop,SA3,"s3"); if Index == SI3+1 Then { ExitShort("s3기본청산",OnClose,Def,"s3",2,1); SV3 = 2; } if SV3 == 2 Then { ExitShort("s3본절",AtStop,SB3,"s3"); if H < SB3 Then ExitShort("s3이익청산",AtStop,H,"s3"); } } } 즐거운 하루되세요 > 종호 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. 매수수식: 피라미딩 매수로 3번째 까지만 각 단계별로 독립적으로 진행합니다. 무포지션 또는 매수 포지션에서 5평선이 40이평선을 돌파하면 4계약을 매수합니다. 이 때 매수봉의 저가를 손절가 A 하고 합니다. 손절가 A = 매수봉 저가 매수가 B = 매수가격 청산: 손절: 종가가 아닌 현재가가 위의 손절가 A를 하향하면 즉시 전량 손절합니다. 기본 청산 :매수하고 나서 메수봉 바로 다음봉 종가에 절반인 2계약만 청산합니다. 그 후에 본절가 C = 매수가 B 로 정의 합니다. 잔량 청산 : 본절 : 종가가 아닌 현재가가 본절가 C 를 하향하면 잔량 2계약을 청산합니다. 이익청산 : 이익이 나면 종가가 아닌 현재가가 바로 직전봉의 최저가를 하향하면 잔량 2계약을 청산합니다. 매도수식 : 반대논리로 수식을 부탁드립니다.