커뮤니티
문의드립니다.
2017-12-22 12:25:30
193
글번호 115201
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 즐거운 주말보내세요~~
1. value1이 2 이하로 시작한 상황에서
93000분 이내로
종가가 장시작후 n개봉까지의 최고가보다 클 때 매수진입
매도는 반대
한번 직접 짜보니 'value1이 2이고' 이런 식으로 작성한 듯 합니다. 제가 생각한 신호랑 다르게 나옵니다. 만들고 싶은 것은 value1이 2 이하로 장초반 시작한 상황에서 이후 조건이 맞으면 진입하는 내용입니다. 어떻게 짜면 될까요?
2. 재질문
갭상승 갭하락에 따라 수량 다르게 들어가는 건데요. 실행해보니 갭상승한 날은 갭 진입과 그냥 진입이 동시에 됩니다. (수량 3진입)
이걸 갭상승한 날은 갭 진입만 들어가게 할 수는 없을까요?
input : atrp(20), n1(5),n2(1),n3(1),수량1(1),수량2(2);
var : atrv(0);
atrv = atr(atrp);
if NextBarSdate > sdate and NextBarOpen >= c+PriceScale*n1 Then
buy("b1",AtMarket,def,수량2);
if MarketPosition == 0 Then
buy("b2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == 1 Then{
if IsExitName("b2") == true Then
ExitLong("btr",Atlimit,highest(H,BarsSinceEntry)-atrv*n3);
if IsExitName("b1") == true Then
ExitLong("bp",Atlimit,EntryPrice+atrv*n2);
}
if NextBarSdate > sdate and NextBarOpen <= c-PriceScale*n1 Then
sell("s1",AtMarket,def,수량2);
if MarketPosition == 0 Then
sell("s2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == -1 Then{
if IsExitName("s2") == true Then
ExitShort("str",Atlimit,Lowest(L,BarsSinceEntry)+atrv*n3);
if IsExitName("s1") == true Then
ExitShort("sp",Atlimit,EntryPrice-atrv*n2);
}
3. 타주기봉(변수)의 최근 10개봉 표준편차
4.
'갭으로 시작했다면'
'갭으로 시작하지 않았다면'
은 어떻게 코딩을 짜면 되는지요. 해석을 해도 잘 몰라서 질문드립니다.
5. swinghigh로 n자형 패턴같은 것을 캐취할 수 있다고 하셔서 질문드립니다. n개봉의 전고점을 n틱이상 돌파하면 매수, 이런 식으로 코딩을 짤 수 있나요?
답변 3
예스스탁 예스스탁 답변
2017-12-22 14:15:43
안녕하세요
예스스탁입니다.
1.
input : n(5);
var : HH(0),LL(0);
if bdate != bdate[1] Then
{
#첫봉에서 value1이 2이하이면 true 아니면 false
if value1 <= 2 Then
Condition1 = true;
Else
Condition1 = false;
#당일 n개봉 최고가/최저가 저장 변수 초기화
HH = H;
LL = L;
}
#Condition1은 true이고
if Condition1 == true then
{
#n개봉 최고가/최저가 게산
if dayindex < n then
{
if H > HH Then
HH = H;
if H < LL Then
LL = H;
}
#당일 n개봉이후 9시30분 이전
if dayindex >= n and stime < 93000 then
{
if c > HH then
buy("b");
if C < LL Then
sell();
}
}
2
갭처리 추가했습니다.
input : atrp(20), n1(5),n2(1),n3(1),수량1(1),수량2(2);
var : atrv(0),gap(0);
atrv = atr(atrp);
if dayopen > DayClose(1) Then
gap = 1;
else if dayopen < DayClose(1) Then
gap = -1;
Else
gap = 0;
if MarketPosition == 0 and gap == 1 Then
buy("b1",AtStop,DayClose(1)+PriceScale*n1,수량2);
if MarketPosition == 0 and gap == 0 Then
buy("b2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == 1 Then
{
if IsExitName("b2") == true Then
ExitLong("btr",Atlimit,highest(H,BarsSinceEntry)-atrv*n3);
if IsExitName("b1") == true Then
ExitLong("bp",Atlimit,EntryPrice+atrv*n2);
}
if NextBarSdate > sdate and gap == -1 Then
sell("s1",AtMarket,def,수량2);
if MarketPosition == 0 and gap == 0 Then
sell("s2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == -1 Then{
if IsExitName("s2") == true Then
ExitShort("str",Atlimit,Lowest(L,BarsSinceEntry)+atrv*n3);
if IsExitName("s1") == true Then
ExitShort("sp",Atlimit,EntryPrice-atrv*n2);
}
3
input : 타주기분(30),P(10);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum(0),mav(0),SumSqrt(0),Stdv(0);
Array : CC[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P] > 0 then{
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[cnt] - mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(stdv);
}
}
4
2번식에 갭표현과 같이 일반적으로 표현합니다.
if dayopen > DayClose(1) Then#상승갭
gap = 1;
else if dayopen < DayClose(1) Then#하락갭
gap = -1;
Else#갭이 아닐때
gap = 0;
위 내용에 추가하여 일정이상의 상승과 하락만 갭으로 처리하는 경우도 있습니다.
if dayopen >= DayClose(1)+PriceScale*3 Then#상승갭(3틱이상)
gap = 1;
else if dayopen <= DayClose(1)-PriceScale Then#하락갭
gap = -1;
Else#위 상황들이 아이면 모두 값없음으로 간주
gap = 0;
5
input : left(3),Right(3),n1(20),n2(5);
#최근 고점
if SwingHigh(1,h,left,right,left+right+1) != -1 Then{
var1 = H[right];
var2 = index[right];
}
#최근 고점이 현재봉기준 n1개봉 안에 있고
#최근 고점+n2틱 이상의 시세가 발생하면 매수
if var2 > 0 and index <= var2+n1 then{
buy("b",AtStop,var1+PriceScale*n2);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 즐거운 주말보내세요~~
1. value1이 2 이하로 시작한 상황에서
93000분 이내로
종가가 장시작후 n개봉까지의 최고가보다 클 때 매수진입
매도는 반대
한번 직접 짜보니 'value1이 2이고' 이런 식으로 작성한 듯 합니다. 제가 생각한 신호랑 다르게 나옵니다. 만들고 싶은 것은 value1이 2 이하로 장초반 시작한 상황에서 이후 조건이 맞으면 진입하는 내용입니다. 어떻게 짜면 될까요?
2. 재질문
갭상승 갭하락에 따라 수량 다르게 들어가는 건데요. 실행해보니 갭상승한 날은 갭 진입과 그냥 진입이 동시에 됩니다. (수량 3진입)
이걸 갭상승한 날은 갭 진입만 들어가게 할 수는 없을까요?
input : atrp(20), n1(5),n2(1),n3(1),수량1(1),수량2(2);
var : atrv(0);
atrv = atr(atrp);
if NextBarSdate > sdate and NextBarOpen >= c+PriceScale*n1 Then
buy("b1",AtMarket,def,수량2);
if MarketPosition == 0 Then
buy("b2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == 1 Then{
if IsExitName("b2") == true Then
ExitLong("btr",Atlimit,highest(H,BarsSinceEntry)-atrv*n3);
if IsExitName("b1") == true Then
ExitLong("bp",Atlimit,EntryPrice+atrv*n2);
}
if NextBarSdate > sdate and NextBarOpen <= c-PriceScale*n1 Then
sell("s1",AtMarket,def,수량2);
if MarketPosition == 0 Then
sell("s2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == -1 Then{
if IsExitName("s2") == true Then
ExitShort("str",Atlimit,Lowest(L,BarsSinceEntry)+atrv*n3);
if IsExitName("s1") == true Then
ExitShort("sp",Atlimit,EntryPrice-atrv*n2);
}
3. 타주기봉(변수)의 최근 10개봉 표준편차
4.
'갭으로 시작했다면'
'갭으로 시작하지 않았다면'
은 어떻게 코딩을 짜면 되는지요. 해석을 해도 잘 몰라서 질문드립니다.
5. swinghigh로 n자형 패턴같은 것을 캐취할 수 있다고 하셔서 질문드립니다. n개봉의 전고점을 n틱이상 돌파하면 매수, 이런 식으로 코딩을 짤 수 있나요?
잡다백수
2017-12-22 14:26:32
코딩 감사합니다.
1번 재질문입니다. 1번이 첫봉엣 value1 이하인데요. 만약에 092000분까지 2 이하로 하려면 어떻게 수정해야 하는지요.
1.
input : n(5);
var : HH(0),LL(0);
if bdate != bdate[1] Then
{
#첫봉에서 value1이 2이하이면 true 아니면 false
if value1 <= 2 Then
Condition1 = true;
Else
Condition1 = false;
#당일 n개봉 최고가/최저가 저장 변수 초기화
HH = H;
LL = L;
}
#Condition1은 true이고
if Condition1 == true then
{
#n개봉 최고가/최저가 게산
if dayindex < n then
{
if H > HH Then
HH = H;
if H < LL Then
LL = H;
}
#당일 n개봉이후 9시30분 이전
if dayindex >= n and stime < 93000 then
{
if c > HH then
buy("b");
if C < LL Then
sell();
}
}
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1.
input : n(5);
var : HH(0),LL(0);
if bdate != bdate[1] Then
{
#첫봉에서 value1이 2이하이면 true 아니면 false
if value1 <= 2 Then
Condition1 = true;
Else
Condition1 = false;
#당일 n개봉 최고가/최저가 저장 변수 초기화
HH = H;
LL = L;
}
#Condition1은 true이고
if Condition1 == true then
{
#n개봉 최고가/최저가 게산
if dayindex < n then
{
if H > HH Then
HH = H;
if H < LL Then
LL = H;
}
#당일 n개봉이후 9시30분 이전
if dayindex >= n and stime < 93000 then
{
if c > HH then
buy("b");
if C < LL Then
sell();
}
}
2
갭처리 추가했습니다.
input : atrp(20), n1(5),n2(1),n3(1),수량1(1),수량2(2);
var : atrv(0),gap(0);
atrv = atr(atrp);
if dayopen > DayClose(1) Then
gap = 1;
else if dayopen < DayClose(1) Then
gap = -1;
Else
gap = 0;
if MarketPosition == 0 and gap == 1 Then
buy("b1",AtStop,DayClose(1)+PriceScale*n1,수량2);
if MarketPosition == 0 and gap == 0 Then
buy("b2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == 1 Then
{
if IsExitName("b2") == true Then
ExitLong("btr",Atlimit,highest(H,BarsSinceEntry)-atrv*n3);
if IsExitName("b1") == true Then
ExitLong("bp",Atlimit,EntryPrice+atrv*n2);
}
if NextBarSdate > sdate and gap == -1 Then
sell("s1",AtMarket,def,수량2);
if MarketPosition == 0 and gap == 0 Then
sell("s2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == -1 Then{
if IsExitName("s2") == true Then
ExitShort("str",Atlimit,Lowest(L,BarsSinceEntry)+atrv*n3);
if IsExitName("s1") == true Then
ExitShort("sp",Atlimit,EntryPrice-atrv*n2);
}
3
input : 타주기분(30),P(10);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum(0),mav(0),SumSqrt(0),Stdv(0);
Array : CC[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P] > 0 then{
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[cnt] - mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(stdv);
}
}
4
2번식에 갭표현과 같이 일반적으로 표현합니다.
if dayopen > DayClose(1) Then#상승갭
gap = 1;
else if dayopen < DayClose(1) Then#하락갭
gap = -1;
Else#갭이 아닐때
gap = 0;
위 내용에 추가하여 일정이상의 상승과 하락만 갭으로 처리하는 경우도 있습니다.
if dayopen >= DayClose(1)+PriceScale*3 Then#상승갭(3틱이상)
gap = 1;
else if dayopen <= DayClose(1)-PriceScale Then#하락갭
gap = -1;
Else#위 상황들이 아이면 모두 값없음으로 간주
gap = 0;
5
input : left(3),Right(3),n1(20),n2(5);
#최근 고점
if SwingHigh(1,h,left,right,left+right+1) != -1 Then{
var1 = H[right];
var2 = index[right];
}
#최근 고점이 현재봉기준 n1개봉 안에 있고
#최근 고점+n2틱 이상의 시세가 발생하면 매수
if var2 > 0 and index <= var2+n1 then{
buy("b",AtStop,var1+PriceScale*n2);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 즐거운 주말보내세요~~
1. value1이 2 이하로 시작한 상황에서
93000분 이내로
종가가 장시작후 n개봉까지의 최고가보다 클 때 매수진입
매도는 반대
한번 직접 짜보니 'value1이 2이고' 이런 식으로 작성한 듯 합니다. 제가 생각한 신호랑 다르게 나옵니다. 만들고 싶은 것은 value1이 2 이하로 장초반 시작한 상황에서 이후 조건이 맞으면 진입하는 내용입니다. 어떻게 짜면 될까요?
2. 재질문
갭상승 갭하락에 따라 수량 다르게 들어가는 건데요. 실행해보니 갭상승한 날은 갭 진입과 그냥 진입이 동시에 됩니다. (수량 3진입)
이걸 갭상승한 날은 갭 진입만 들어가게 할 수는 없을까요?
input : atrp(20), n1(5),n2(1),n3(1),수량1(1),수량2(2);
var : atrv(0);
atrv = atr(atrp);
if NextBarSdate > sdate and NextBarOpen >= c+PriceScale*n1 Then
buy("b1",AtMarket,def,수량2);
if MarketPosition == 0 Then
buy("b2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == 1 Then{
if IsExitName("b2") == true Then
ExitLong("btr",Atlimit,highest(H,BarsSinceEntry)-atrv*n3);
if IsExitName("b1") == true Then
ExitLong("bp",Atlimit,EntryPrice+atrv*n2);
}
if NextBarSdate > sdate and NextBarOpen <= c-PriceScale*n1 Then
sell("s1",AtMarket,def,수량2);
if MarketPosition == 0 Then
sell("s2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == -1 Then{
if IsExitName("s2") == true Then
ExitShort("str",Atlimit,Lowest(L,BarsSinceEntry)+atrv*n3);
if IsExitName("s1") == true Then
ExitShort("sp",Atlimit,EntryPrice-atrv*n2);
}
3. 타주기봉(변수)의 최근 10개봉 표준편차
4.
'갭으로 시작했다면'
'갭으로 시작하지 않았다면'
은 어떻게 코딩을 짜면 되는지요. 해석을 해도 잘 몰라서 질문드립니다.
5. swinghigh로 n자형 패턴같은 것을 캐취할 수 있다고 하셔서 질문드립니다. n개봉의 전고점을 n틱이상 돌파하면 매수, 이런 식으로 코딩을 짤 수 있나요?
예스스탁 예스스탁 답변
2017-12-22 14:49:56
안녕하세요
예스스탁입니다.
input : n(5);
var : HH(0),LL(0);
if bdate != bdate[1] Then
{
Condition1 = false;
#당일 n개봉 최고가/최저가 저장 변수 초기화
HH = H;
LL = L;
}
#n개봉 최고가/최저가 게산
if dayindex < n then
{
if H > HH Then
HH = H;
if H < LL Then
LL = H;
}
#9시 20분 이전 최종값이 value2가 2이하이면 true 아니면 false
if stime < 92000 then{
if value2 <= 2 then
Condition1 = true;
Else
Condition1 = false;
}
if stime >= 92000 and Condition1 == true and dayindex >= n and stime < 93000 then
{
if c > HH then
buy("b");
if C < LL Then
sell();
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
> 코딩 감사합니다.
1번 재질문입니다. 1번이 첫봉엣 value1 이하인데요. 만약에 092000분까지 2 이하로 하려면 어떻게 수정해야 하는지요.
1.
input : n(5);
var : HH(0),LL(0);
if bdate != bdate[1] Then
{
#첫봉에서 value1이 2이하이면 true 아니면 false
if value1 <= 2 Then
Condition1 = true;
Else
Condition1 = false;
#당일 n개봉 최고가/최저가 저장 변수 초기화
HH = H;
LL = L;
}
#Condition1은 true이고
if Condition1 == true then
{
#n개봉 최고가/최저가 게산
if dayindex < n then
{
if H > HH Then
HH = H;
if H < LL Then
LL = H;
}
#당일 n개봉이후 9시30분 이전
if dayindex >= n and stime < 93000 then
{
if c > HH then
buy("b");
if C < LL Then
sell();
}
}
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1.
input : n(5);
var : HH(0),LL(0);
if bdate != bdate[1] Then
{
#첫봉에서 value1이 2이하이면 true 아니면 false
if value1 <= 2 Then
Condition1 = true;
Else
Condition1 = false;
#당일 n개봉 최고가/최저가 저장 변수 초기화
HH = H;
LL = L;
}
#Condition1은 true이고
if Condition1 == true then
{
#n개봉 최고가/최저가 게산
if dayindex < n then
{
if H > HH Then
HH = H;
if H < LL Then
LL = H;
}
#당일 n개봉이후 9시30분 이전
if dayindex >= n and stime < 93000 then
{
if c > HH then
buy("b");
if C < LL Then
sell();
}
}
2
갭처리 추가했습니다.
input : atrp(20), n1(5),n2(1),n3(1),수량1(1),수량2(2);
var : atrv(0),gap(0);
atrv = atr(atrp);
if dayopen > DayClose(1) Then
gap = 1;
else if dayopen < DayClose(1) Then
gap = -1;
Else
gap = 0;
if MarketPosition == 0 and gap == 1 Then
buy("b1",AtStop,DayClose(1)+PriceScale*n1,수량2);
if MarketPosition == 0 and gap == 0 Then
buy("b2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == 1 Then
{
if IsExitName("b2") == true Then
ExitLong("btr",Atlimit,highest(H,BarsSinceEntry)-atrv*n3);
if IsExitName("b1") == true Then
ExitLong("bp",Atlimit,EntryPrice+atrv*n2);
}
if NextBarSdate > sdate and gap == -1 Then
sell("s1",AtMarket,def,수량2);
if MarketPosition == 0 and gap == 0 Then
sell("s2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == -1 Then{
if IsExitName("s2") == true Then
ExitShort("str",Atlimit,Lowest(L,BarsSinceEntry)+atrv*n3);
if IsExitName("s1") == true Then
ExitShort("sp",Atlimit,EntryPrice-atrv*n2);
}
3
input : 타주기분(30),P(10);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum(0),mav(0),SumSqrt(0),Stdv(0);
Array : CC[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P] > 0 then{
sum = 0;
for cnt = 0 to P-1{
sum = sum + CC[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[cnt] - mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(stdv);
}
}
4
2번식에 갭표현과 같이 일반적으로 표현합니다.
if dayopen > DayClose(1) Then#상승갭
gap = 1;
else if dayopen < DayClose(1) Then#하락갭
gap = -1;
Else#갭이 아닐때
gap = 0;
위 내용에 추가하여 일정이상의 상승과 하락만 갭으로 처리하는 경우도 있습니다.
if dayopen >= DayClose(1)+PriceScale*3 Then#상승갭(3틱이상)
gap = 1;
else if dayopen <= DayClose(1)-PriceScale Then#하락갭
gap = -1;
Else#위 상황들이 아이면 모두 값없음으로 간주
gap = 0;
5
input : left(3),Right(3),n1(20),n2(5);
#최근 고점
if SwingHigh(1,h,left,right,left+right+1) != -1 Then{
var1 = H[right];
var2 = index[right];
}
#최근 고점이 현재봉기준 n1개봉 안에 있고
#최근 고점+n2틱 이상의 시세가 발생하면 매수
if var2 > 0 and index <= var2+n1 then{
buy("b",AtStop,var1+PriceScale*n2);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 즐거운 주말보내세요~~
1. value1이 2 이하로 시작한 상황에서
93000분 이내로
종가가 장시작후 n개봉까지의 최고가보다 클 때 매수진입
매도는 반대
한번 직접 짜보니 'value1이 2이고' 이런 식으로 작성한 듯 합니다. 제가 생각한 신호랑 다르게 나옵니다. 만들고 싶은 것은 value1이 2 이하로 장초반 시작한 상황에서 이후 조건이 맞으면 진입하는 내용입니다. 어떻게 짜면 될까요?
2. 재질문
갭상승 갭하락에 따라 수량 다르게 들어가는 건데요. 실행해보니 갭상승한 날은 갭 진입과 그냥 진입이 동시에 됩니다. (수량 3진입)
이걸 갭상승한 날은 갭 진입만 들어가게 할 수는 없을까요?
input : atrp(20), n1(5),n2(1),n3(1),수량1(1),수량2(2);
var : atrv(0);
atrv = atr(atrp);
if NextBarSdate > sdate and NextBarOpen >= c+PriceScale*n1 Then
buy("b1",AtMarket,def,수량2);
if MarketPosition == 0 Then
buy("b2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == 1 Then{
if IsExitName("b2") == true Then
ExitLong("btr",Atlimit,highest(H,BarsSinceEntry)-atrv*n3);
if IsExitName("b1") == true Then
ExitLong("bp",Atlimit,EntryPrice+atrv*n2);
}
if NextBarSdate > sdate and NextBarOpen <= c-PriceScale*n1 Then
sell("s1",AtMarket,def,수량2);
if MarketPosition == 0 Then
sell("s2",AtStop,DayClose(1)+PriceScale*n1,수량1);
if MarketPosition == -1 Then{
if IsExitName("s2") == true Then
ExitShort("str",Atlimit,Lowest(L,BarsSinceEntry)+atrv*n3);
if IsExitName("s1") == true Then
ExitShort("sp",Atlimit,EntryPrice-atrv*n2);
}
3. 타주기봉(변수)의 최근 10개봉 표준편차
4.
'갭으로 시작했다면'
'갭으로 시작하지 않았다면'
은 어떻게 코딩을 짜면 되는지요. 해석을 해도 잘 몰라서 질문드립니다.
5. swinghigh로 n자형 패턴같은 것을 캐취할 수 있다고 하셔서 질문드립니다. n개봉의 전고점을 n틱이상 돌파하면 매수, 이런 식으로 코딩을 짤 수 있나요?