커뮤니티

지표식 수정 부탁드립니다.

프로필 이미지
9단
2015-06-03 16:46:05
116
글번호 86731
답변완료
input : 수량(1); var : MP(0),BuyEntryPrice(0),OpenPP(0),NP(0); if MP == 0 Then{ OpenPP = 0; } if MP == 0 and crossup(ma(c,5),ma(c,20)) Then{ MP = 1; BuyEntryPrice = c; } if MP == 1 Then{ OpenPP = (C-BuyEntryPrice)*수량; } if MP == 1 and CrossDown(ma(c,5),ma(c,20)) Then{ NP = NP+OpenPP; MP = 0; } MessageLog("시가,%.4f,종가,%.4f,MP,%.0f,NP,%.4f,OpenPP,%.4f",open,close,MP,NP,OpenPP); ================================================================== 위의 식에서 MP가 0이면 OpenPP도 0으로 되야하는데.. 메시지로그에서 보면 MP가 1에서 0으로 바뀐직후에는 0이아닌 OpenPP값이 한번 나타납니다. 그값을 0으로 만들어 주십시오.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-06-03 18:54:16

안녕하세요 예스스탁입니다. 수식은 위에서 아래방향으로 읽어 들어 갑니다 데드에서 MP에 0이 할당되는 것보다 OpenPP = 0; 저장이 위에 있으므로 한번더 바로 0으로 변경되지 않고 다음봉에서 변경이 됩니다. 아래 2가지경우와 같이 초기화 하시면 됩니다. 1. input : 수량(1); var : MP(0),BuyEntryPrice(0),OpenPP(0),NP(0); if MP == 0 and crossup(ma(c,5),ma(c,20)) Then{ MP = 1; BuyEntryPrice = c; } if MP == 1 Then{ OpenPP = (C-BuyEntryPrice)*수량; } if MP == 1 and CrossDown(ma(c,5),ma(c,20)) Then{ NP = NP+OpenPP; MP = 0; OpenPP = 0; } 2. input : 수량(1); var : MP(0),BuyEntryPrice(0),OpenPP(0),NP(0); if MP == 0 and crossup(ma(c,5),ma(c,20)) Then{ MP = 1; BuyEntryPrice = c; } if MP == 1 Then{ OpenPP = (C-BuyEntryPrice)*수량; } if MP == 1 and CrossDown(ma(c,5),ma(c,20)) Then{ NP = NP+OpenPP; MP = 0; } if MP == 0 Then{ OpenPP = 0; } 즐거운 하루되세요 > 9단 님이 쓴 글입니다. > 제목 : 지표식 수정 부탁드립니다. > input : 수량(1); var : MP(0),BuyEntryPrice(0),OpenPP(0),NP(0); if MP == 0 Then{ OpenPP = 0; } if MP == 0 and crossup(ma(c,5),ma(c,20)) Then{ MP = 1; BuyEntryPrice = c; } if MP == 1 Then{ OpenPP = (C-BuyEntryPrice)*수량; } if MP == 1 and CrossDown(ma(c,5),ma(c,20)) Then{ NP = NP+OpenPP; MP = 0; } MessageLog("시가,%.4f,종가,%.4f,MP,%.0f,NP,%.4f,OpenPP,%.4f",open,close,MP,NP,OpenPP); ================================================================== 위의 식에서 MP가 0이면 OpenPP도 0으로 되야하는데.. 메시지로그에서 보면 MP가 1에서 0으로 바뀐직후에는 0이아닌 OpenPP값이 한번 나타납니다. 그값을 0으로 만들어 주십시오.