답변완료
문의드립니다 ㅠ
첫번째 질문입니다
Data1 : 삼전 1분봉 차트
Data2 : 삼전 일봉 차트
매수해서 보유하고 있는 상황이라고 가정하고,
아래 1번과 2번의 차이는, NextBarStime >= 151000 인지 stime >= 151000 인지 밖에 없는데
복사붙여넣기해서 1번을 해보면 아예 작동이 안되고 2번을 해보면 작동이 잘 됩니다.
'이번봉시간', '다음봉시간'이라 별 차이가 없을 것 같은데 왜 그럴까요?
1번
Else if MarketPosition==1 and stime >= 151000 and NextBarSdate == sDate Then
SetStopLoss( 1*Data2(ATr(20)) , PointStop );
Else
SetStopLoss(0);
2번
Else if MarketPosition==1 and NextBarStime >= 151000 and NextBarSdate == sDate Then
SetStopLoss( 1*Data2(ATr(20)) , PointStop );
Else
SetStopLoss(0);
--------------------------------------------
두번째 질문입니다.
위의 것과 연계된 질문인데....
피라미딩을 하게 되면 첫진입 -> 피라미딩1 -> 피라미딩2 이런식으로 진행이 될때,
최초 진입한 경우, 최초진입가 - 1*Data2(ATr(20)) 가 되면 전부 청산하고
이와 별개로 따로 강제청산을 설정해줬습니다 (진입가보다 (2*Data2(ATr(20)) 이상 떨어지면 강제청산)
최초 진입한 물량(피라미딩 하기 전)의 손절선은, 최초 진입가격 - 1*Data2(ATr(20)가 되고,
이후 가격이 상승하면서 피라미딩한 물량들의 강제청산 손절선은, 개별 진입가격 - 2*Data2(ATr(20))으로 하고자 했습니다
Data1 : 삼전 1분봉 차트
Data2 : 삼전 일봉 차트
if MarketPosition==1 and Stime >= 151000 and NextBarSdate == sDate Then
{
ExitLong("최초손절", atstop, EntryPrice - 1*Data2(ATr(20)) );
}
Else if MarketPosition==1 and Stime >= 151000 and NextBarSdate == sDate Then
SetStopLoss( 2*Data2(ATr(20)) , PointStop );
Else
SetStopLoss(0);
여기서도 Stime이 아니라 NextBarStime으로 하면 작동이 됩니다
(왜 그런지 1번 질문에 여쭤봤습니다)
근데 최초손절에도 NextBarStime을 설정하고 / 강제청산에도 NextBarStime을 설정하면
최초손절만 작동하고 else if에 있는 강제청산은 작동하지 않습니다.
이게 이해가 안되서 질문 남깁니다 ㅠㅠ
둘다 잘 작동하게 하려면 어찌해야할까요....
2023-04-19
1006
글번호 168305
시스템
답변완료
문의드립니다
1분봉 기준으로 주식 차트를 보면,
3시 17분봉, 18분봉, 19분봉, 20분봉 -> 동시호가 -> 31분봉(확정된 종가)
이렇게 나타납니다
Data1 : 해당 종목의 1분봉 차트
Data2 : 해당 종목의 일봉 차트 (전일부터 20일간 고가를 판단하기 위함)
if MarketPosition==0 and stime >= 151000 Then
{
Buy("진입", AtStop, Data2(highest(C,20)), 수량 );
}
이렇게 식을 짰을때,
20분봉까지는 실시간 현재가가 Data2(highest(C,20))를 넘지못하다가,
31분봉째 확정된 종가가 Data2(highest(C,20))를 넘어섰다면
1. 다음날 아침 9시 이후(9시? 9시1분?)에 buy 주문이 들어가는지요?
2. 주문이 안들어간다면, 주문이 들어가게 하려면 어떻게 식을 만들어야할까요?
: 분봉차트에서 마지막 확정된 종가(31분봉)가 Data2(highest(C,20))를 넘어섰을때,
다음날 개장할때쯤(9시나 9시1분) buy주문이 되도록 하고 싶습니다.
2023-04-19
778
글번호 168304
시스템
답변완료
문의
그물망 차트에서
상한선 상승돌파할때 매수
하한선 하락돌파할때 매도
부탁드리고요
또한
input : period(5),interval(5);
var : Hval(0),cnt(0);
array : value[10](0);
value[1] = ma(C, period);
value[2] = ma(C, period+interval*1);
value[3] = ma(C, period+interval*2);
value[4] = ma(C, period+interval*3);
value[5] = ma(C, period+interval*4);
value[6] = ma(C, period+interval*5);
value[7] = ma(C, period+interval*6);
value[8] = ma(C, period+interval*7);
value[9] = ma(C, period+interval*8);
Hval = 0;
for cnt = 1 to 9{
if Hval > value[cnt] then
Hval = value[cnt];
}
if crossup(C,Hval) then
find(1);
검증해보니, interval.이 문제가 있다고 나오는데 식 수정부탁드릴꼐요..
2023-04-18
1212
글번호 168302
시스템
답변완료
수고많으십니다. 수식수정부탁드립니다.
/*수고많으십니다.
수식작성 왕초보입니다.
기본차트와 종목추가(Data2)두종목의 체결정보를 수동으로 입력하고, 두종목의 손익의 합이 일정금액이상이면
두종목 모두 동시청산을 하고 재진입 안되도록 수동입력정보를 (0)으로 리셋하는 시스템을 만드는 것이 목표입니다.*/
Inputs: 보유포지션(1), 보유수량(2), 체결가격(13,270.50),호가(0.25),틱가치(5),목표수익(500),보유포지션2(-1), 보유수량2(2), 체결가격2(2),호가2(0.01),틱가치2(10);
//기본차트
//기본챠트 매도인지매수인지 포지션현황
MarketPosition==(보유포지션);
//기본챠트 보유수량
CurrentContracts==(보유수량);
//기본챠트 체결가격
EntryPrice==(체결가격);
//기본차트의 가격차이 진입가격이 13,270.50이고 기본차트 종가가 13,300.50 이라면 차이나는 지수는 30
var1=MarketPosition-c;
//차이나는 지수30 이나 호가0.25 이므로 120포인트로 환산한다.
Var2=var1/호가;
//수익포인트 120에 틱가치5달러를 하면 기본챠트수익이 600달러
Var3=Var2 *(틱가치);
//보조챠트
//보조챠트 매도인지매수인지 포지션현황
var21=data2(MarketPosition==(보유포지션));
//보조챠트 보유수량
data2(CurrentContracts==(보유수량));
//보조챠트 체결가격
data2(EntryPrice==(체결가격));
//보조차트의 가격차이 진인가격이 80.00이고 기본차트 종가가 80.10이라면 차이나는지수는 0.10
var11=var21-data2(c);
//차이나는 지수0.10이나 호가0.01이므로 10포인트로 환산한다.
Var12=var11/호가;
//손실포인트 10에 틱가치10달러를 하면 보조챠트손익이 100달러
Var13=Var12 *(틱가치);
//기본챠트수익과 보조챠트손실 합계 수익500달러
var14=var3+var13;
//목표수익발생되었으므로 두종목포지션 일괄동시청산
//기본챠트 청산
if 목표수익>=500 and MarketPosition==1 Then
{
Sell();
}
if 목표수익>=500 and MarketPosition==-1 Then
{
Buy();
}
//보조챠트 청산
if 목표수익>=500 and Var21==1 Then
{
Sell();
}
if 목표수익>=500 and Var21==-1 Then
{
Buy();
}
/*질문 : 1. 위와같이 수식을 작성하는 것이 맞는지 검토 부탁드립니다.
2. 포지션이 여러개인경우 청산수식 부탁드립니다.
3. 포지션이 쳥산된 경우 수동입력값을 (0)으로 리셋하는 수식 부탁드립니다.*/
검증시 에러가 나네요
줄수6 열수 37 배열형 입력변수는 함수에서만 쓸수 있습니다.
줄수6 열수 48 문번에러, 잘몰된 토큰:comma(,)올 수 있는 것
줄수30 열수1 뒤의수식에는 데이터번호가 일요 없습니다.
감사합니다.
2023-04-18
662
글번호 168300
시스템
답변완료
함수요청
안녕하세요?
아래 글번호 81738번 재질문입니다.
아래의 스크립트에 답변주신 내용을 적용하고자 합니다.
스크립트 수정 부탁드립니다.
(아래에 전략에 추가적으로 청산이 손실일 경우에만 익봉에 반대로 진입하고 진입했던 봉만큼 보유하고 청산(5개봉))
Condition1 = var1 < Var2 ;
Condition2 = var1 > Var2;
if NextBarSdate != sDate Then
{
if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition2 == true
Then
Buy("b1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and
condition2 == true then
Buy("b2",AtMarket);
}
if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition1 == true Then
Sell("s1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and
condition1 == true Then
Sell("s2",AtMarket);
}
}
if MarketPosition == 1 and BarsSinceEntry == 5 Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 and BarsSinceEntry == 5 Then
ExitShort("sx",AtMarket);
2023-04-18
577
글번호 168294
시스템
답변완료
부탁드립니다
수고하십니다.
분봉챠트에 일봉,주봉,월봉지표를 출력하고 싶습니다.
1. rsi(14) siganl(9)
2. 후행스팬(9,26,52), 볼린저밴드(20,2)
3. DIPlus(14), DIMinus(14)
감사합니다.
2023-04-18
1084
글번호 168292
지표