커뮤니티
질문입니다
2015-10-15 17:23:41
134
글번호 91333
1. 이 수식을 30초단위 예스스팟 확장차트에 적용하니 조건에 안맞게 매매가 되던데
검토 한번만 부탁드립니다 청산이 다 되지 않더라구요
다시 생각해보니 아마도 매수주식수가 3의 배수가 아닐경우 나머지값이 남는거 같은데 마지막 조건의 경우 모두 청산이 되도록 부탁드립니다
그리고 좀더 세밀하게 적용하고자 5초단위 확장차트에 적용했더니 아예 신호가 안나오는 경우도 있던데 초단위 차트의 경우에는 이 수식을 쓸수없나요?
2. 현재 예스스팟 확장차트에 신호발생시 매매를 하고있습니다
그런데 예스랭귀지에서는 시장가로 스팟에서는 지정가로 햇더니 지정가로 주문이 나가더라구요
모두 시장가로 수정했더니 그제서야 시장가로 주문이 나갑니다
그러면 지정가로 주문하려면 둘 모두 0으로 값을 맞춰야 하는건가요
3. 아래 수식에서 진입시점에서 설정한 시간동안 예를들어 30분동안은 매매조건이 충족되어도 매매가 안되게 할수있나요?
만약된다면 30분을 시간제한으로 매매가 안되게 수식 부탁드립니다
손절의 경우만 즉, 진입가보다 낮게 시가가 형성되는 경우만 제한이 걸리도록요
익절의 경우에도 조건을 걸어주시되 주석처리로 적용안되게 부탁드립니다
설정시간값에 주석 부탁드려요
초보라 질문이 많네요
감사합니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 질문드립니다
>
안녕하세요
예스스탁입니다.
1,2,3,
1분봉 차트에 적용하시면 됩니다.
input : 매수금액(1000000);
if stime == 150000 and NextBarOpen <= C*1.10 and NextBarOpen >= C*0.90 Then
buy("b",OnClose,def,Floor(매수금액/C));
if MarketPosition == 1 Then{
if CurrentContracts == MaxContracts Then{
ExitLong("BP1",atlimit,EntryPrice*1.01,"",Floor(MaxContracts*0.4),1);
ExitLong("BL1",AtStop,EntryPrice*0.99,"",Floor(MaxContracts*0.4),1);
}
Else{
ExitLong("BP4",atlimit,EntryPrice*1.01,"",Floor(MaxContracts*0.3),1);
ExitLong("BL4",AtStop,EntryPrice*0.99,"",Floor(MaxContracts*0.3),1);
}
ExitLong("BP2",atlimit,EntryPrice*1.02,"",Floor(MaxContracts*0.3),1);
ExitLong("BP3",atlimit,EntryPrice*1.03,"",Floor(MaxContracts*0.3),1);
ExitLong("BL2",AtStop,EntryPrice*0.98,"",Floor(MaxContracts*0.3),1);
ExitLong("BL3",AtStop,EntryPrice*0.97,"",Floor(MaxContracts*0.3),1);
if LatestExitName(0) == "BP1" Then
ExitLong("BL",AtStop,EntryPrice,"",Floor(MaxContracts*0.3),1);
if LatestExitName(0) == "SL1" Then
ExitLong("BP",AtLimit,EntryPrice,"",Floor(MaxContracts*0.3),1);
}
답변 1
예스스탁 예스스탁 답변
2015-10-16 13:39:12
안녕하세요
예스스탁입니다.
1.
마지막 청산에서 전량청산하도록 식을 수정했습니다.
input : 매수금액(1000000);
var : Evol(0),Xcnt(0);
if stime == 150000 and NextBarOpen <= C*1.10 and NextBarOpen >= C*0.90 Then{
buy("b",AtMarket,def,Floor(매수금액/C));
}
if MarketPosition == 1 Then{
if CurrentContracts < CurrentContracts[1] Then
Xcnt = Xcnt+1;
if Xcnt == 0 /*and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+30*/ Then
ExitLong("Bx11",atlimit,EntryPrice+(EntryPrice*0.01),"",floor(MaxContracts*0.4),1);
if Xcnt == 0 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+30 Then
ExitLong("Bx12",AtStop,EntryPrice-(EntryPrice*0.01),"",floor(MaxContracts*0.4),1);
if Xcnt == 1 and CurrentContracts < MaxContracts Then{
ExitLong("Bx21",atlimit,LatestExitPrice(0)+(EntryPrice*0.01),"",floor(MaxContracts*0.3),1);
ExitLong("BL22",AtStop,LatestExitPrice(0)-(EntryPrice*0.01),"",floor(MaxContracts*0.3),1);
}
if Xcnt == 2 and CurrentContracts < MaxContracts Then{
ExitLong("Bx31",atlimit,LatestExitPrice(0)+(EntryPrice*0.01));
ExitLong("BL32",AtStop,LatestExitPrice(0)-(EntryPrice*0.01));
}
}
Else
Xcnt = 0;
위식은 전일 15시00분00초 봉에 조건이 걸려 다음봉(오늘시가) 시가에 신호가 발생합니다.
주식 5초봉에 적용해본결과 신호가 발생합니다.
만약 5초 차트 기준으로 신호가 없다면
해당 종목의 5초차트에 전일 15시봉이 없는 것입니다.
plot1(stime);
차트에 지표 적용하셔서 시간 확인하시고 시간지정해 주셔야 합니다.
2.
스팟은 신호의 발생이벤트만 받고
신호가 발생했을때 주문은 스팟안에서 작성한 주문함수에서 지정하셔야 합니다.
예스랭귀지의 주문가격설정과는 관계가 없습니다.
스팟의 주문함수에서 시장가로 지정하셔야 합니다.
스팟 도움말에서 주문함수의 매개변수 확인하시기 바랍니다.
3.
위식에 추가했습니다
TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+30
TimeToMinutes이 HHMMSS시간을 0시 이후에 경과된 분수로 변경해 주는 함수입니다.
예를 들어 9시면 540분, 10시면 600분입니다.
현재봉의 시간이 진입시간대비 30분 이후라는 내용입니다.
즐거운 하루되세요
> 가이츠 님이 쓴 글입니다.
> 제목 : 질문입니다
> 1. 이 수식을 30초단위 예스스팟 확장차트에 적용하니 조건에 안맞게 매매가 되던데
검토 한번만 부탁드립니다 청산이 다 되지 않더라구요
다시 생각해보니 아마도 매수주식수가 3의 배수가 아닐경우 나머지값이 남는거 같은데 마지막 조건의 경우 모두 청산이 되도록 부탁드립니다
그리고 좀더 세밀하게 적용하고자 5초단위 확장차트에 적용했더니 아예 신호가 안나오는 경우도 있던데 초단위 차트의 경우에는 이 수식을 쓸수없나요?
2. 현재 예스스팟 확장차트에 신호발생시 매매를 하고있습니다
그런데 예스랭귀지에서는 시장가로 스팟에서는 지정가로 햇더니 지정가로 주문이 나가더라구요
모두 시장가로 수정했더니 그제서야 시장가로 주문이 나갑니다
그러면 지정가로 주문하려면 둘 모두 0으로 값을 맞춰야 하는건가요
3. 아래 수식에서 진입시점에서 설정한 시간동안 예를들어 30분동안은 매매조건이 충족되어도 매매가 안되게 할수있나요?
만약된다면 30분을 시간제한으로 매매가 안되게 수식 부탁드립니다
손절의 경우만 즉, 진입가보다 낮게 시가가 형성되는 경우만 제한이 걸리도록요
익절의 경우에도 조건을 걸어주시되 주석처리로 적용안되게 부탁드립니다
설정시간값에 주석 부탁드려요
초보라 질문이 많네요
감사합니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 질문드립니다
>
안녕하세요
예스스탁입니다.
1,2,3,
1분봉 차트에 적용하시면 됩니다.
input : 매수금액(1000000);
if stime == 150000 and NextBarOpen <= C*1.10 and NextBarOpen >= C*0.90 Then
buy("b",OnClose,def,Floor(매수금액/C));
if MarketPosition == 1 Then{
if CurrentContracts == MaxContracts Then{
ExitLong("BP1",atlimit,EntryPrice*1.01,"",Floor(MaxContracts*0.4),1);
ExitLong("BL1",AtStop,EntryPrice*0.99,"",Floor(MaxContracts*0.4),1);
}
Else{
ExitLong("BP4",atlimit,EntryPrice*1.01,"",Floor(MaxContracts*0.3),1);
ExitLong("BL4",AtStop,EntryPrice*0.99,"",Floor(MaxContracts*0.3),1);
}
ExitLong("BP2",atlimit,EntryPrice*1.02,"",Floor(MaxContracts*0.3),1);
ExitLong("BP3",atlimit,EntryPrice*1.03,"",Floor(MaxContracts*0.3),1);
ExitLong("BL2",AtStop,EntryPrice*0.98,"",Floor(MaxContracts*0.3),1);
ExitLong("BL3",AtStop,EntryPrice*0.97,"",Floor(MaxContracts*0.3),1);
if LatestExitName(0) == "BP1" Then
ExitLong("BL",AtStop,EntryPrice,"",Floor(MaxContracts*0.3),1);
if LatestExitName(0) == "SL1" Then
ExitLong("BP",AtLimit,EntryPrice,"",Floor(MaxContracts*0.3),1);
}
다음글
이전글