커뮤니티
추가 문의드립니다.
2017-11-23 15:55:58
190
글번호 114433
안녕하세요.
55613번에서 답변해 주신 대로 수정하였더니 같은 캔들내에서 손절하고 다시 진입하는 현상은 없어졌습니다. 감사합니다.
그런데, 3개 캔들 이내에서(index < dni+3) 손절(SetStopLoss)이 발생한 후 그 다음 캔들에서 다시 진입을 하고 있는 것이 아직도 문제입니다. 같은 캔들내에서 진입을 안하지만, 다음 캔들에서...ㅜㅜ 첨부한 이미지 보시면 무려 3번 진입 손절을 반복합니다...
진입은 3개 캔들이내에서 무조건 1번만 일어나게 해야 될 거 같습니다. 부탁드리겠습니다.
----------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
기존수식에 entry변수가 매수에 진입하면
false로 변경되게 작성은 되어 있는데
매수진입식에는 조건으로 사용되지는 앟아 추가했습니다.
var : dni(0),ep(0),entry(false);
if MarketPosition <= 0 and 진입조건 then{
dni = index;
EP = C;
entry = true;
}
if MarketPosition == 1 Then
entry = false;
If MarketPosition <= 0 and entry == true and
index >= Dni and index < dni+3 then
Buy("매수2", atlimit, EP - PriceScale*3);
SetStoploss(0.40,Pointstop);
SetStopProfittarget(0.60, Pointstop);
즐거운 하루되세요
> 맘속의행복 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요.
지난주에 문의드렸던 55559,55435번 관련해서 문의드립니다.
아래는 해당 수식입니다.
-----------------------------------------------------------
var : dni(0),ep(0),entry(false);
if MarketPosition <= 0 and 진입조건 then{
dni = index;
EP = C;
entry = true;
}
if MarketPosition == 1 Then
entry = false;
If MarketPosition <= 0 and index >= Dni and index < dni+3 then
Buy("매수2", atlimit, EP - PriceScale*3);
SetStoploss(0.40,Pointstop);
SetStopProfittarget(0.60, Pointstop);
------------------------------------------------------------------------
진입 신호발생가 발생한 캔들 이후 3개 캔들 이내에서 목표가격에
도달하면 진입시키는 수식인데요.
문제는 3개 캔들이내에서는 포지션이 없는 경우 반복적으로 진입을 하기 때문에,
손절이 발생해도 다시 진입하여 또 손절처리되는 경우입니다.
자칫하면 대량 손실이(각 캔들마다 진입과 손절 하나씩..) 발생할 수 있어서
무조건 한번만 진입시키려고 합니다. 방법을 알려주시면 감사하겠습니다.
- 1. dni.jpg (0.08 MB)
답변 2
예스스탁 예스스탁 답변
2017-11-24 10:44:06
안녕하세요
예스스탁입니다.
해당 내용은 지정하는 "진입조건" 내용이 중요합니다.
해당 조건이 만족하면 변수가 초기화되기 때문에
진입조건 자체가 구간이 아닌 한봉시점에만 만족하게
사용자분이 진입내용에 따라 코딩으로 해결하셔야 합니다.
만약, 진입조건이 ma(c,5) > ma(c,20)과 같이
구간단위로 만족하는 조건이면 해당 구간내에는 변수가
계속 초기화 되어 진입이 되므로
crossup(ma(c,5),ma(C,20))과 변경하여 여러봉에 걸쳐 만족하지
않게 지정하셔야 합니다.
즐거운 하루되세요
> 맘속의행복 님이 쓴 글입니다.
> 제목 : 추가 문의드립니다.
> 안녕하세요.
55613번에서 답변해 주신 대로 수정하였더니 같은 캔들내에서 손절하고 다시 진입하는 현상은 없어졌습니다. 감사합니다.
그런데, 3개 캔들 이내에서(index < dni+3) 손절(SetStopLoss)이 발생한 후 그 다음 캔들에서 다시 진입을 하고 있는 것이 아직도 문제입니다. 같은 캔들내에서 진입을 안하지만, 다음 캔들에서...ㅜㅜ 첨부한 이미지 보시면 무려 3번 진입 손절을 반복합니다...
진입은 3개 캔들이내에서 무조건 1번만 일어나게 해야 될 거 같습니다. 부탁드리겠습니다.
----------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
기존수식에 entry변수가 매수에 진입하면
false로 변경되게 작성은 되어 있는데
매수진입식에는 조건으로 사용되지는 앟아 추가했습니다.
var : dni(0),ep(0),entry(false);
if MarketPosition <= 0 and 진입조건 then{
dni = index;
EP = C;
entry = true;
}
if MarketPosition == 1 Then
entry = false;
If MarketPosition <= 0 and entry == true and
index >= Dni and index < dni+3 then
Buy("매수2", atlimit, EP - PriceScale*3);
SetStoploss(0.40,Pointstop);
SetStopProfittarget(0.60, Pointstop);
즐거운 하루되세요
> 맘속의행복 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요.
지난주에 문의드렸던 55559,55435번 관련해서 문의드립니다.
아래는 해당 수식입니다.
-----------------------------------------------------------
var : dni(0),ep(0),entry(false);
if MarketPosition <= 0 and 진입조건 then{
dni = index;
EP = C;
entry = true;
}
if MarketPosition == 1 Then
entry = false;
If MarketPosition <= 0 and index >= Dni and index < dni+3 then
Buy("매수2", atlimit, EP - PriceScale*3);
SetStoploss(0.40,Pointstop);
SetStopProfittarget(0.60, Pointstop);
------------------------------------------------------------------------
진입 신호발생가 발생한 캔들 이후 3개 캔들 이내에서 목표가격에
도달하면 진입시키는 수식인데요.
문제는 3개 캔들이내에서는 포지션이 없는 경우 반복적으로 진입을 하기 때문에,
손절이 발생해도 다시 진입하여 또 손절처리되는 경우입니다.
자칫하면 대량 손실이(각 캔들마다 진입과 손절 하나씩..) 발생할 수 있어서
무조건 한번만 진입시키려고 합니다. 방법을 알려주시면 감사하겠습니다.
맘속의행복
2017-11-27 02:31:00
안녕하세요.
답변 감사드립니다.
답변해 주신 것을 참고로 진입조건을 "CrossUp" 을 사용하여 한봉에서만
이벤트가 발생하게 아래의 학습용 수식을 짜 보았습니다.
var : dni(0),ep(0),entry(false);
if MarketPosition <= 0 and crossup(ma(c,5),ma(C,20)) then{
dni = index;
EP = C;
entry = true;
}
if MarketPosition == 1 Then
entry = false;
If MarketPosition <= 0 and entry == true and
index >= Dni and index < dni+3 then
{
Buy("매수", atlimit, EP - PriceScale*3);
SetStoploss(0.40,Pointstop);
SetStopProfittarget(0.50, Pointstop);
}
--------------------------------------------------------------------------------------
제가 구현하고자 하는 것은 진입조건 발생시 이후 3개 봉 범위 내에서 2틱 저렴하게 1번만
매수하는 것입니다.
다시 말해, 3개 봉 이내에서(dni+3), 진입가격(EP - PriceScale*3)에 도달하면 단 1번만 진입시키고 싶습니다.
현재는 매수포지션이 아닌경우 진입가격 충족시 계속해서 진입을 합니다, 즉 손절이 되면
곧바로 다시 매수를 하게 됩니다. 첨부한 이미지에서 보이다시피, 3개 봉에서 3번 진입하여 3번 손절이 발생하는 상황이 발생하기도 합니다. 1번만 진입하게 할 방법이 필요합니다. 꼭 좀 부탁드리겠습니다.
항상 감사합니다.
* (첨부이미지 "1"은 본래 취지대로 성공한 경우, "2"는 대량 손실난 경우)
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 추가 문의드립니다.
> 안녕하세요
예스스탁입니다.
해당 내용은 지정하는 "진입조건" 내용이 중요합니다.
해당 조건이 만족하면 변수가 초기화되기 때문에
진입조건 자체가 구간이 아닌 한봉시점에만 만족하게
사용자분이 진입내용에 따라 코딩으로 해결하셔야 합니다.
만약, 진입조건이 ma(c,5) > ma(c,20)과 같이
구간단위로 만족하는 조건이면 해당 구간내에는 변수가
계속 초기화 되어 진입이 되므로
crossup(ma(c,5),ma(C,20))과 변경하여 여러봉에 걸쳐 만족하지
않게 지정하셔야 합니다.
즐거운 하루되세요
> 맘속의행복 님이 쓴 글입니다.
> 제목 : 추가 문의드립니다.
> 안녕하세요.
55613번에서 답변해 주신 대로 수정하였더니 같은 캔들내에서 손절하고 다시 진입하는 현상은 없어졌습니다. 감사합니다.
그런데, 3개 캔들 이내에서(index < dni+3) 손절(SetStopLoss)이 발생한 후 그 다음 캔들에서 다시 진입을 하고 있는 것이 아직도 문제입니다. 같은 캔들내에서 진입을 안하지만, 다음 캔들에서...ㅜㅜ 첨부한 이미지 보시면 무려 3번 진입 손절을 반복합니다...
진입은 3개 캔들이내에서 무조건 1번만 일어나게 해야 될 거 같습니다. 부탁드리겠습니다.
----------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
기존수식에 entry변수가 매수에 진입하면
false로 변경되게 작성은 되어 있는데
매수진입식에는 조건으로 사용되지는 앟아 추가했습니다.
var : dni(0),ep(0),entry(false);
if MarketPosition <= 0 and 진입조건 then{
dni = index;
EP = C;
entry = true;
}
if MarketPosition == 1 Then
entry = false;
If MarketPosition <= 0 and entry == true and
index >= Dni and index < dni+3 then
Buy("매수2", atlimit, EP - PriceScale*3);
SetStoploss(0.40,Pointstop);
SetStopProfittarget(0.60, Pointstop);
즐거운 하루되세요
> 맘속의행복 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요.
지난주에 문의드렸던 55559,55435번 관련해서 문의드립니다.
아래는 해당 수식입니다.
-----------------------------------------------------------
var : dni(0),ep(0),entry(false);
if MarketPosition <= 0 and 진입조건 then{
dni = index;
EP = C;
entry = true;
}
if MarketPosition == 1 Then
entry = false;
If MarketPosition <= 0 and index >= Dni and index < dni+3 then
Buy("매수2", atlimit, EP - PriceScale*3);
SetStoploss(0.40,Pointstop);
SetStopProfittarget(0.60, Pointstop);
------------------------------------------------------------------------
진입 신호발생가 발생한 캔들 이후 3개 캔들 이내에서 목표가격에
도달하면 진입시키는 수식인데요.
문제는 3개 캔들이내에서는 포지션이 없는 경우 반복적으로 진입을 하기 때문에,
손절이 발생해도 다시 진입하여 또 손절처리되는 경우입니다.
자칫하면 대량 손실이(각 캔들마다 진입과 손절 하나씩..) 발생할 수 있어서
무조건 한번만 진입시키려고 합니다. 방법을 알려주시면 감사하겠습니다.
다음글
이전글