커뮤니티
강제청산
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)도 별도의 식으로 작성해 주시면 또 감사)
다음글
이전글