예스스탁
예스스탁 답변
2020-05-20 17:08:29
안녕하세요
예스스탁입니다.
1
지표값 테스트를 해보았지만 정상적으로 값이 리턴되고 있습니다.
차트에 적용되는 있는 지표값 자체가 N/A이면 리턴값이 알수 없는 숫자가 됩니다.
지표가 N/A가 발생하지는 않는지 확인을 하셔야 할것 같습니다.
예를 들어 특정한 시점에만 출력하는 내용은 해당봉이 아니면 N/A가 되고
특정값을 0으로 나누어도 N/A가 됩니다.
2
올려주신 내용에 잔고의 평단가가 있는데 잔고를 셋팅하는 내용이 없습니다.
수식의 일부내용이라 올리신 내용이라 없는것 같은데
잔고함수를 사용하기 전에 잔고셋팅이 되어 있는지 확인하시기 바랍니다.
즐거운 하루되세요
> 수다리 님이 쓴 글입니다.
> 제목 : 지표값이 엉뚱하게 나옵니다.
> if (nEventID == 2 && BUYCON == 1 && SELLCON == 0)
{
BUYIK = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*1;
BUYIK2 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*2;
BUYIK3 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*3;
BUYIK4 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*4;
BUYIK5 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*5;
BUYSON = Chart1.GetIndicatorData("#11.DJ밴드_색상변화_중심_2배",2,0) - SCALE*8;
Main.MessageList("매수익절",BUYIK,"매수손절",BUYSON,"매도익절",SELLIK,"매도손절",SELLSON);
Main.MessageList("매수익절",BUYIK,"매수익절2",BUYIK2,"매수익절3",BUYIK3,"매수익절4",BUYIK4,"매수익절5",BUYIK5);
Main.KillTimer(2); //타이머 종료
}
위에 식을 이벤트가 발생했을때 지표값을 가져오게 작성했는데
제대로 나올때도 있는데 수시로 엉뚱한 값을 가져옵니다.
스팟시작시 제대로 읽어오는지 보려고 아래식으로 테스트해보았을땐 정상값을 읽어옵니다.
근데 포지션 진입후 1분뒤에 타이머 발동후 값을 가져올때는 엉뚱한 값이 나오는데
뭐가 잘못된건지 알고 싶습니다.
function Main_OnStart()
{
BUYIK = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2));
BUYIK2 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*2;
BUYIK3 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*3;
BUYIK4 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*4;
BUYIK5 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*5;
Main.MessageList("매수익절",BUYIK,"매수익절2",BUYIK2,"매수익절3",BUYIK3,"매수익절4",BUYIK4,"매수익절5",BUYIK5);
}