커뮤니티
수식 문의
2014-06-05 12:58:57
203
글번호 75599
1. 시세가 상하로 움직인 거리를 N기간동안 누적하고 이를 N기간으로 나눔
여기서 구한 값을 5일, 20일 이동평균을 구한 후 MACD(5, 20)을 취한 값을 구하고자 합니다.
지표부탁드립니다.
2. 해외선물 포지션 트레이딩을 할 경우 매일 아침 시스템이 리셋되는데 예스스팟도 리셋되어 초기화부분부터 다시 불러지게 되는게 맞는지요? 그렇다면 이전에 진입한 포지션은 어떻게 확인가능한가요?? 잔고함수로 현재 잔고를 확인해서 포지션보유유무를 알수 있는 것까지는 파악했는데, 차트에서 신호발생시 어떠한 신호인지도 파악이 가능한지요? 가령 A,B,C의 신호가 있고 전일 A신호가 발생되어 진입되어 있다고 하면 예스스팟을 다시 시작하면서 진입신호도 체크가능한지요?
또한, A신호가 발생시 확장차트도 생성해서 A신호내에서 또다른 전략을 구사하고자 하는데 마찬가지로 서버리셋이후 아침에 재접속시 포지션확인과 신호확인후 확장차트 또한 불러지게 하는 것이 가능한지요??
3. 확장차트 생성후 A신호가 청산되면 확장차트도 자동삭제되게 할 수 있는지요? 얼마전 차트제거는 되지 않는다는글을 본듯한데 확실한 답변을 듣고자 합니다. 확장차트도 어떻게 보면 메인시그널의 종속적인 부분인데 이를 지원하지 않는다면 추후 검토해주시면 고맙겠습니다.
4. 아래수식 검증부탁드립니다. 뭐가 문제인지 잘되지 않네요..
VARS: Z2xMTAx1.xDiDX(-1, DATA2);
VARS: Z2xMTAx1.xDPRICE(0, DATA2);
VARS: Z2xMTAx1.xDGetReady(FALSE, DATA2), xREADY(FALSE, DATA2);
// MTAx1
if ( (Z2xMTAx1.xDGetReady == FALSE) AND (DATA2(CROSSDOWN(Z2xMTA, Z2xM1))) ) then { Z2xMTAx1.xDiDX = Z2iDX; Z2xMTAx1.xDPRICE = Z2C; Z2xMTAx1.xDGetReady = TRUE; }
if ( (Z2xMTAx1.xDGetReady == TRUE) AND (DATA2(CROSSUP(Z2xMTA, Z2xM1))) ) then { Z2xMTAx1.xDGetReady = FALSE; Z2xMTAx1.xDiDX = -1; Z2xMTAx1.xDPRICE = 0; }
if ( (Z2xMTAx1.xDGetReady == TRUE) AND (Z2iDX > Z2xMTAx1.xDiDX + 120) AND (Z2xMTAx1.xDPRICE < Z2C - PRICESCALE * 300) ) then { xREADY = TRUE; }
xREADY가 TRUE되는 조건은 CROSSDOWN된지 120봉이 지났고, CROSS될때의 값보다 300틱 작을때입니다. 식 검증부탁드림과 동시에 300틱으로 설정한 부분을 2%하락으로 변경부탁드립니다.
5.
if ( DATA2( (H >= L + PRICESCALE * 50) AND (H > MAX(C, O)) AND (L == MIN(C, O)) AND (H > MTA) AND (MTA < MAX(C, O)) AND (C < O) ) ) Then SS = TRUE; // DOWNTREND SHOOTING STAR
봉의 길이가 50틱 이상이고, 하락장악형의 모양으로 몸통이 MTA선을 하방관통하면 SS = TRUE;로 해주는데 잘되질 않네요. 검증부탁드립니다.
질문이 다소많습니다. 미리 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2014-06-05 15:35:02
안녕하세요
예스스탁입니다.
1.
input : P1(5),P2(20);
var1 = H-L;
var2 = ma(var1,P1);
var3 = ma(var1,P2);
var4 = var2-var3;
plot1(var4);
PlotBaseLine1(0);
2.
예 프로그램 자체가 접속이 종료되므로 다시 접속해 주셔야 합니다.
현재 차트상의 포지션 유무는 Chart1.GetOpenContracts()로 확인할수 있습니다,
다만 명칭을 다음날 확인할 수 없습니다.
명칭을 이용하고자 하시면 매일 신호발생시마다
내부파일에 신호의 이름등을 저장해서 다음날 시작시에 체크를 하거나 하셔야 합니다.
특정 값을 내부파일에 적고 가져오는 함수는 아래와 같습니다.
Main.SetUserValue(sName, sValue)
Main.GetUserValue(sName)
위 내용은 확장차트등도 같습니다.
3.
차트의 제거는 되지 않습니다.
4.
VARS: Z2xMTAx1.xDiDX(-1, DATA2),Z2iDX(0,data2);
VARS: Z2xMTAx1.xDPRICE(0, DATA2);
VARS: Z2xMTAx1.xDGetReady(FALSE, DATA2), xREADY(FALSE, DATA2);
Z2iDX = data2(index);
if DATA2(CROSSDOWN(Z2xMTA, Z2xM1) then
{
Z2xMTAx1.xDiDX = Z2iDX;
Z2xMTAx1.xDPRICE = Z2C;
}
if Z2xMTA < Z2xM1 AND (Z2iDX > Z2xMTAx1.xDiDX + 120) AND (Z2xMTAx1.xDPRICE < Z2C*0.98) ) then
xREADY = TRUE;
else
xREADY = false;
위와 같이 작성하시면 됩니다.
데드크로스 되고 120봉 이상경과했고
2%이상 하락했으면 true입니다.
5.
해당 부분은 특별히 문제가 될만한 부분은 보이지 않습니다.
MTA가 몸통을 관통해야 하므로
(MAX(C, O) > MTA) AND (MTA > Min(C, O))
로 표현하시면 됩니다.
if ( DATA2( (H >= L + PRICESCALE * 50) AND (H > MAX(C, O)) AND (L == MIN(C, O)) AND
(MAX(C, O) > MTA) AND (MTA > Min(C, O)) AND (C < O) ) ) Then
SS = TRUE;
즐거운 하루되세요
> gt 님이 쓴 글입니다.
> 제목 : 수식 문의
> 1. 시세가 상하로 움직인 거리를 N기간동안 누적하고 이를 N기간으로 나눔
여기서 구한 값을 5일, 20일 이동평균을 구한 후 MACD(5, 20)을 취한 값을 구하고자 합니다.
지표부탁드립니다.
2. 해외선물 포지션 트레이딩을 할 경우 매일 아침 시스템이 리셋되는데 예스스팟도 리셋되어 초기화부분부터 다시 불러지게 되는게 맞는지요? 그렇다면 이전에 진입한 포지션은 어떻게 확인가능한가요?? 잔고함수로 현재 잔고를 확인해서 포지션보유유무를 알수 있는 것까지는 파악했는데, 차트에서 신호발생시 어떠한 신호인지도 파악이 가능한지요? 가령 A,B,C의 신호가 있고 전일 A신호가 발생되어 진입되어 있다고 하면 예스스팟을 다시 시작하면서 진입신호도 체크가능한지요?
또한, A신호가 발생시 확장차트도 생성해서 A신호내에서 또다른 전략을 구사하고자 하는데 마찬가지로 서버리셋이후 아침에 재접속시 포지션확인과 신호확인후 확장차트 또한 불러지게 하는 것이 가능한지요??
3. 확장차트 생성후 A신호가 청산되면 확장차트도 자동삭제되게 할 수 있는지요? 얼마전 차트제거는 되지 않는다는글을 본듯한데 확실한 답변을 듣고자 합니다. 확장차트도 어떻게 보면 메인시그널의 종속적인 부분인데 이를 지원하지 않는다면 추후 검토해주시면 고맙겠습니다.
4. 아래수식 검증부탁드립니다. 뭐가 문제인지 잘되지 않네요..
VARS: Z2xMTAx1.xDiDX(-1, DATA2);
VARS: Z2xMTAx1.xDPRICE(0, DATA2);
VARS: Z2xMTAx1.xDGetReady(FALSE, DATA2), xREADY(FALSE, DATA2);
// MTAx1
if ( (Z2xMTAx1.xDGetReady == FALSE) AND (DATA2(CROSSDOWN(Z2xMTA, Z2xM1))) ) then { Z2xMTAx1.xDiDX = Z2iDX; Z2xMTAx1.xDPRICE = Z2C; Z2xMTAx1.xDGetReady = TRUE; }
if ( (Z2xMTAx1.xDGetReady == TRUE) AND (DATA2(CROSSUP(Z2xMTA, Z2xM1))) ) then { Z2xMTAx1.xDGetReady = FALSE; Z2xMTAx1.xDiDX = -1; Z2xMTAx1.xDPRICE = 0; }
if ( (Z2xMTAx1.xDGetReady == TRUE) AND (Z2iDX > Z2xMTAx1.xDiDX + 120) AND (Z2xMTAx1.xDPRICE < Z2C - PRICESCALE * 300) ) then { xREADY = TRUE; }
xREADY가 TRUE되는 조건은 CROSSDOWN된지 120봉이 지났고, CROSS될때의 값보다 300틱 작을때입니다. 식 검증부탁드림과 동시에 300틱으로 설정한 부분을 2%하락으로 변경부탁드립니다.
5.
if ( DATA2( (H >= L + PRICESCALE * 50) AND (H > MAX(C, O)) AND (L == MIN(C, O)) AND (H > MTA) AND (MTA < MAX(C, O)) AND (C < O) ) ) Then SS = TRUE; // DOWNTREND SHOOTING STAR
봉의 길이가 50틱 이상이고, 하락장악형의 모양으로 몸통이 MTA선을 하방관통하면 SS = TRUE;로 해주는데 잘되질 않네요. 검증부탁드립니다.
질문이 다소많습니다. 미리 감사드립니다.