커뮤니티

수식 질문입니다.

프로필 이미지
도레미트리오
2007-07-09 12:39:00
1555
글번호 12994
답변완료
저번 질문 대답해 주셔서 감사드리구요~^^ 그민테 제가 또 질문 올렸으니 답변 해 주시면 감사하겠습니다. 자꾸 질문이 많아 죄송하네요 1. 스탑로스에 조건 걸 수 있는 수식 있나요? 예를 들어, 매수식 스탑로스와 매도식 스탑로스를 따로 걸고, "매수 후 매수가보다 1p 떨어지면 스탑로스, 그리고 매수 후 10봉이 지난 후에,매수가보다 0.2p 떨어지면 스탑로스"이런 식으로, 스탑로스 조건을 여러 개 걸 수 있는지 궁금합니다. 그리고 if dayindex()==1 and dayclose(1)<dayopen(0) and c>c[1] then buy를 타종목 참조로 변형할 수 있습니까? if data1("dayindex()")==1 and data1("dayclose(1)")<data1("dayopen(0)") and data1("c")>data1("c[1]") then buy로 고치면 되나요? 마지막으로 선물 3개를 주문하는데 잔고가 선물 2개밖에 살 수 없는 액수밖에 없다면, 2개만 주문 나가나요 아님 하나도 못나가나요? 그리고 시물레이션에서 30분봉 기준으로 10:00에 매수주문이라고 기록되어 있는 건, 실제로는 다음 봉 시가에서 매수하게 되므로, 10:30에 주문나가는거 맞죠?? 질문이 좀 많아서 죄송하지만, 답변 부탁드려요^^
시스템
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2007-07-09 14:01:27

안녕하세요 예스스탁입니다. 1. 조건을 달리하여 강제청산을 제어할 수 있습니다. 매수일때와 매도포지션일때 다른 스탑로스 적용 if MarketPosition() == 1 Then ## 매수포지션시 SetStopLoss(1,PointStop); ## 1포인트 손절 else if MarketPosition() == -1 Then ##매도포지션시 SetStopLoss(0.5,PointStop); ##0.5포인트 손절 Else SetStopLoss(0); ## 나머지일&#46468; 스탑로스 해제 매수후 10봉안에서는 1포인트 10봉이상 경과시 0.5포인트 손절 if MarketPosition == 1 Then{ if BarsSinceEntry() < 10 Then SetStopLoss(1,pointstop); Else if BarsSinceEntry >= 10 Then Setstoploss(0.2,Pointstop); Else Setstoploss(0); if BarsSinceEntry() == 30 Then exitlong(); } 2. day~~함수는 data1과 같음 참조종목 함수에 사용할 수 없습니다. var : TDO(0,Data1),TDO1(0,Data1),TDH(0,Data1),TDH1(0,Data1), TDL(0,Data1),TDL1(0,Data1),TDC(0,Data1),TDC1(0,Data1); if Date != date[1] Then{ TDO = Data1(O); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1(H); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1(L); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1(H) > TDH Then TDH = Data1(H); ## 당일 타종목 DayLow 계산 if Data1(L) < TDL Then TDL = Data1(L); TDC = Data1(C); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 3. 30분 봉에서 10시봉에 신호가 발생하면 10시 30분에 주문이 됩니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : 수식 질문입니다. > 저번 질문 대답해 주셔서 감사드리구요~^^ 그민테 제가 또 질문 올렸으니 답변 해 주시면 감사하겠습니다. 자꾸 질문이 많아 죄송하네요 1. 스탑로스에 조건 걸 수 있는 수식 있나요? 예를 들어, 매수식 스탑로스와 매도식 스탑로스를 따로 걸고, "매수 후 매수가보다 1p 떨어지면 스탑로스, 그리고 매수 후 10봉이 지난 후에,매수가보다 0.2p 떨어지면 스탑로스"이런 식으로, 스탑로스 조건을 여러 개 걸 수 있는지 궁금합니다. 그리고 if dayindex()==1 and dayclose(1)<dayopen(0) and c>c[1] then buy를 타종목 참조로 변형할 수 있습니까? if data1("dayindex()")==1 and data1("dayclose(1)")<data1("dayopen(0)") and data1("c")>data1("c[1]") then buy로 고치면 되나요? 마지막으로 선물 3개를 주문하는데 잔고가 선물 2개밖에 살 수 없는 액수밖에 없다면, 2개만 주문 나가나요 아님 하나도 못나가나요? 그리고 시물레이션에서 30분봉 기준으로 10:00에 매수주문이라고 기록되어 있는 건, 실제로는 다음 봉 시가에서 매수하게 되므로, 10:30에 주문나가는거 맞죠?? 질문이 좀 많아서 죄송하지만, 답변 부탁드려요^^
프로필 이미지

도레미트리오

2007-07-09 18:17:37

