커뮤니티
수식 문의드립니다.
2016-08-02 09:44:28
102
글번호 100617
안녕하십니까
if NextBarSdate != sdate Then
if date != date[1] Then
==> 위 수식이 의미가 무엇인가요?
지난번에 작성해주신 수식문의드립니다.
아래와 같이 작성을 해주셨는데요. 적용해보니
1계약이 익절되든, 2계약이 익절되든 손절기준은 바뀌지 않고
10틱손절그대로 bx3 로만 손절됩니다.
예)250.50 매수 3계약체결, 250.00 매도 3계약손절(bx3 손절)
250.50 매수 3계약체결, 251.00 1계약 익절, 250.00 매도 2계약손절(bx2가 아닌 bx3적용됨)
if NextBarSdate != sdate Then
buy("b1",AtStop,C+PriceScale*1,3);
if NextBarSdate == sdate and H < DayClose(1)+PriceScale*1 Then
buy("b",AtStop,DayClose(1)+PriceScale*1,3);
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,EntryPrice+PriceScale*10,"",1,1);
ExitLong("BP2",atlimit,EntryPrice+PriceScale*20,"",1,1);
ExitLong("BP3",atlimit,EntryPrice+PriceScale*30,"",1,1);
if MaxContracts == 3 Then
ExitLong("bx3",AtStop,EntryPrice-PriceScale*10);
if MaxContracts == 2 Then
ExitLong("bx2",AtStop,EntryPrice-PriceScale*5);
if MaxContracts == 1 Then
ExitLong("bx1",AtStop,EntryPrice-PriceScale*1);
}
1. 현재가가 (전일종가+1틱) 이면 3계약 매수
손절은 10틱 3계약 ,
익절 (1계약 10틱익절, 1계약 20틱익절, 1계약 30틱익절)
2. 익절 1계약 체결되면 손절은 5틱 2계약으로 변경,
익절 2계약 체결되면 손절은 1틱 1계약으로 변경
3. 익절 3계약 체결되면 손절계약은 없애고, 손절 모두체결되면 익절계약 모두 없앱니다.
답변 1
예스스탁 예스스탁 답변
2016-08-02 15:16:25
안녕하세요
예스스탁입니다.
1
if NextBarSdate != sdate Then
봉완성은 다음봉 시가가 수신될때입니다.
NextBarSdate은 다음봉 시가의 날짜를 리턴해 주는 함수입니다.
위 표현은 다음봉 시가수신시에 날짜변경을 확인하고
시가에 신호를 발생하거나 값을 셋팅이 필요할 때 사용하는 표현입니다.
국내종목에만 제공되는 함수입니다.
if date != date[1] Then
는 완성봉 기준으로 현재봉과 전봉의 날짜가 다르다는 표현으로
첫봉 완성시라는 의미입니다.
2
죄송합니다. 식을 수정했습니다.
CurrentContracts 로 조건을 지정해야 했는데
MaxContracts로 잘못 지정했습니다.
if NextBarSdate != sdate Then
buy("b1",AtStop,C+PriceScale*1,3);
if NextBarSdate == sdate and H < DayClose(1)+PriceScale*1 Then
buy("b",AtStop,DayClose(1)+PriceScale*1,3);
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,EntryPrice+PriceScale*10,"",1,1);
ExitLong("BP2",atlimit,EntryPrice+PriceScale*20,"",1,1);
ExitLong("BP3",atlimit,EntryPrice+PriceScale*30,"",1,1);
if CurrentContracts == 3 Then
ExitLong("bx3",AtStop,EntryPrice-PriceScale*10);
if CurrentContracts == 2 Then
ExitLong("bx2",AtStop,EntryPrice-PriceScale*5);
if CurrentContracts == 1 Then
ExitLong("bx1",AtStop,EntryPrice-PriceScale*1);
}
즐거운 하루되세여
> 태양으로 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 안녕하십니까
if NextBarSdate != sdate Then
if date != date[1] Then
==> 위 수식이 의미가 무엇인가요?
지난번에 작성해주신 수식문의드립니다.
아래와 같이 작성을 해주셨는데요. 적용해보니
1계약이 익절되든, 2계약이 익절되든 손절기준은 바뀌지 않고
10틱손절그대로 bx3 로만 손절됩니다.
예)250.50 매수 3계약체결, 250.00 매도 3계약손절(bx3 손절)
250.50 매수 3계약체결, 251.00 1계약 익절, 250.00 매도 2계약손절(bx2가 아닌 bx3적용됨)
if NextBarSdate != sdate Then
buy("b1",AtStop,C+PriceScale*1,3);
if NextBarSdate == sdate and H < DayClose(1)+PriceScale*1 Then
buy("b",AtStop,DayClose(1)+PriceScale*1,3);
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,EntryPrice+PriceScale*10,"",1,1);
ExitLong("BP2",atlimit,EntryPrice+PriceScale*20,"",1,1);
ExitLong("BP3",atlimit,EntryPrice+PriceScale*30,"",1,1);
if MaxContracts == 3 Then
ExitLong("bx3",AtStop,EntryPrice-PriceScale*10);
if MaxContracts == 2 Then
ExitLong("bx2",AtStop,EntryPrice-PriceScale*5);
if MaxContracts == 1 Then
ExitLong("bx1",AtStop,EntryPrice-PriceScale*1);
}
1. 현재가가 (전일종가+1틱) 이면 3계약 매수
손절은 10틱 3계약 ,
익절 (1계약 10틱익절, 1계약 20틱익절, 1계약 30틱익절)
2. 익절 1계약 체결되면 손절은 5틱 2계약으로 변경,
익절 2계약 체결되면 손절은 1틱 1계약으로 변경
3. 익절 3계약 체결되면 손절계약은 없애고, 손절 모두체결되면 익절계약 모두 없앱니다.
이전글