커뮤니티

프로그램 실행에러 입니다.

프로필 이미지
한걸음7
2012-01-17 16:20:35
326
글번호 46716
답변완료
안녕하세요. 아래 짜 주신 프로그램 챠트 1초 또는 혹시나 해서 3초로도 해 놓고 여러번 실행 하였습니다. 실행은 주 챠트 콜, 보조 챠트 풋 , 반대로 하여 두개 실행 시켰습니다. 실행하니 진입 각1개씩 매도 후 뒤에 마음대로 진행 되더군요. 마음대로 => 추가매도 후 바로 매수 청산 매도 ,또는 진입 한개후 추가 작동 안함 프로그램 다시 확인 부탁드립니다. 콜매도 1개 1초나 2초 뒤 풋매도 1개 , 그리고 콜매도 1개 풋매도 1개 이렇게 순차적으로 각 10개 매도 하는 경우 입니다. 수고하세요~ ===================================================================== 분봉을 사용하시면 초당 설정하여 피라미딩을 할 수 없습니다. 봉하나당 하나씩 발생하므로 1분봉이면 9시 14분 이후로 봉하나당 하나씩 발생하게 됩니다. 초봉으로 차트에 설정하시고 적용하셔야 합니다. 피라미딩을 모든 진입신호 허용으로 설정하시면 됩니다. var : D1v(0,data1),d2v(0,data2),entry(0,data1),sum(0,data1); D1v = data1(C); D2v = data2(C); sum = D2v+D2v; if data1(stime == 091400) Then{ Entry = D1v+D2v; if MarketPosition == 0 Then Sell("s",OnClose,def,1); } if MarketPosition == -1 Then{ if CurrentContracts < 10 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then Sell("ss",OnClose,def,1); if Crossup(Sum,Entry*1.05) Then ExitShort("bx1"); if Condition1 == false and CrossDown(Sum,Entry*0.95) Then{ ExitShort("bx2",OnClose,def,"",int(CurrentContracts*0.5),1); Condition1 = true; } } Else Condition1 = false; SetStopEndofday(141200);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-01-17 18:29:14

안녕하세요 예스스탁입니다. 식을 약간 수정했습니다. 초봉차트라 거래가 없어 봉이 비는 구간이 있으면 해당 내용때문에 신호가 달라질수 있고 실시간에서 봉의 완성시점에 차이가 발생하면 신호가 다를수 있습니다. var : sum(0,data1),cond(false,data1); sum = data1(C)+data2(C); if data1(stime == 091400) Then{ if MarketPosition == 0 Then Sell("s",OnClose,def,1); } if MarketPosition == -1 Then{ if CurrentContracts < 10 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then Sell("ss",OnClose,def,1); if data1(C)+data2(C) >= sum[BarsSinceEntry]*1.02 Then ExitShort("bx1"); if cond == false and data1(C)+data2(C) <= sum[BarsSinceEntry]*0.98 Then{ ExitShort("bx2",OnClose,def,"",int(CurrentContracts*0.5),1); cond = true; } } Else cond = false; SetStopEndofday(141200); 즐거운 하루되세요 > 한걸음7 님이 쓴 글입니다. > 제목 : 프로그램 실행에러 입니다. > 안녕하세요. 아래 짜 주신 프로그램 챠트 1초 또는 혹시나 해서 3초로도 해 놓고 여러번 실행 하였습니다. 실행은 주 챠트 콜, 보조 챠트 풋 , 반대로 하여 두개 실행 시켰습니다. 실행하니 진입 각1개씩 매도 후 뒤에 마음대로 진행 되더군요. 마음대로 => 추가매도 후 바로 매수 청산 매도 ,또는 진입 한개후 추가 작동 안함 프로그램 다시 확인 부탁드립니다. 콜매도 1개 1초나 2초 뒤 풋매도 1개 , 그리고 콜매도 1개 풋매도 1개 이렇게 순차적으로 각 10개 매도 하는 경우 입니다. 수고하세요~ ===================================================================== 분봉을 사용하시면 초당 설정하여 피라미딩을 할 수 없습니다. 봉하나당 하나씩 발생하므로 1분봉이면 9시 14분 이후로 봉하나당 하나씩 발생하게 됩니다. 초봉으로 차트에 설정하시고 적용하셔야 합니다. 피라미딩을 모든 진입신호 허용으로 설정하시면 됩니다. var : D1v(0,data1),d2v(0,data2),entry(0,data1),sum(0,data1); D1v = data1(C); D2v = data2(C); sum = D2v+D2v; if data1(stime == 091400) Then{ Entry = D1v+D2v; if MarketPosition == 0 Then Sell("s",OnClose,def,1); } if MarketPosition == -1 Then{ if CurrentContracts < 10 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then Sell("ss",OnClose,def,1); if Crossup(Sum,Entry*1.05) Then ExitShort("bx1"); if Condition1 == false and CrossDown(Sum,Entry*0.95) Then{ ExitShort("bx2",OnClose,def,"",int(CurrentContracts*0.5),1); Condition1 = true; } } Else Condition1 = false; SetStopEndofday(141200);