커뮤니티
수식 질문입니다.
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); ## 나머지일떄 스탑로스 해제
매수후 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)"))으로 표현 가능합니까?
다음글
이전글