커뮤니티
문의드립니다.
2017-12-31 04:53:47
224
글번호 115367
우선 2018년 새해 복많이 받으시구요.
하시는일마다 건승하시길 기원드립니다.
먼저 부탁드릴 내용은 분할익절, 분할손절식을 만들려고하는데 좀 복잡해서 그런지 원하는대로 정확하게 구현이 안됩니다.
예를들어 5이평, 20이평이 골드크로스일때
2계약을 매수해서 상승시 5틱 분할익절후 하락할때 나머지 1계약은 진입가대비 5틱하락시 청산, 계속 오른다면 최소수익 15틱에 수익감소 10틱 트레일링스탑으로 청산.
만일 바로 하락시 5틱 분할손절후 계속 내린다면 나머지 1계약은 15틱 최종손절하면되는데
문제는 5틱 분할손절후 상승하는 경우인데 이경우는 최소수익 10틱에 수익감소 5틱 트레일링스탑으로 청산.
데드크로스일때는 반대로 입니다.
분할익절, 분할익절후 손절, 최종익절, 분할손절, 최종손절, 분할손절후 익절이 되겠네요.
제가 부족해서겠지만 약간씩 안맞는 부분이 계속 생기는지라
바쁘시겠지만 돌려보시고 올려주시면 정말 감사하겠습니다.
두번째는 첨부한 이미지를 보시면 성능보고서상에 손익절이 딱 0.05씩 안떨어지고 0.31 이런식으로 끝자리가 붙어 나옵니다. 보통 뭐가 잘못되면 저렇게 결과가 나올수있는지가 궁금합니다.
세번째는 원래 수능일과 연기된 수능일인 11월 16일, 23일에 10시에 시작된다고 그날은 아예 시스템신호가 안나옵니다. 시작시간 수식은 일반적인 Tcond 나오는 수식입니다. 일년에 몇번안되니 큰 상관은 없지만 9시 시작수식이라고 10시 시작하면 신호가 아예안나오는 이유가 궁금합니다.
3가지나 질문드렸네요. 미리 감사드립니다. 그럼 수고하십시오.
- 1. 20171231043503.jpg (0.05 MB)
답변 1
예스스탁 예스스탁 답변
2018-01-02 15:51:19
안녕하세요
예스스탁입니다.
1
var : HH(0),LL(0);
var1 = ma(C,5);
var2 = ma(c,20);
if crossup(var1,var2) Then
buy("b",OnClose,def,2);
if CrossDown(var1,var2) Then
buy("s",OnClose,def,2);
if MarketPosition == 1 Then{
if CurrentContracts != CurrentContracts[1] Then
HH = H;
if H > HH Then
HH = H;
ExitLong("BP1",Atlimit,EntryPrice+PriceScale*5,"",1,1);
ExitLong("BL1",AtStop,EntryPrice-PriceScale*5,"",1,1);
ExitLong("BL2",AtStop,EntryPrice-PriceScale*15,"",1,1);
if CurrentContracts < MaxContracts and LatestExitName(0) == "BP1" then{
if HH >= EntryPrice+PriceScale*15 Then
ExitLong("btr1",AtStop,HH-PriceScale*10);
}
if CurrentContracts < MaxContracts and LatestExitName(0) == "BL1" then{
if HH >= EntryPrice+PriceScale*10 Then
ExitLong("btr2",AtStop,HH-PriceScale*5);
}
}
if MarketPosition == -1 Then{
if CurrentContracts != CurrentContracts[1] Then
LL = L;
if L < LL Then
LL = L;
ExitShort("SP1",Atlimit,EntryPrice-PriceScale*5,"",1,1);
ExitShort("SL1",AtStop,EntryPrice+PriceScale*5,"",1,1);
ExitShort("SL2",AtStop,EntryPrice+PriceScale*15,"",1,1);
if CurrentContracts < MaxContracts and LatestExitName(0) == "SP1" then{
if LL <= EntryPrice-PriceScale*15 Then
ExitShort("str1",AtStop,LL+PriceScale*10);
}
if CurrentContracts < MaxContracts and LatestExitName(0) == "SL1" then{
if LL <= EntryPrice-PriceScale*10 Then
ExitShort("str2",AtStop,LL+PriceScale*5);
}
}
2
차트가 갭보정이나 혹은 수정주가가 처리되어 있으신것 같습니다.
기본차트속성에서 수정주가나 갭보정을 해체하시기 바랍니다.
기본차트속성은 차트에서 봉을 마우스로 더블클릭하면 나타납니다.
3
아마 지금은 시간으로만 지정되어 있으신 것 같습니다.
시간으로만 지정될 경우 9시봉이 없는 날이면
tcond가 true로 초기화가 되지 않습니다.
아래 내용으로 수정하시면 됩니다.
if (sdate != sdate[1] and stime >= 90000) or
(sdate == sdate[1] and stime >= 90000 and stime[1] < 90000) then
Tcond = true;
새해 복 많이 받으세요
> 카르마다 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 우선 2018년 새해 복많이 받으시구요.
하시는일마다 건승하시길 기원드립니다.
먼저 부탁드릴 내용은 분할익절, 분할손절식을 만들려고하는데 좀 복잡해서 그런지 원하는대로 정확하게 구현이 안됩니다.
예를들어 5이평, 20이평이 골드크로스일때
2계약을 매수해서 상승시 5틱 분할익절후 하락할때 나머지 1계약은 진입가대비 5틱하락시 청산, 계속 오른다면 최소수익 15틱에 수익감소 10틱 트레일링스탑으로 청산.
만일 바로 하락시 5틱 분할손절후 계속 내린다면 나머지 1계약은 15틱 최종손절하면되는데
문제는 5틱 분할손절후 상승하는 경우인데 이경우는 최소수익 10틱에 수익감소 5틱 트레일링스탑으로 청산.
데드크로스일때는 반대로 입니다.
분할익절, 분할익절후 손절, 최종익절, 분할손절, 최종손절, 분할손절후 익절이 되겠네요.
제가 부족해서겠지만 약간씩 안맞는 부분이 계속 생기는지라
바쁘시겠지만 돌려보시고 올려주시면 정말 감사하겠습니다.
두번째는 첨부한 이미지를 보시면 성능보고서상에 손익절이 딱 0.05씩 안떨어지고 0.31 이런식으로 끝자리가 붙어 나옵니다. 보통 뭐가 잘못되면 저렇게 결과가 나올수있는지가 궁금합니다.
세번째는 원래 수능일과 연기된 수능일인 11월 16일, 23일에 10시에 시작된다고 그날은 아예 시스템신호가 안나옵니다. 시작시간 수식은 일반적인 Tcond 나오는 수식입니다. 일년에 몇번안되니 큰 상관은 없지만 9시 시작수식이라고 10시 시작하면 신호가 아예안나오는 이유가 궁금합니다.
3가지나 질문드렸네요. 미리 감사드립니다. 그럼 수고하십시오.