커뮤니티
문의드립니다.
2017-11-10 14:34:04
160
글번호 114069
입동이 지났습니다. 건강 유의하시구요.
아래와 같은 조건의 수식 부탁드립니다.
1.진입조건(조건이 2가지임)
매수1 : 20일선이 우하향에서 우상향으로 바뀐후 5일선이 20일선을 첫번째 골든크로스 (매도1은 반대)
매수2 : 매수1이 청산1 된후에도 20일선이 계속 우상향 유지하고 5일선이 20일선을 두번째 골든크로스(매도2는 반대) ,이후 20일선 우상향 계속 유지되고 세번째 크로스 이후도 매수2 조건으로 진입
2.청산조건(매수1은 청산1, 매수2는 청산2 조건에 따라 청산)
청산1 : 수익 30틱 이상일때 부터 손실이 20틱만큼 나거나
또는 20일선 기울기가 반대로 바뀌면 둘중에서 먼저 발생한 조건으로 즉시 청산
수익 30틱 미만일때는 손절조건과 같음
(예> 수익 30틱 나고있다가 20틱만큼 내려가서 수익이 10틱까지 오면 즉시 청산되고
수익 50틱 나고있다가 20틱만큼 내려나서 수익이 30틱까지 오면 즉시 청산됨)
청산2 : 수익이 30틱 이상일때 부터 손실이 10틱만큼 나거나
또는 20일선 기울기가 반대로 바뀌면 둘중에서 먼저 발생한 조건으로 즉시 청산
수익 30틱 미만일때는 손절조건과 같음
(예> 수익 30틱 나고있다가 10틱 내려가서 수익이 20틱까지 오면 즉시 청산)
3.손절조건
진입조건 2가지 모두 수익이 30틱이상까지 못가고 30틱 미만일때는 -50틱에 오면 손절
(20일선 기울기가 -50틱까지 내려가기전에 먼저 반대방향으로 바뀌면 즉시 청산함)
4.매매종료 조건
합계가 수익으로 100틱이상이 되면 그때부터 손실이 50틱만큼 날때까지는 매매를 계속하되
손실이 50틱이 나게되면 매매를 종료 하고
반대로 합계가 100틱 미만 상태에서 손실로 -80틱이 되면 매매종료 한다.
예> 수익 합계가 150틱 수익중이다가 50틱이 손실나서 현재 수익 합계가
100틱까지 떨어졌을때 그날 매매종료
5.질문
20일선 우상향이 계속 유지되고 있는 경우에 매수1에서 MarketPosition <= 0 조건문이 있었으면 매수2의 경우 조건문이 어떻게 되는지 궁금합니다. 진입방향이 같으니까 if MarketPosition[1] == 1 이라는 수식이 들어가나요? 그럼 세번째 매수 진입까지 가게된다면 어떻게 되나요?
여기서 MarketPosition 의 바르게 되는 표현과 이유를 간략한 설명 좀 부탁드립니다.
즐거운 주말되세요~
답변 1
예스스탁 예스스탁 답변
2017-11-10 16:02:03
안녕하세요
예스스탁입니다.
Var : N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false);
var : T2(0),mav1(0),mav2(0),upcnt(0),dncnt(0),HH(0),손실(0);
if Bdate != Bdate[1] Then{
Xcond = false;
Condition1 = false;
N1 = NetProfit;
HH = 0;
}
daypl = NetProfit-N1;
if daypl > HH Then
HH = daypl;
if HH < PriceScale*100 Then
손실 = PriceScale*80-(HH-daypl);
Else
손실 = PriceScale*50-(HH-daypl);
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
mav1 = ma(C,5);
mav2 = ma(C,20);
if mav2 > mav2[1] Then
T2 = 1;
if mav2 < mav2[1] Then
T2 = -1;
if T2 == 1 and T2 != T2[1] Then
upcnt = 0;
if T2 == -1 and T2 != T2[1] Then
dncnt = 0;
if T2 == 1 and crossup(mav1,mav2) and Xcond == false Then
{
upcnt = upcnt+1;
if MarketPosition <= 0 and upcnt == 1 then
buy("b1");
if MarketPosition == 0 and MarketPosition(1) == 1 and upcnt >= 2 then
buy("b2");
}
if T2 == -1 and CrossDown(mav1,mav2) and Xcond == false Then
{
dncnt = dncnt+1;
if MarketPosition >= 0 and dncnt == 1 then
sell("s1");
if MarketPosition == 0 and MarketPosition(1) == -1 and dncnt >= 2 then
sell("s2");
}
if MarketPosition == 1 then
{
exitlong("bl",AtStop,EntryPrice-PriceScale*50);
if IsEntryName("b1") == true then
{
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 Then
ExitLong("bx11",AtStop,highest(h,BarsSinceEntry)-PriceScale*20);
if T2 == -1 Then
ExitLong("bx12");
}
if IsEntryName("b2") == true then
{
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 Then
ExitLong("bx21",AtStop,highest(h,BarsSinceEntry)-PriceScale*10);
if T2 == -1 Then
ExitLong("bx22");
}
ExitLong("dbl",AtStop,EntryPrice-(손실/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("sl",AtStop,EntryPrice+PriceScale*50);
if IsEntryName("s1") == true then
{
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*30 Then
ExitShort("sx11",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*20);
if T2 == 1 Then
ExitShort("sx12");
}
if IsEntryName("s2") == true then
{
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*30 Then
ExitShort("sx21",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*10);
if T2 == 1 Then
ExitShort("sx22");
}
ExitShort("dsl",AtStop,EntryPrice+(손실/CurrentContracts));
}
즐거운 하루되세요
> 웹피 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 입동이 지났습니다. 건강 유의하시구요.
아래와 같은 조건의 수식 부탁드립니다.
1.진입조건(조건이 2가지임)
매수1 : 20일선이 우하향에서 우상향으로 바뀐후 5일선이 20일선을 첫번째 골든크로스 (매도1은 반대)
매수2 : 매수1이 청산1 된후에도 20일선이 계속 우상향 유지하고 5일선이 20일선을 두번째 골든크로스(매도2는 반대) ,이후 20일선 우상향 계속 유지되고 세번째 크로스 이후도 매수2 조건으로 진입
2.청산조건(매수1은 청산1, 매수2는 청산2 조건에 따라 청산)
청산1 : 수익 30틱 이상일때 부터 손실이 20틱만큼 나거나
또는 20일선 기울기가 반대로 바뀌면 둘중에서 먼저 발생한 조건으로 즉시 청산
수익 30틱 미만일때는 손절조건과 같음
(예> 수익 30틱 나고있다가 20틱만큼 내려가서 수익이 10틱까지 오면 즉시 청산되고
수익 50틱 나고있다가 20틱만큼 내려나서 수익이 30틱까지 오면 즉시 청산됨)
청산2 : 수익이 30틱 이상일때 부터 손실이 10틱만큼 나거나
또는 20일선 기울기가 반대로 바뀌면 둘중에서 먼저 발생한 조건으로 즉시 청산
수익 30틱 미만일때는 손절조건과 같음
(예> 수익 30틱 나고있다가 10틱 내려가서 수익이 20틱까지 오면 즉시 청산)
3.손절조건
진입조건 2가지 모두 수익이 30틱이상까지 못가고 30틱 미만일때는 -50틱에 오면 손절
(20일선 기울기가 -50틱까지 내려가기전에 먼저 반대방향으로 바뀌면 즉시 청산함)
4.매매종료 조건
합계가 수익으로 100틱이상이 되면 그때부터 손실이 50틱만큼 날때까지는 매매를 계속하되
손실이 50틱이 나게되면 매매를 종료 하고
반대로 합계가 100틱 미만 상태에서 손실로 -80틱이 되면 매매종료 한다.
예> 수익 합계가 150틱 수익중이다가 50틱이 손실나서 현재 수익 합계가
100틱까지 떨어졌을때 그날 매매종료
5.질문
20일선 우상향이 계속 유지되고 있는 경우에 매수1에서 MarketPosition <= 0 조건문이 있었으면 매수2의 경우 조건문이 어떻게 되는지 궁금합니다. 진입방향이 같으니까 if MarketPosition[1] == 1 이라는 수식이 들어가나요? 그럼 세번째 매수 진입까지 가게된다면 어떻게 되나요?
여기서 MarketPosition 의 바르게 되는 표현과 이유를 간략한 설명 좀 부탁드립니다.
즐거운 주말되세요~