안녕하세요~ 수고 많으십니다.
아래 수식이 왜 적용해도 아무것도 안나타날까요?ㅠ
도움 부탁드립니다.
var : i(0);
var : sngPos0(0), sngPos1(0), sngPos2(0); // 현재 300틱 간격선 값 / 다음 300틱 간격선 값(매수) / 다음 300틱 간격선 값(매도)
var : sngMx(12500.50), sngDt(75.00); // 300틱 간격선 중 고점 / sngDx: 300틱 간격
array : sngMLine[50](0); // 300틱 간격선
// 300틱 간격선을 배열에 저장
for i=1 to 50
{
sngMLine[i-1] = sngMx - (i-1)* sngDt;
}
// 매수진입
if (c[1] < sngMLine[i-1]) and (c[0] >= sngMLine[i-1])
// 이전 1분봉 종가가 300틱 간격선 아래에 있다가 현재 1분봉 종가가 300틱 간격선을 깨고 올라가는 경우 매수
then {
buy("MLine-buy");
sngPos0 = sngMLine[i]; // 현재 가까이 있는 530틱 간격선
sngPos1 = sngMLine[i+1]; // 아래의 530틱 간격선
sngPos2 = sngMLine[i-1]; // 위의 530틱 간격
}
// 매도진입
if (c[1] > sngMLine[i-1]) and (c[0] <= sngMLine[i-1])
// 이전 1분봉 종가가 300틱 간격선 위에 있다가 현재 1분봉 종가가 300틱 간격선을 깨고 내려가는 경우 매도
then {
buy("MLine-sell");
sngPos0 = sngMLine[i]; // 현재 가까이 있는 530틱 간격선
sngPos1 = sngMLine[i+1]; // 아래의 530틱 간격선
sngPos2 = sngMLine[i-1]; // 위의 530틱 간격
}
답변 1
예스스탁
예스스탁 답변
2020-11-11 10:26:12
안녕하세요
예스스탁입니다.
for i=1 to 50
{
sngMLine[i-1] = sngMx - (i-1)* sngDt;
}
위 for문 아래 부터는 i는 50입니다. 그러므로 if문에 사용된 i는 항상 50이 됩니다.
if문이 for문에 포함되게 작성해 주셔야 합니다.
var : i(0);
var : sngPos0(0), sngPos1(0), sngPos2(0); // 현재 300틱 간격선 값 / 다음 300틱 간격선 값(매수) / 다음 300틱 간격선 값(매도)
var : sngMx(12500.50), sngDt(75.00); // 300틱 간격선 중 고점 / sngDx: 300틱 간격
array : sngMLine[50](0); // 300틱 간격선
// 300틱 간격선을 배열에 저장
for i = 1 to 50
{
sngMLine[i-1] = sngMx - (i-1)* sngDt;
// 매수진입
if (c[1] < sngMLine[i-1]) and (c[0] >= sngMLine[i-1])
// 이전 1분봉 종가가 300틱 간격선 아래에 있다가 현재 1분봉 종가가 300틱 간격선을 깨고 올라가는 경우 매수
then
{
buy("MLine-buy");
sngPos0 = sngMLine[i]; // 현재 가까이 있는 530틱 간격선
sngPos1 = sngMLine[i+1]; // 아래의 530틱 간격선
sngPos2 = sngMLine[i-1]; // 위의 530틱 간격
}
// 매도진입
if (c[1] > sngMLine[i-1]) and (c[0] <= sngMLine[i-1])
// 이전 1분봉 종가가 300틱 간격선 위에 있다가 현재 1분봉 종가가 300틱 간격선을 깨고 내려가는 경우 매도
then
{
Sell("MLine-sell");
sngPos0 = sngMLine[i]; // 현재 가까이 있는 530틱 간격선
sngPos1 = sngMLine[i+1]; // 아래의 530틱 간격선
sngPos2 = sngMLine[i-1]; // 위의 530틱 간격
}
}
즐거운 하루되세요
> 모센 님이 쓴 글입니다.
> 제목 : 시스템 수식 문의 드립니다.
> 안녕하세요~ 수고 많으십니다.
아래 수식이 왜 적용해도 아무것도 안나타날까요?ㅠ
도움 부탁드립니다.
var : i(0);
var : sngPos0(0), sngPos1(0), sngPos2(0); // 현재 300틱 간격선 값 / 다음 300틱 간격선 값(매수) / 다음 300틱 간격선 값(매도)
var : sngMx(12500.50), sngDt(75.00); // 300틱 간격선 중 고점 / sngDx: 300틱 간격
array : sngMLine[50](0); // 300틱 간격선
// 300틱 간격선을 배열에 저장
for i=1 to 50
{
sngMLine[i-1] = sngMx - (i-1)* sngDt;
}
// 매수진입
if (c[1] < sngMLine[i-1]) and (c[0] >= sngMLine[i-1])
// 이전 1분봉 종가가 300틱 간격선 아래에 있다가 현재 1분봉 종가가 300틱 간격선을 깨고 올라가는 경우 매수
then {
buy("MLine-buy");
sngPos0 = sngMLine[i]; // 현재 가까이 있는 530틱 간격선
sngPos1 = sngMLine[i+1]; // 아래의 530틱 간격선
sngPos2 = sngMLine[i-1]; // 위의 530틱 간격
}
// 매도진입
if (c[1] > sngMLine[i-1]) and (c[0] <= sngMLine[i-1])
// 이전 1분봉 종가가 300틱 간격선 위에 있다가 현재 1분봉 종가가 300틱 간격선을 깨고 내려가는 경우 매도
then {
buy("MLine-sell");
sngPos0 = sngMLine[i]; // 현재 가까이 있는 530틱 간격선
sngPos1 = sngMLine[i+1]; // 아래의 530틱 간격선
sngPos2 = sngMLine[i-1]; // 위의 530틱 간격
}