var : TDO(0,Data1),TDO1(0,Data1),TDH(0,Data1),TDH1(0,Data1), TDL(0,Data1),TDL1(0,Data1),TDC(0,Data1),TDC1(0,Data1); if Date != date[1] Then{ TDO = Data1(O); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1(H); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1(L); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1(H) > TDH Then TDH = Data1(H); ## 당일 타종목 DayLow 계산 if Data1(L) < TDL Then TDL = Data1(L); TDC = Data1(C); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 에서 오류 메세지가 많이 뜹니다. 첫번째 줄 var:...에서 문법 오류 메세지가 나옵니다. 그리고 data1()안에 있는 변수는 ""를 붙여야 하지 않나요? 그리고 또 하나 질문 올립니다. 타종목 참조에서 가능한 함수에 ma도 포함됩니까? 예를 들면 [60이평크로스 상승돌파]는 crossup(data1("c"),data1("ma(c,60)"))으로 표현 가능합니까?
프로필 이미지

예스스탁 예스스탁 답변

2007-07-09 19:46:59

안녕하세요 예스스탁입니다. 죄송합니다. 식을 예스트레이더3.1 랭귀지 버젼으로 작성해서 올려드렸습니다. 1. 아래는 예스트레이더 3 랭귀지 버젼입니다. var : TDO(0),TDO1(0),TDH(0),TDH1(0),TDL(0),TDL1(0),TDC(0),TDC1(0); if Date != date[1] Then{ TDO = Data1("O"); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1("H"); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1("L"); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1("H") > TDH Then TDH = Data1("H"); ## 당일 타종목 DayLow 계산 if Data1("L") < TDL Then TDL = Data1("L"); TDC = Data1("C"); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 2. 예스트레이더 3.1버젼에서는 data1()안에 있는 변수에 ""를 안붙여도 됩니다. 3. crossup(data1("c"),data1("ma(c,60)")) 예스트레이더 3.1에서 가능합니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : Re : Re : 수식 질문입니다. > var : TDO(0,Data1),TDO1(0,Data1),TDH(0,Data1),TDH1(0,Data1), TDL(0,Data1),TDL1(0,Data1),TDC(0,Data1),TDC1(0,Data1); if Date != date[1] Then{ TDO = Data1(O); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1(H); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1(L); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1(H) > TDH Then TDH = Data1(H); ## 당일 타종목 DayLow 계산 if Data1(L) < TDL Then TDL = Data1(L); TDC = Data1(C); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 에서 오류 메세지가 많이 뜹니다. 첫번째 줄 var:...에서 문법 오류 메세지가 나옵니다. 그리고 data1()안에 있는 변수는 ""를 붙여야 하지 않나요? 그리고 또 하나 질문 올립니다. 타종목 참조에서 가능한 함수에 ma도 포함됩니까? 예를 들면 [60이평크로스 상승돌파]는 crossup(data1("c"),data1("ma(c,60)"))으로 표현 가능합니까?
프로필 이미지

도레미트리오

2007-07-10 10:08:43

감사합니다^^ 그러면 3.0에서 이동평균을 타종목에서 이용할 수 있는 방법은 아예 없는 건가요? crossup(data1("c"),data1("ma(c,60)")) 이걸 crossup(data1("c"),ma(data1("c"),60)으로 바꾸면 될 것 같기도 한 데... 그리고 저번에 질문 드렸던 거... 선물 3개를 매수하도록 시스템을 짰는데 지금 가지고 있는 자금이 선물 2개밖에 살 수 없다면, 2개를 살 수 있는 건가요, 아님 하나도 못사나요? 즉, 잔고가 350원이고 선물 가격이 100원이라서 3개 매수 주문 했는데, 매수신호시 선물 가격이 120원으로 올라 3개를 사려면 돈이 모자랄 때, 2개는 매수가 되나요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 수식 질문입니다. > 안녕하세요 예스스탁입니다. 죄송합니다. 식을 예스트레이더3.1 랭귀지 버젼으로 작성해서 올려드렸습니다. 1. 아래는 예스트레이더 3 랭귀지 버젼입니다. var : TDO(0),TDO1(0),TDH(0),TDH1(0),TDL(0),TDL1(0),TDC(0),TDC1(0); if Date != date[1] Then{ TDO = Data1("O"); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1("H"); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1("L"); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1("H") > TDH Then TDH = Data1("H"); ## 당일 타종목 DayLow 계산 if Data1("L") < TDL Then TDL = Data1("L"); TDC = Data1("C"); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 2. 예스트레이더 3.1버젼에서는 data1()안에 있는 변수에 ""를 안붙여도 됩니다. 3. crossup(data1("c"),data1("ma(c,60)")) 예스트레이더 3.1에서 가능합니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : Re : Re : 수식 질문입니다. > var : TDO(0,Data1),TDO1(0,Data1),TDH(0,Data1),TDH1(0,Data1), TDL(0,Data1),TDL1(0,Data1),TDC(0,Data1),TDC1(0,Data1); if Date != date[1] Then{ TDO = Data1(O); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1(H); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1(L); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1(H) > TDH Then TDH = Data1(H); ## 당일 타종목 DayLow 계산 if Data1(L) < TDL Then TDL = Data1(L); TDC = Data1(C); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 에서 오류 메세지가 많이 뜹니다. 첫번째 줄 var:...에서 문법 오류 메세지가 나옵니다. 그리고 data1()안에 있는 변수는 ""를 붙여야 하지 않나요? 그리고 또 하나 질문 올립니다. 타종목 참조에서 가능한 함수에 ma도 포함됩니까? 예를 들면 [60이평크로스 상승돌파]는 crossup(data1("c"),data1("ma(c,60)"))으로 표현 가능합니까?
프로필 이미지

예스스탁 예스스탁 답변

2007-07-10 14:18:13

안녕하세요 예스스탁입니다. crossup(data1("c"),ma(data1("c"),60) 작성하신 표현이 맞습니다. 선물 2계약을 매수할 수 있는 증거금이 있을때 1계약씩 3개의 주문이 발생하면 2계약은 매수되고 1계약은 증거금 부족으로 매수할 수 없습니다. 하지만 하나의 주문에 3계약 수량으로 나가면 증거금 3계약 모두 매수할 수 없습니다 참고하시기 바랍니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : Re : Re : Re : Re : 수식 질문입니다. > 감사합니다^^ 그러면 3.0에서 이동평균을 타종목에서 이용할 수 있는 방법은 아예 없는 건가요? crossup(data1("c"),data1("ma(c,60)")) 이걸 crossup(data1("c"),ma(data1("c"),60)으로 바꾸면 될 것 같기도 한 데... 그리고 저번에 질문 드렸던 거... 선물 3개를 매수하도록 시스템을 짰는데 지금 가지고 있는 자금이 선물 2개밖에 살 수 없다면, 2개를 살 수 있는 건가요, 아님 하나도 못사나요? 즉, 잔고가 350원이고 선물 가격이 100원이라서 3개 매수 주문 했는데, 매수신호시 선물 가격이 120원으로 올라 3개를 사려면 돈이 모자랄 때, 2개는 매수가 되나요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 수식 질문입니다. > 안녕하세요 예스스탁입니다. 죄송합니다. 식을 예스트레이더3.1 랭귀지 버젼으로 작성해서 올려드렸습니다. 1. 아래는 예스트레이더 3 랭귀지 버젼입니다. var : TDO(0),TDO1(0),TDH(0),TDH1(0),TDL(0),TDL1(0),TDC(0),TDC1(0); if Date != date[1] Then{ TDO = Data1("O"); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1("H"); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1("L"); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1("H") > TDH Then TDH = Data1("H"); ## 당일 타종목 DayLow 계산 if Data1("L") < TDL Then TDL = Data1("L"); TDC = Data1("C"); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 2. 예스트레이더 3.1버젼에서는 data1()안에 있는 변수에 ""를 안붙여도 됩니다. 3. crossup(data1("c"),data1("ma(c,60)")) 예스트레이더 3.1에서 가능합니다. 즐거운 하루되세요 > 도레미트리오 님이 쓴 글입니다. > 제목 : Re : Re : 수식 질문입니다. > var : TDO(0,Data1),TDO1(0,Data1),TDH(0,Data1),TDH1(0,Data1), TDL(0,Data1),TDL1(0,Data1),TDC(0,Data1),TDC1(0,Data1); if Date != date[1] Then{ TDO = Data1(O); //당일 타종목 DayOpen TDO1 = TDO[1]; //전일 타종목 DayOpen(1); TDC1 = TDC[1]; //전일 타종목 DayClose(1); TDH = Data1(H); //당일 타종목 초기화 TDH1 = TDH[1]; //전일 타종목 DayHigh(1); TDL = Data1(L); //전일 타종목 초기화 TDL1 = TDL[1]; //전일 타종목 DayLow(1); } ## 당일 타종목 DayHigh 계산 if Data1(H) > TDH Then TDH = Data1(H); ## 당일 타종목 DayLow 계산 if Data1(L) < TDL Then TDL = Data1(L); TDC = Data1(C); // 당일 타종목 종가 if dayindex()==1 and TDC1 < TDO and TDC > TDC[1] then buy(); 에서 오류 메세지가 많이 뜹니다. 첫번째 줄 var:...에서 문법 오류 메세지가 나옵니다. 그리고 data1()안에 있는 변수는 ""를 붙여야 하지 않나요? 그리고 또 하나 질문 올립니다. 타종목 참조에서 가능한 함수에 ma도 포함됩니까? 예를 들면 [60이평크로스 상승돌파]는 crossup(data1("c"),data1("ma(c,60)"))으로 표현 가능합니까?