커뮤니티

다시한번 부탁드립니다.

프로필 이미지
에리조나
2014-06-12 20:33:34
140
글번호 75803
답변완료
안녕하세요? 수식을 잘 받았습니다. 감사드립니다. 그런데 다시 36619번 관련 수식 적용방법에 관한 질문입니다. 수식적용차트가 data1-->5분봉, data2 ---> 20분봉, data3 -->200분봉 또는 data1-->일봉, data2 ---> 주봉, data3 -->월봉 으로 적용하면 신호가 나오는데 data1-->분봉, data2 ---> 일봉, data3 -->주봉 또는 월봉 이런식으로 적용하면 신호가 나오지 않습니다. 해결방법 좀 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-06-13 11:41:37

안녕하세요 예스스탁입니다. 다른주기를 사용하실 때는 변수를 직접 만드시고 데이터번호 지정해 주시기 바랍니다. 해당 주기로 이전값과 비교를 해야 하므로 해당 부분이 반드시 필요합니다. 참조데이터를 사용하는 모든 식에는 변수는 직접 만들고 선언에 데이터번호를 지정해서 사용해야 한다고 생각하시면 됩니다. Input : 투입금액(300000); var : vol1(0,data1),vol2(0,data2), xvol(0,data1); var : buycond(False,data1); input : P1(5),P2(60),P3(200); var : status3(0,data3), status2(0,data2), status1(0,data1); var : V1(0,data1),V2(0,data1),v3(0,data1),v4(0,data1); var : V21(0,data2),V22(0,data2),v23(0,data2),v24(0,data2); var : V31(0,data3),V32(0,data3),v33(0,data3),v34(0,data3); If CodeCategoryex == 11 Then{ if BasePrice < 50000 Then{ vol1 = int(int((투입금액*1.00)/C)/10)*10; vol2 = int(int((투입금액*0.50)/C)/10)*10; } else{ vol1 = int(int((투입금액*1.00)/C)/10)*10; vol2 = int(int((투입금액*0.80)/C)/10)*10; } } Else{ vol1 = int((투입금액*1.00)/C); vol2 = int((투입금액*0.50)/C); } //*---data3(장기봉) 조건설정하기 위함-----------------------*/ v31 = data3(ema(c,P1)); v32 = data3(ema(c,P2)); v33 = data3(ema(c,P3)); v34 = data3(ma(c,10)); if v33 > v33[1] Then status3 = 1; else if v33 < v33[1] Then status3 = -1; else status3= 0; //*---data2(중기봉) 조건설정하기 위함-----------------*/ v21 = data2(ema(c,P1)); v22 = data2(ema(c,P2)); v23 = data2(ema(c,P3)); v24 = data2(ma(c,10)); if v22 > v22[1] Then status2 = 1; else if v22 < v22[1] Then status2 = -1; else status2= 0; //*----data(단기) 조건설정하기 위함--------------------*/ v1 = data1(ema(c,P1)); v2 = data1(ema(c,P2)); v3 = data1(ema(c,P3)); v4 = data1(ma(c,10)); if v1 > v1[1] Then status1 = 1; else if v1 < v1[1] Then status1 = -1; else status1= 0; //* 3개 주기가 빨간 상태를 표시----------------*/ buycond = status3 == 1 and status2 == 1 and status1 == 1; //* 주기가 빨간 상태를 표시----------------*/ if MarketPosition == 0 and buycond == true and buycond[1] == false Then buy("B",OnClose,def,vol1); if MarketPosition == 1 Then{ //*-----현재 진입계약수를 절반만 구함 ------*/ if CodeCategoryEx == 11 and BasePrice < 50000 Then xvol = int((CurrentContracts*0.5)/10)*10; Else xvol = int(CurrentContracts*0.5); if status2 == 1 and status1 == 1 and status1[1] != 1 Then buy("b1",OnClose,def,vol1); if status2 == 1 and status1 == -1 and status1[1] != -1 Then ExitLong("bx1",OnClose,def,"",xvol,2); if status2 == -1 and status1 == 1 and status1[1] != 1 Then buy("b2",OnClose,def,vol2); if status2 == -1 and status1 == -1 and status1[1] != -1 Then ExitLong("bx2",OnClose,def,"",xvol,2); } SetStopLoss(7,PercentStop); 즐거운 하루되세요 > 에리조나 님이 쓴 글입니다. > 제목 : 다시한번 부탁드립니다. > 안녕하세요? 수식을 잘 받았습니다. 감사드립니다. 그런데 다시 36619번 관련 수식 적용방법에 관한 질문입니다. 수식적용차트가 data1-->5분봉, data2 ---> 20분봉, data3 -->200분봉 또는 data1-->일봉, data2 ---> 주봉, data3 -->월봉 으로 적용하면 신호가 나오는데 data1-->분봉, data2 ---> 일봉, data3 -->주봉 또는 월봉 이런식으로 적용하면 신호가 나오지 않습니다. 해결방법 좀 부탁드립니다.