-----------------------------------------------------------------------
이 부분부터 질문입니다.
조건
1) ENTRY값을 돌파하면 매수진입
2) 초기 매수진입 후 ENTRY + NNR * 0.5 값을 돌파할 경우 피라미딩 진입(당일에만 사용)
3) 맨 마지막 진입한 매수가격에서 NNR 포인트 하락할 시 청산
4) 3)번 조건을 충족하지 않을 경우 익일 시가청산
5) 그리고 진입을 총 세번 하는 시스템을 짜려고 하는데요, 아래에 있는 식은 진입횟수가 총 두번인데 세번으로 바꾸고 싶으면 동일한 피라미딩 조건을 한번 더 입력하면 될까요?
매번 도움을 주셔서 대단히 감사합니다!
IF H <= ENTRY AND NEXTBARSDATE == SDATE
Then BUY("LONG",ATSTOP,ENTRY);
IF MarketPosition== 1 AND STIME <153000 THEN {
IF Highest(h,BarsSinceEntry) <= entry+ NNR *0.5 THEN
buy("PL",ATSTOP,entry + nnr *0.5);
}
IF MarketPosition == 1 AND NextBarSdate == SDATE Then
SetStopLoss(LatestEntryPrice-NNR,POINTSTOP);
IF MARKETPOSITION == 1 AND NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
답변 1
예스스탁
예스스탁 답변
2020-05-19 14:54:18
안녕하세요
예스스탁입니다.
동일조건이면 수식을 변경하셔야 합니다.
Highest(h,BarsSinceEntry) <= ENTRY+ NNR *0.5 조건은
ENTRY+ NNR *0.5가 가격이 높아지지 않으면 추가로 들어갈수 없는 내용입니다.
아래와 같이 수정하시면 됩니다.
Highest(h,BarsSinceEntry)는 첫진입이후의 최고가인데
해당 부분은 최근 진입이후 최고가로 변경해서
가격이 낮아졌다가 다시 올라올때 진입하게 하시면 됩니다.
var : hh(0);
IF MarketPosition == 0 and H < ENTRY AND NEXTBARSDATE == SDATE
Then BUY("LONG",ATSTOP,ENTRY);
IF MarketPosition== 1 AND STIME <153000 THEN
{
if CurrentContracts > CurrentContracts[1] Then
hh = h;
if h > hh Then
hh = h;
IF MaxEntries < 2 and hh < ENTRY+ NNR *0.5 THEN
buy("PL",ATSTOP,entry + nnr *0.5);
IF MarketPosition == 1 then
{
if NextBarSdate == SDATE Then
ExitLong("bx",AtStop,LatestEntryPrice(0)-NNR);
IF NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
}
즐거운 하루되세요
> 엠씨용가 님이 쓴 글입니다.
> 제목 : 청산 질문 드립니다
> -----------------------------------------------------------------------
이 부분부터 질문입니다.
조건
1) ENTRY값을 돌파하면 매수진입
2) 초기 매수진입 후 ENTRY + NNR * 0.5 값을 돌파할 경우 피라미딩 진입(당일에만 사용)
3) 맨 마지막 진입한 매수가격에서 NNR 포인트 하락할 시 청산
4) 3)번 조건을 충족하지 않을 경우 익일 시가청산
5) 그리고 진입을 총 세번 하는 시스템을 짜려고 하는데요, 아래에 있는 식은 진입횟수가 총 두번인데 세번으로 바꾸고 싶으면 동일한 피라미딩 조건을 한번 더 입력하면 될까요?
매번 도움을 주셔서 대단히 감사합니다!
IF H <= ENTRY AND NEXTBARSDATE == SDATE
Then BUY("LONG",ATSTOP,ENTRY);
IF MarketPosition== 1 AND STIME <153000 THEN {
IF Highest(h,BarsSinceEntry) <= entry+ NNR *0.5 THEN
buy("PL",ATSTOP,entry + nnr *0.5);
}
IF MarketPosition == 1 AND NextBarSdate == SDATE Then
SetStopLoss(LatestEntryPrice-NNR,POINTSTOP);
IF MARKETPOSITION == 1 AND NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);