커뮤니티

강제청산

프로필 이미지
회원
2008-03-17 08:32:05
1153
글번호 14977
답변완료
안녕하세요. 이동평균 크로스(5,20),MACD 크로스(12,26,9),파라볼릭이 and로 만족하는 조건식으로 평소에는 매매하다가 목표수익(5포인트)로 청산했을 때에는 또다시 청산 전 같은 신호가 발생하지 않고 다른 신호일 때만 진입하는식을 만들어 주시면 감사하겠습니다. (손절매(3p)도 별도의 식으로 작성해 주시면 또 감사)
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2008-03-17 12:29:45

안녕하세요 예스스탁입니다. 1. 목표수익 input : Profit(5); var : cnt(0),count(0); Count = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); SetStopProfittarget(Profit,PointStop); ## 당일 첫진입 if count < 1 Then { if crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ##당일 2번째 진입부터(전거래가 목표수익일때) if count >= 1 Then { if PositionProfit(1) >= Profit and MarketPosition(1) == -1 and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) >= Profit and MarketPosition(1) == 1 and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ## 당일 2번째 진입부터(전거래가 목표수익이 아닐때) if count >= 1 Then { if PositionProfit(1) < Profit and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) < Profit and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } SetStopEndofday(1500); 2. 손절 input : loss(3); var : cnt(0),count(0); Count = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); SetStopLoss(loss,PointStop); ## 당일 첫진입 if count < 1 Then { if crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ##당일 2번째 진입부터(전거래가 목표수익일때) if count >= 1 Then { if PositionProfit(1) <= -(loss) and MarketPosition(1) == -1 and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) <= -(loss) and MarketPosition(1) == 1 and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ## 당일 2번째 진입부터(전거래가 목표수익이 아닐때) if count >= 1 Then { if PositionProfit(1) > -(loss) and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) > -(loss) and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } SetStopEndofday(1500); 즐거운 하루되세요 > CJ_coco 님이 쓴 글입니다. > 제목 : 강제청산 > 안녕하세요. 이동평균 크로스(5,20),MACD 크로스(12,26,9),파라볼릭이 and로 만족하는 조건식으로 평소에는 매매하다가 목표수익(5포인트)로 청산했을 때에는 또다시 청산 전 같은 신호가 발생하지 않고 다른 신호일 때만 진입하는식을 만들어 주시면 감사하겠습니다. (손절매(3p)도 별도의 식으로 작성해 주시면 또 감사)
프로필 이미지

회원

2008-03-18 09:01:03

답변주신 식으로 선물 30분봉 차트에 적용했더니 2007년~현재까지 거래가 많을텐데 3회밖에 발생하지 않고 좀 이상합니다 질문한 지표들을 크로스가 아닌 크다와 작다로 수정합니다 그리고 당일청산 안하고 신호에 따라 매매하는 식을 바꿔주시면 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 강제청산 > 안녕하세요 예스스탁입니다. 1. 목표수익 input : Profit(5); var : cnt(0),count(0); Count = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); SetStopProfittarget(Profit,PointStop); ## 당일 첫진입 if count < 1 Then { if crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ##당일 2번째 진입부터(전거래가 목표수익일때) if count >= 1 Then { if PositionProfit(1) >= Profit and MarketPosition(1) == -1 and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) >= Profit and MarketPosition(1) == 1 and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ## 당일 2번째 진입부터(전거래가 목표수익이 아닐때) if count >= 1 Then { if PositionProfit(1) < Profit and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) < Profit and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } SetStopEndofday(1500); 2. 손절 input : loss(3); var : cnt(0),count(0); Count = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); SetStopLoss(loss,PointStop); ## 당일 첫진입 if count < 1 Then { if crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ##당일 2번째 진입부터(전거래가 목표수익일때) if count >= 1 Then { if PositionProfit(1) <= -(loss) and MarketPosition(1) == -1 and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) <= -(loss) and MarketPosition(1) == 1 and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ## 당일 2번째 진입부터(전거래가 목표수익이 아닐때) if count >= 1 Then { if PositionProfit(1) > -(loss) and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) > -(loss) and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } SetStopEndofday(1500); 즐거운 하루되세요 > CJ_coco 님이 쓴 글입니다. > 제목 : 강제청산 > 안녕하세요. 이동평균 크로스(5,20),MACD 크로스(12,26,9),파라볼릭이 and로 만족하는 조건식으로 평소에는 매매하다가 목표수익(5포인트)로 청산했을 때에는 또다시 청산 전 같은 신호가 발생하지 않고 다른 신호일 때만 진입하는식을 만들어 주시면 감사하겠습니다. (손절매(3p)도 별도의 식으로 작성해 주시면 또 감사)
프로필 이미지

