커뮤니티
수식 수정 변경 요청 드립니다.
2015-03-23 14:24:37
162
글번호 84298
아래 기존수식 수정 변경 요청 드립니다.
NO-1. 아래수식에서 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이
설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정 변폭도 비례 확대 수식에 적용
기존 수식신호 발행 후 한번 확대된 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소 설정
변폭으로 복귀
-> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용 / 재 진입
drop(-1.5) 적용
-> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용 / 재 진입
drop(+1.5) 적용
NO-2. 아래수식에서 1. 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이
설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정변폭도 비례 확대 수식적용
기존수식신호 발행 후 한번 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소변폭으로 복귀
-> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용
-> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용
수식 작성 하신 후 수식에 주석 설명 달아주세요.
초보라서 설명이 부족하시면 전화 주세요.
--------------------------------------- 아 래-----------------------------------------------------
NO-1.
input : pt(4),drop(1.5);
var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0);
if MarketPosition == -1 Then{
if Condition1 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition1 = true;
H1 = H;
L1 = L;
}
if Condition1 == true and CrossDown(C,H1-drop) Then
buy("b");
}
Else
Condition1 = false;
if MarketPosition == 1 Then{
if Condition2 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition2 = true;
H2 = H;
L2 = L;
}
if Condition2 == true and CrossUp(C,L2+drop) Then
sell("s");
}
Else
Condition2 = false;
if MarketPosition == -1 Then{
if Condition3 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition3 = true;
H3 = H;
L3 = L;
}
if Condition3 == true and CrossDown(C,H3-drop) Then
ExitShort("sx");
}
Else
Condition3 = false;
if MarketPosition == 1 Then{
if Condition4 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition4 = true;
H4 = H;
L4 = L;
}
if Condition4 == true and CrossUp(C,L4+drop) Then
ExitLong("bx");
}
Else
Condition4 = false;
------------------------------------------------------------------------------------------------
NO-2.
input : Pt(4);
if 매수조건 Then{
#첫매수
if MarketPosition == 0 Then
buy();
#추가매수
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
if 매도조건 Then{
#첫매도
if MarketPosition == 0 Then
sell();
#추가매도
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
sell();
}
#매수진입후 pt이상 변폭이 발생하고 매수청산조건이 만족하면 청산
if MarketPosition == 1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매수청산조건 Then
exitlong();
}
#매도진입후 pt이상 변폭이 발생하고 매도청산조건이 만족하면 청산
if MarketPosition == -1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매도청산조건 Then
ExitShort();
}
#무포지션이거나 스위칭이 되면 강제청산 해제
if MarketPosition == 0 or (MarketPosition != 0 and MarketPosition != MarketPosition[1]) Then{
SetStopProfittarget(0);
SetStoploss(0);
}
#포지션 진입후 pt이상 변폭이 발생하면 셋팅
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
SetStopProfittarget(1,PointStop);
SetStoploss(1,PointStop);
}
NO-2-1.
input : Pt(4);
if 매수조건 Then{
#첫매수
if MarketPosition == 0 Then
buy();
#추가매수
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
if 매도조건 Then{
#첫매도
if MarketPosition == 0 Then
sell();
#추가매도
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
sell();
}
if MarketPosition == 1 Then{
if 매수청산조건 Then
exitlong();
}
if MarketPosition == -1 Then{
if 매도청산조건 Then
ExitShort();
}
SetStopProfittarget(1,PointStop);
SetStoploss(1,PointStop);
감사 합니다.
답변 1
예스스탁 예스스탁 답변
2015-03-23 19:44:50
안녕하세요
예스스탁입니다.
1.
input : pt(4),drop(1.5);
var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0),mav(0);
mav = ma(C,20);
#매도진입 후
if MarketPosition == -1 Then{
#Condition1이 false인 상태에서 변폭이 pt를 넘으면
if Condition1 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
#Condition1은 true
Condition1 = true;
#Condition11은 false
Condition11 = false;
#고가 저장
H1 = H;
#저가저장
L1 = L;
}
# Condition1이 true이고
if Condition1 == true Then{
#Condition11이 false인 상태에서 저가가 이평을 하향이탈하면
if Condition11 == false and CrossDown(L,mav) Then{
#Condition11은 true
Condition11 = true;
}
#Condition11이 false인 상태에서 진입이후 최고가가 커지면 H1에 고가를 저장
if Condition11 == false and highest(H,BarsSinceEntry) > highest(H,BarsSinceEntry)[1] Then
H1 = H;
#종가가 H1-drop을 하향이탈하면 매수로 스위칭
if CrossDown(C,H1-drop) Then
buy("b");
}
}
Else{#매도포지션이 아니면 모두 false로 초기화
Condition1 = false;
Condition11 = false;
}
#매수진입후
if MarketPosition == 1 Then{
#Condition2가 false인 상태에서 변폭이 pt를 넘으면
if Condition2 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
#Condition2는 true
Condition2 = true;
#Condition22는 false
Condition22 = false;
#고가저장
H2 = H;
#저가저장
L2 = L;
}
# Condition2는 true이고
if Condition2 == true Then{
#Condition22가 false인 상태에서 고가가 이평을 상향돌파하면
if Condition22 == false and CrossUp(H,mav) Then{
#Condition22는 true
Condition22 = true;
}
#Condition22가 false인 상태에서 진입이후 최저가가 작아지면 L1에 저가를 저장
if Condition22 == false and Lowest(L,BarsSinceEntry) < Lowest(L,BarsSinceEntry)[1] Then
L2 = L;
#종가가 H2+drop을 상향돌파하면 매도로 스위칭
if CrossUp(C,L2+drop) Then
sell("s");
}
}
Else{#매수포지션이 아니면 모두 false로 초기화
Condition2 = false;
Condition22 = false;
}
#매도진입 후
if MarketPosition == -1 Then{
#Condition3이 false인 상태에서 변폭이 pt를 넘으면
if Condition3 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
#Condition3은 true
Condition3 = true;
#Condition33은 false
Condition33 = false;
#고가 저장
H3 = H;
#저가저장
L3 = L;
}
# Condition3이 true이고
if Condition3 == true Then{
#Condition33이 false인 상태에서 저가가 이평을 하향이탈하면
if Condition33 == false and CrossDown(L,mav) Then{
#Condition33은 true
Condition33 = true;
}
#Condition33이 false인 상태에서 진입이후 최고가가 커지면 H3에 고가를 저장
if Condition33 == false and highest(H,BarsSinceEntry) > highest(H,BarsSinceEntry)[1] Then
H3 = H;
#종가가 H3-drop을 하향이탈하면 매도포지션 청산
if CrossDown(C,H3-drop) Then
ExitShort("sx");
}
}
Else{#매도포지션이 아니면 모두 false로 초기화
Condition3 = false;
Condition33 = false;
}
#매수진입후
if MarketPosition == 1 Then{
#Condition4가 false인 상태에서 변폭이 pt를 넘으면
if Condition4 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
#Condition4는 true
Condition4 = true;
#Condition44는 false
Condition44 = false;
#고가저장
H4 = H;
#저가저장
L4 = L;
}
# Condition4는 true이고
if Condition4 == true Then{
#Condition44가 false인 상태에서 고가가 이평을 상향돌파하면
if Condition44 == false and CrossUp(H,mav) Then{
#Condition44는 true
Condition44 = true;
}
#Condition44가 false인 상태에서 진입이후 최저가가 작아지면 L4에 저가를 저장
if Condition44 == false and Lowest(L,BarsSinceEntry) < Lowest(L,BarsSinceEntry)[1] Then
L4 = L;
#종가가 H4+drop을 상향돌파하면 매수포지션 청산
if CrossUp(C,L4+drop) Then
ExitLong("bx");
}
}
Else{#매수포지션이 아니면 모두 false로 초기화
Condition4 = false;
Condition44 = false;
}
2.
수식중 NO-2와 NO-2-1은
단순 변폭이 몇이상이면 진입이나 청산여부를 결정하는 내용입니다.
최소변폭만 발생여부로 진입과 청산을 제어하는 내용입니다.
1번과 같이 확대변폭을 계산해도 따로 쓰이는 부분이 없습니다.
전화를 받지 않으셔서 1번까지만 남겨드립니다.
내일 편하신 시간에 전화주시기 바랍니다.(02-3453-1060)
즐거운 하루되세요
> dandy 님이 쓴 글입니다.
> 제목 : 수식 수정 변경 요청 드립니다.
> 아래 기존수식 수정 변경 요청 드립니다.
NO-1. 아래수식에서 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이
설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정 변폭도 비례 확대 수식에 적용
기존 수식신호 발행 후 한번 확대된 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소 설정
변폭으로 복귀
-> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용 / 재 진입
drop(-1.5) 적용
-> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용 / 재 진입
drop(+1.5) 적용
NO-2. 아래수식에서 1. 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이
설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정변폭도 비례 확대 수식적용
기존수식신호 발행 후 한번 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소변폭으로 복귀
-> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용
-> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용
수식 작성 하신 후 수식에 주석 설명 달아주세요.
초보라서 설명이 부족하시면 전화 주세요.
--------------------------------------- 아 래-----------------------------------------------------
NO-1.
input : pt(4),drop(1.5);
var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0);
if MarketPosition == -1 Then{
if Condition1 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition1 = true;
H1 = H;
L1 = L;
}
if Condition1 == true and CrossDown(C,H1-drop) Then
buy("b");
}
Else
Condition1 = false;
if MarketPosition == 1 Then{
if Condition2 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition2 = true;
H2 = H;
L2 = L;
}
if Condition2 == true and CrossUp(C,L2+drop) Then
sell("s");
}
Else
Condition2 = false;
if MarketPosition == -1 Then{
if Condition3 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition3 = true;
H3 = H;
L3 = L;
}
if Condition3 == true and CrossDown(C,H3-drop) Then
ExitShort("sx");
}
Else
Condition3 = false;
if MarketPosition == 1 Then{
if Condition4 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition4 = true;
H4 = H;
L4 = L;
}
if Condition4 == true and CrossUp(C,L4+drop) Then
ExitLong("bx");
}
Else
Condition4 = false;
------------------------------------------------------------------------------------------------
NO-2.
input : Pt(4);
if 매수조건 Then{
#첫매수
if MarketPosition == 0 Then
buy();
#추가매수
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
if 매도조건 Then{
#첫매도
if MarketPosition == 0 Then
sell();
#추가매도
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
sell();
}
#매수진입후 pt이상 변폭이 발생하고 매수청산조건이 만족하면 청산
if MarketPosition == 1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매수청산조건 Then
exitlong();
}
#매도진입후 pt이상 변폭이 발생하고 매도청산조건이 만족하면 청산
if MarketPosition == -1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매도청산조건 Then
ExitShort();
}
#무포지션이거나 스위칭이 되면 강제청산 해제
if MarketPosition == 0 or (MarketPosition != 0 and MarketPosition != MarketPosition[1]) Then{
SetStopProfittarget(0);
SetStoploss(0);
}
#포지션 진입후 pt이상 변폭이 발생하면 셋팅
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
SetStopProfittarget(1,PointStop);
SetStoploss(1,PointStop);
}
NO-2-1.
input : Pt(4);
if 매수조건 Then{
#첫매수
if MarketPosition == 0 Then
buy();
#추가매수
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
if 매도조건 Then{
#첫매도
if MarketPosition == 0 Then
sell();
#추가매도
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
sell();
}
if MarketPosition == 1 Then{
if 매수청산조건 Then
exitlong();
}
if MarketPosition == -1 Then{
if 매도청산조건 Then
ExitShort();
}
SetStopProfittarget(1,PointStop);
SetStoploss(1,PointStop);
감사 합니다.