커뮤니티
수정요청
2018-12-12 15:43:48
142
글번호 124379
바쁘신 중에 수식문의에 답해주셔서 고맙습니다.
그런데
시뮬레이션 결과
요청내용대로 장중에 2.60에 도달하면 체결되는 경우들과
0901분에 3.72/ 5.73 /4.88 가격으로 바로 매수하는 경우들이 발생합니다.(별첨 참조)
2.60을 완성된 봉이 위쪽이나 아래쪽 방향에서 터치할 때 체결하는 수식으로 정정해주시면 고맙겠습니다.
*****************************************************************
안녕하세요
예스스탁입니다.
input : Price(2.60), 당일최대진입횟수(1),진입시작시간(090000),진입종료시간(143000);
input : 손절(32),익절(290),TR(46);
var : T1(0),entry(0),Tcond(false);
if bdate != bdate[1] Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시작시간) or
(sdate == sdate[1] and stime >= 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
T1 = TotalTrades;
}
if (sdate != sdate[1] and stime >= 진입종료시간) or
(sdate == sdate[1] and stime >= 진입종료시간 and stime[1] < 진입종료시간) Then
Tcond = false;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if entry < 당일최대진입횟수 and
MarketPosition == 0 and
Tcond == true and
crossup(C,Price) then
buy("b1");
if MarketPosition == 1 then
{
if C <= EntryPrice-PriceScale*손절 Then
exitlong("bl1");
if C >= EntryPrice+PriceScale*익절 Then
ExitLong("bp1");
if C <= highest(h,BarsSinceEntry)-PriceScale*TR Then
ExitLong("btr1");
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 문의
> 아래 수식은
봉미완성시에 지정한 가격에 해당하는 시세가 발생하면
즉시 신호가 발생하는 수식입니다.
수식을 모두 봉완성 기준으로 바꾸어 주셨으면 합니다.
(진입,손절,익절,tr)
비교가 필요하여 요청드립니다.
********************************************************************
input : Price(2.96), 당일최대진입횟수(1),진입시작시간(090000),진입종료시간(143000);
input : 손절(40),익절(270),TR(115);
var : T1(0),entry(0),Tcond(false);
if bdate != bdate[1] Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시작시간) or
(sdate == sdate[1] and stime >= 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
T1 = TotalTrades;
}
if (sdate != sdate[1] and stime >= 진입종료시간) or
(sdate == sdate[1] and stime >= 진입종료시간 and stime[1] < 진입종료시간) Then
Tcond = false;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if entry < 당일최대진입횟수 and MarketPosition == 0 and Tcond == true then{
if NextBarOpen <= Price Then
buy("b1",AtStop,Price);
}
if MarketPosition == 1 then
{
ExitLong("bl1",AtStop,EntryPrice-PriceScale*손절);
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*익절);
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR);
}
- 1. 봉기준.jpg (0.19 MB)
답변 1
예스스탁 예스스탁 답변
2018-12-12 16:04:51
안녕하세요
예스스탁입니다.
1
해당 내용은 아래 내용외에는 추가로 수정해 드릴만한 부분이 없습니다.
봉완성기준으로 하면 종가기준으로만 가능합니다.
완성봉 기준으로는 별도의 방법이 없습니다. 가장 가까운 값이 종가입니다.
하향이탈을 추가하며 아래와 같습니다
input : Price(2.60), 당일최대진입횟수(1),진입시작시간(090000),진입종료시간(143000);
input : 손절(32),익절(290),TR(46);
var : T1(0),entry(0),Tcond(false);
if bdate != bdate[1] Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시작시간) or
(sdate == sdate[1] and stime >= 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
T1 = TotalTrades;
}
if (sdate != sdate[1] and stime >= 진입종료시간) or
(sdate == sdate[1] and stime >= 진입종료시간 and stime[1] < 진입종료시간) Then
Tcond = false;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if entry < 당일최대진입횟수 and
MarketPosition == 0 and
Tcond == true and
(crossup(C,Price) or CrossDown(c,Price)) then
buy("b1");
if MarketPosition == 1 then
{
if C <= EntryPrice-PriceScale*손절 Then
exitlong("bl1");
if C >= EntryPrice+PriceScale*익절 Then
ExitLong("bp1");
if C <= highest(h,BarsSinceEntry)-PriceScale*TR Then
ExitLong("btr1");
}
2
이전 올리신 미완성에 발생하는 신호에
Price보다 가격이 높으면 하락해 Price이하의 시세가 발생할때를 추가하고자 하시면
아래식 이용하시면 됩니다.
input : Price(2.96), 당일최대진입횟수(1),진입시작시간(090000),진입종료시간(143000);
input : 손절(40),익절(270),TR(115);
var : T1(0),entry(0),Tcond(false);
if bdate != bdate[1] Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시작시간) or
(sdate == sdate[1] and stime >= 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
T1 = TotalTrades;
}
if (sdate != sdate[1] and stime >= 진입종료시간) or
(sdate == sdate[1] and stime >= 진입종료시간 and stime[1] < 진입종료시간) Then
Tcond = false;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if entry < 당일최대진입횟수 and MarketPosition == 0 and Tcond == true then{
if NextBarOpen <= Price Then
buy("b1",AtStop,Price);
Else
buy("b2",Atlimit,Price);
}
if MarketPosition == 1 then
{
ExitLong("bl1",AtStop,EntryPrice-PriceScale*손절);
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*익절);
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR);
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 수정요청
> 바쁘신 중에 수식문의에 답해주셔서 고맙습니다.
그런데
시뮬레이션 결과
요청내용대로 장중에 2.60에 도달하면 체결되는 경우들과
0901분에 3.72/ 5.73 /4.88 가격으로 바로 매수하는 경우들이 발생합니다.(별첨 참조)
2.60을 완성된 봉이 위쪽이나 아래쪽 방향에서 터치할 때 체결하는 수식으로 정정해주시면 고맙겠습니다.
*****************************************************************
안녕하세요
예스스탁입니다.
input : Price(2.60), 당일최대진입횟수(1),진입시작시간(090000),진입종료시간(143000);
input : 손절(32),익절(290),TR(46);
var : T1(0),entry(0),Tcond(false);
if bdate != bdate[1] Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시작시간) or
(sdate == sdate[1] and stime >= 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
T1 = TotalTrades;
}
if (sdate != sdate[1] and stime >= 진입종료시간) or
(sdate == sdate[1] and stime >= 진입종료시간 and stime[1] < 진입종료시간) Then
Tcond = false;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if entry < 당일최대진입횟수 and
MarketPosition == 0 and
Tcond == true and
crossup(C,Price) then
buy("b1");
if MarketPosition == 1 then
{
if C <= EntryPrice-PriceScale*손절 Then
exitlong("bl1");
if C >= EntryPrice+PriceScale*익절 Then
ExitLong("bp1");
if C <= highest(h,BarsSinceEntry)-PriceScale*TR Then
ExitLong("btr1");
}
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 문의
> 아래 수식은
봉미완성시에 지정한 가격에 해당하는 시세가 발생하면
즉시 신호가 발생하는 수식입니다.
수식을 모두 봉완성 기준으로 바꾸어 주셨으면 합니다.
(진입,손절,익절,tr)
비교가 필요하여 요청드립니다.
********************************************************************
input : Price(2.96), 당일최대진입횟수(1),진입시작시간(090000),진입종료시간(143000);
input : 손절(40),익절(270),TR(115);
var : T1(0),entry(0),Tcond(false);
if bdate != bdate[1] Then
Tcond = false;
if (sdate != sdate[1] and stime >= 진입시작시간) or
(sdate == sdate[1] and stime >= 진입시작시간 and stime[1] < 진입시작시간) Then{
Tcond = true;
T1 = TotalTrades;
}
if (sdate != sdate[1] and stime >= 진입종료시간) or
(sdate == sdate[1] and stime >= 진입종료시간 and stime[1] < 진입종료시간) Then
Tcond = false;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if entry < 당일최대진입횟수 and MarketPosition == 0 and Tcond == true then{
if NextBarOpen <= Price Then
buy("b1",AtStop,Price);
}
if MarketPosition == 1 then
{
ExitLong("bl1",AtStop,EntryPrice-PriceScale*손절);
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*익절);
ExitLong("btr1",AtStop,highest(h,BarsSinceEntry)-PriceScale*TR);
}