예스스탁 예스스탁 답변

2008-03-18 09:52:38

안녕하세요 예스스탁입니다. 식을 수정했습니다. 1. 목표이익 input : Profit(5); var : cnt(0),count(0); var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); Condition1 = var1 > var2 and var3 > var4 and c > var5; Condition2 = var1 < var2 and var3 < var4 and c < var5; if count < 1 Then { if Condition1 == True Then { buy(); count = 1; } if Condition2 == True Then { sell(); count = 1; } } if count >= 1 and MarketPosition() == 0 Then { if !(IsExitName("매수목표이익",1)) and Condition1 == True Then buy(); if !(IsExitName("매도목표이익",1)) and Condition2 == True Then sell(); } if count >= 1 and MarketPosition() != 0 Then { if Condition1 == True Then buy(); if Condition2 == True Then sell(); } if MarketPosition() != 0 Then { exitlong("매수목표이익",atlimit,entryPrice()+Profit); exitshort("매도목표이익",atlimit,entryPrice()-Profit); } 2. 손절 input : loss(3); var : cnt(0),count(0); var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); Condition1 = var1 > var2 and var3 > var4 and c > var5; Condition2 = var1 < var2 and var3 < var4 and c < var5; if count < 1 Then { if Condition1 == True Then { buy(); count = 1; } if Condition2 == True Then { sell(); count = 1; } } if count >= 1 and MarketPosition() == 0 Then { if !(IsExitName("매수손절",1)) and Condition1 == True Then buy(); if !(IsExitName("매도손절",1)) and Condition2 == True Then sell(); } if count >= 1 and MarketPosition() != 0 Then { if Condition1 == True Then buy(); if Condition2 == True Then sell(); } if MarketPosition() != 0 Then { exitlong("매수손절",atstop,entryPrice()-loss); exitshort("매도손절",atstop,entryPrice()+loss); } 즐거운 하루되세요 > CJ_coco 님이 쓴 글입니다. > 제목 : Re : Re : 강제청산 > 답변주신 식으로 선물 30분봉 차트에 적용했더니 2007년~현재까지 거래가 많을텐데 3회밖에 발생하지 않고 좀 이상합니다 질문한 지표들을 크로스가 아닌 크다와 작다로 수정합니다 그리고 당일청산 안하고 신호에 따라 매매하는 식을 바꿔주시면 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 강제청산 > 안녕하세요 예스스탁입니다. 1. 목표수익 input : Profit(5); var : cnt(0),count(0); Count = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); SetStopProfittarget(Profit,PointStop); ## 당일 첫진입 if count < 1 Then { if crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ##당일 2번째 진입부터(전거래가 목표수익일때) if count >= 1 Then { if PositionProfit(1) >= Profit and MarketPosition(1) == -1 and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) >= Profit and MarketPosition(1) == 1 and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ## 당일 2번째 진입부터(전거래가 목표수익이 아닐때) if count >= 1 Then { if PositionProfit(1) < Profit and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) < Profit and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } SetStopEndofday(1500); 2. 손절 input : loss(3); var : cnt(0),count(0); Count = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); var4 = ema(var3,9); var5 = sar(0.02,0.2); SetStopLoss(loss,PointStop); ## 당일 첫진입 if count < 1 Then { if crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ##당일 2번째 진입부터(전거래가 목표수익일때) if count >= 1 Then { if PositionProfit(1) <= -(loss) and MarketPosition(1) == -1 and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) <= -(loss) and MarketPosition(1) == 1 and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } ## 당일 2번째 진입부터(전거래가 목표수익이 아닐때) if count >= 1 Then { if PositionProfit(1) > -(loss) and crossup(var1,var2) and crossup(var3,var4) and crossup(c,var5) Then buy(); if PositionProfit(1) > -(loss) and CrossDown(var1,var2) and CrossDown(var3,var4) and CrossDown(c,var5) Then sell(); } SetStopEndofday(1500); 즐거운 하루되세요 > CJ_coco 님이 쓴 글입니다. > 제목 : 강제청산 > 안녕하세요. 이동평균 크로스(5,20),MACD 크로스(12,26,9),파라볼릭이 and로 만족하는 조건식으로 평소에는 매매하다가 목표수익(5포인트)로 청산했을 때에는 또다시 청산 전 같은 신호가 발생하지 않고 다른 신호일 때만 진입하는식을 만들어 주시면 감사하겠습니다. (손절매(3p)도 별도의 식으로 작성해 주시면 또 감사)