커뮤니티
차트에서 진입되는 것을 보면 1차 진입은 봉이 완성된다음 진입, 2차 진입은 봉중간에
2018-10-16 14:23:58
199
글번호 122736
차트에서 진입되는 것을 보면 1차 진입은 봉이 완성된다음 진입, 2차 진입은 봉중간에 진입되는것으로 차트에 보여지는데... 실제로도 그렇게 되나요??
제가 설정창에서는 진입 " 현재가 " 로 만 되어 있어서 봉완료시(저는 30분봉 설정함 )
자동으로 진입되는것 같은데 ...
2차 진입은 수식으로 넣었거든요
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
이렇게 되면 1차 진입은 봉완료되는시점에 현재가
2차 진입은 "EntryPrice(첫진입값)-P7" 첫진입값에 -P7 pt 떨어졌을때 현재가 ( 봉완료되지 않아도...)
이게 맞나요>?? 2차 진입되는것도 봉완료후에 진입되나요? 아니면 챠트에보면 봉중간에 그가격에 도달하면 진입되나요???
실제로 어떻게 되는지 궁금합니다.
그리고 두번째 아래 수식에 대한 오류는 없는것인지 확인 부탁드리겠습니다.
1.손절/익절후에는 1000 (초 or 분 or 봉 ??????)이 지난후 신규 진입이 됨
2. startime: PM 23:25분 진입 (실제로 30분봉으로 23:30이후로 진입)
3. endtime : PM 2시 50분에 청산 ( 실제로 30분봉으로 3시에 청산)
4. 55일봉과 80일봉의 우상향일때는 P2와 P1를 적용
5. 55일봉과 80일봉의 우하향일때는 P5와 P4를 적용
==> 그러면 우상향도 아니고 우하향도 아닐때는 설정이 어떻게 되어 있나요?(질문입니다)
6. 일봉의 시초가와 종가의 20일 평균값 = value1
7. 1차 진입조건 .. 2차 진입조건 (buy sell)
30분봉 기준이구요...
궁금한것은
1. 1번 의미의 숫자 (P6) 1000의 의미요 (초, 분, 봉수)???
2. 두 이평선의 혼재되었을때는 어떤 조건으로 적용된 것인지..수식을 의미를 정확히 몰라서
3. 진입 시간과 청산시간 수식이 맞는것인지
4. 2차로 진입하는 수식이 맞는지... 이전에 다른 사람이 질문에 대한 답변에서 조합해서 확신이 없음 ..ㅠㅠ
5. 맨 처음 질문한 2차 진입이 봉중간에 조건 부합시 봉이 끝나기도 전에 진입이 되는것인지
( 차트상에서는 봉중간에 선이 가있어서 물어보는것입니다. )
--> 만약 차트에는 그렇지만 실제로는 2차 진입분도 봉완료시 적용된다고 한다면
1차는 봉완료시 진입 2차는 조건완료시 봉완료와 상관없이 바로 진입 하려면
어떻게 해야하는지 알려주세요~~
=========================================================
input : P1(-0.1),P2(0.7),P4(-0.1),P5(0.1),N1(55),N2(80),P6(1000),starttime(232500),endtime(142500),P7(0.7),P8(0.6);
var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),T(0),mav2(0),mav3(0);
var : sum3(0),Tcond(false);
Condition1 = MarketPosition == 0 and ExitDate(1) == sdate and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) and
TimeToMinutes(stime) <= TimeToMinutes(ExitTime(1))+P6;
#설정
if sdate != sdate[1] then
SetStopEndofday(endtime);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
SetStopEndofday(0);#해제
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if DayClose(N2) > 0 Then
{
sum1 = 0;
sum2 = 0;
for cnt = 0 to N2-1
{
if cnt < N1 Then
sum1 = sum1 + DayClose(cnt);
if cnt < N2 Then
sum2 = sum2 + DayClose(cnt+1);
}
avg1 = sum1/N1;
avg2 = sum2/N2;
T = 0;
if avg1 >= avg2 Then
T = 1;
if avg1 < avg2 Then
T = -1;
if T == 1 Then
mav2=p2 ;
if T == -1 Then
mav2=p5;
if T == 1 Then
mav3=p1 ;
if T == -1 Then
mav3=p4 ;
sum3 = 0;
for cnt = 1 to 20
{
sum3 = sum3 + (DayHigh(cnt)-DayLow(cnt));
}
value1 = sum3/20 ;
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
- 1. 123333_캡처1.JPG (0.02 MB)
- 2. 123333_캡처2.JPG (0.03 MB)
- 3. 123333_캡처3.JPG (0.04 MB)
답변 1
예스스탁 예스스탁 답변
2018-10-17 16:14:06
안녕하세요
예스스탁입니다.
1
p6은 분입니다. p6이 사용된 수식 구분에서 확인하시기 바랍니다.
TimeToMinutes(stime) <= TimeToMinutes(ExitTime(1))+P6
2
현재 수식이 55일 88일 2개 이평의 우상향/우하향이 아닙니다.
55일-88일 이평의 골드/데드 되어 있습니다.
골드아니면 데드이므로 그이외의 내용은 없습니다.
3
시간지정은 맞습니다.
4
추가진입하게 작성된 수식이 맞습니다.
수식 적용시에 설정창의 피라미딩 탭에서
피라미딩을 다른진입신호만 허용으로 설정하시면 됩니다.
추가진입하는 전략은 수식도 추가진입하는 내용이 있어야 하고
적용시에도 피라미딩 설정을 반드시 하셔야 합니다.
5
강제청산화면의 청산시점은 강제청산에만 해당되는 내용입니다.
일반함수 buy,Sell,Exitlong,exitshort으로 작성된 내용과는 무관합니다.
현재 1차진입은 봉완성시, 2차진입은 봉미완성시에 가격조건 만족하면
즉시 진입되게 작성되어 있습니다.
차트에서 신호가 발생하면 주문이 즉시 발생합니다.
차트에서 신호가 발생했는데 봉완성이후에 주문이 나가거나 하지는 않습니다.
6
2번과 관련해서 55일과 88일 이평이 동시 상승이나 동시하락을 기준으로 하면
아래와 같이 수정하시면 됩니다. 가장최근이 동시상승이면 p1,p2
가장최근 동시하락이면 p4,p5가 적용됩니다.
input : P1(-0.1),P2(0.7),P4(-0.1),P5(0.1),N1(55),N2(80),P6(1000),starttime(232500),endtime(142500),P7(0.7),P8(0.6);
var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),T(0),mav2(0),mav3(0);
var : sum11(0),sum22(0),avg11(0),avg22(0);
var : sum3(0),Tcond(false);
Condition1 = MarketPosition == 0 and ExitDate(1) == sdate and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) and
TimeToMinutes(stime) <= TimeToMinutes(ExitTime(1))+P6;
#설정
if sdate != sdate[1] then
SetStopEndofday(endtime);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
SetStopEndofday(0);#해제
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if DayClose(N2) > 0 Then
{
sum1 = 0;
sum11 = 0;
sum2 = 0;
sum22 = 0;
for cnt = 0 to N2-1
{
if cnt < N1 Then
{
sum1 = sum1 + DayClose(cnt);
sum11 = sum11 + DayClose(cnt+1);
}
if cnt < N2 Then
{
sum2 = sum2 + DayClose(cnt);
sum22 = sum22 + DayClose(cnt+1);
}
}
avg1 = sum1/N1;
avg11 = sum11/N1;
avg2 = sum2/N2;
avg22 = sum22/N2;
if avg1 > avg11 and avg2 > avg22 Then
T = 1;
if avg1 < avg11 and avg2 < avg22 Then
T = -1;
if T == 1 Then
mav2=p2 ;
if T == 1 Then
mav3=p1 ;
if T == -1 Then
mav2=p5;
if T == -1 Then
mav3=p4 ;
sum3 = 0;
for cnt = 1 to 20
{
sum3 = sum3 + (DayHigh(cnt)-DayLow(cnt));
}
value1 = sum3/20 ;
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
즐거운 하루되세요
> 이형지 님이 쓴 글입니다.
> 제목 : 차트에서 진입되는 것을 보면 1차 진입은 봉이 완성된다음 진입, 2차 진입은 봉중간에
> 차트에서 진입되는 것을 보면 1차 진입은 봉이 완성된다음 진입, 2차 진입은 봉중간에 진입되는것으로 차트에 보여지는데... 실제로도 그렇게 되나요??
제가 설정창에서는 진입 " 현재가 " 로 만 되어 있어서 봉완료시(저는 30분봉 설정함 )
자동으로 진입되는것 같은데 ...
2차 진입은 수식으로 넣었거든요
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
이렇게 되면 1차 진입은 봉완료되는시점에 현재가
2차 진입은 "EntryPrice(첫진입값)-P7" 첫진입값에 -P7 pt 떨어졌을때 현재가 ( 봉완료되지 않아도...)
이게 맞나요>?? 2차 진입되는것도 봉완료후에 진입되나요? 아니면 챠트에보면 봉중간에 그가격에 도달하면 진입되나요???
실제로 어떻게 되는지 궁금합니다.
그리고 두번째 아래 수식에 대한 오류는 없는것인지 확인 부탁드리겠습니다.
1.손절/익절후에는 1000 (초 or 분 or 봉 ??????)이 지난후 신규 진입이 됨
2. startime: PM 23:25분 진입 (실제로 30분봉으로 23:30이후로 진입)
3. endtime : PM 2시 50분에 청산 ( 실제로 30분봉으로 3시에 청산)
4. 55일봉과 80일봉의 우상향일때는 P2와 P1를 적용
5. 55일봉과 80일봉의 우하향일때는 P5와 P4를 적용
==> 그러면 우상향도 아니고 우하향도 아닐때는 설정이 어떻게 되어 있나요?(질문입니다)
6. 일봉의 시초가와 종가의 20일 평균값 = value1
7. 1차 진입조건 .. 2차 진입조건 (buy sell)
30분봉 기준이구요...
궁금한것은
1. 1번 의미의 숫자 (P6) 1000의 의미요 (초, 분, 봉수)???
2. 두 이평선의 혼재되었을때는 어떤 조건으로 적용된 것인지..수식을 의미를 정확히 몰라서
3. 진입 시간과 청산시간 수식이 맞는것인지
4. 2차로 진입하는 수식이 맞는지... 이전에 다른 사람이 질문에 대한 답변에서 조합해서 확신이 없음 ..ㅠㅠ
5. 맨 처음 질문한 2차 진입이 봉중간에 조건 부합시 봉이 끝나기도 전에 진입이 되는것인지
( 차트상에서는 봉중간에 선이 가있어서 물어보는것입니다. )
--> 만약 차트에는 그렇지만 실제로는 2차 진입분도 봉완료시 적용된다고 한다면
1차는 봉완료시 진입 2차는 조건완료시 봉완료와 상관없이 바로 진입 하려면
어떻게 해야하는지 알려주세요~~
=========================================================
input : P1(-0.1),P2(0.7),P4(-0.1),P5(0.1),N1(55),N2(80),P6(1000),starttime(232500),endtime(142500),P7(0.7),P8(0.6);
var : cnt(0),sum1(0),sum2(0),avg1(0),avg2(0),T(0),mav2(0),mav3(0);
var : sum3(0),Tcond(false);
Condition1 = MarketPosition == 0 and ExitDate(1) == sdate and
(IsExitName("StopLoss",1) or IsExitName("StopProfitTarget",1)) and
TimeToMinutes(stime) <= TimeToMinutes(ExitTime(1))+P6;
#설정
if sdate != sdate[1] then
SetStopEndofday(endtime);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
SetStopEndofday(0);#해제
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if DayClose(N2) > 0 Then
{
sum1 = 0;
sum2 = 0;
for cnt = 0 to N2-1
{
if cnt < N1 Then
sum1 = sum1 + DayClose(cnt);
if cnt < N2 Then
sum2 = sum2 + DayClose(cnt+1);
}
avg1 = sum1/N1;
avg2 = sum2/N2;
T = 0;
if avg1 >= avg2 Then
T = 1;
if avg1 < avg2 Then
T = -1;
if T == 1 Then
mav2=p2 ;
if T == -1 Then
mav2=p5;
if T == 1 Then
mav3=p1 ;
if T == -1 Then
mav3=p4 ;
sum3 = 0;
for cnt = 1 to 20
{
sum3 = sum3 + (DayHigh(cnt)-DayLow(cnt));
}
value1 = sum3/20 ;
If MarketPosition == 0 and C >= (dayopen+value1*mav3) and Condition1 == false Then
{
Buy("매수");
}
if MaxEntries == 1 and MarketPosition == 1 Then
{
buy("추가매수",atlimit,EntryPrice-P7);
}
If MarketPosition == 0 and C <= (dayopen-value1*mav2) and Condition1 == false Then
{
sell("매도");
}
if MaxEntries == 1 and MarketPosition == -1 Then
{
Sell("추가매도",atlimit,EntryPrice+P8);
}
}
다음글
이전글