커뮤니티
수정부탁드립니다.
2019-10-01 22:02:11
192
글번호 132436
안녕하세요? 아래 수식 수정좀 부탁드립니다.
1)날짜와 시간을 삭제해서 구애받지않게 해주세요.
2)하루매매횟수를 외부변수로 정할수있게 부탁드립니다.
2)익절과 손절, 그리고 트레일링 스탑을 외부변수로 조정할수있도록 빼주세요.
감사합니다.
Input : CurDate(20140604), StopTime(151500);
Var : DHigh(0), DLow(0);
If sDate == CurDate AND sTime == 90000 Then {
DHigh = H;
DLow = L;
}
If sDate == CurDate AND sTime >= 90100 Then {
If sTime >= StopTime Then {
ExitShort();
ExitLong();
} Else {
If MarketPosition == 0 Then {
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("GabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("GabB2", OnClose, C);
}
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("GabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("GabS2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("TB1", OnClose, C);
}
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("TS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB2", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[2] OR H[0] == H[1]) AND C[0] < O[0] Then {
Sell("TopS1", OnClose, C);
}
// 쌍바닥
If (L[0] == L[2] OR L[0] == L[1]) AND C[0] > O[0] Then {
Buy("botB1", OnClose, C);
}
}
If (H[1] >= DHigh OR H[2] >= DHigh OR H[3] >= DHigh OR H[4] >= DHigh OR H[5] >= DHigh OR H[6] >= DHigh) AND MarketPosition == 1 Then {
/*********** Gab ***********/
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("rGabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("rGabS2", OnClose, C);
}
/*********** T1 ***********/
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("rTS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[1] or H[0] == H[2]) AND C[0] < O[0] Then {
Sell("rTopS1", OnClose, C);
}
}
If (L[1] <= DLow OR L[2] <= DLow OR L[3] <= DLow OR L[4] <= DLow OR L[5] <= DLow OR L[6] <= DLow) AND MarketPosition == -1 Then {
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("rGabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("rGabB2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("rTB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB2", OnClose, C);
}
// 쌍바닥
If (L[0] == L[1] or L[0] == L[2]) AND C[0] > O[0] Then {
Buy("rbotB1", OnClose, C);
}
}
//MessageLog("DHigh : %.2f, DLow : %.2f", DHigh, DLow);
// 고, 저가 저장
If H > DHigh Then {
DHigh = H;
}
If L < DLow Then {
DLow = L;
}
}
SetStopProfittarget(1.5, PointStop);
SetStopTrailing(0.7, 1.0, PointStop);
SetStopLoss(0.7, PointStop);
}
답변 1
예스스탁 예스스탁 답변
2019-10-02 11:34:59
안녕하세요
예스스탁입니다.
Input : 하루매매횟수(3);
input : 익절(1.5),손절(0.7),최소수익(1.0),수익감소(0.7),StopTime(151500);
var : entry(0);
if bdate != bdate[1] Then
entry = 0;
if MarketPosition(0) != 0 and MarketPosition(0) != MarketPosition(0)[1] Then
entry = entry+1;
If MarketPosition == 0 and entry < 하루매매횟수 Then
{
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("GabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("GabB2", OnClose, C);
}
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("GabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("GabS2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("TB1", OnClose, C);
}
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("TS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB2", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[2] OR H[0] == H[1]) AND C[0] < O[0] Then {
Sell("TopS1", OnClose, C);
}
// 쌍바닥
If (L[0] == L[2] OR L[0] == L[1]) AND C[0] > O[0] Then {
Buy("botB1", OnClose, C);
}
}
If (H[1] >= dayhigh OR H[2] >= dayhigh OR H[3] >= dayhigh OR H[4] >= dayhigh OR H[5] >= dayhigh OR H[6] >= dayhigh) AND MarketPosition == 1 and entry < 하루매매횟수 Then {
/*********** Gab ***********/
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("rGabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("rGabS2", OnClose, C);
}
/*********** T1 ***********/
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("rTS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[1] or H[0] == H[2]) AND C[0] < O[0] Then {
Sell("rTopS1", OnClose, C);
}
}
If (L[1] <= daylow OR L[2] <= daylow OR L[3] <= daylow OR L[4] <= daylow OR L[5] <= daylow OR L[6] <= daylow) AND MarketPosition == -1 and entry < 하루매매횟수 Then {
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("rGabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("rGabB2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("rTB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB2", OnClose, C);
}
// 쌍바닥
If (L[0] == L[1] or L[0] == L[2]) AND C[0] > O[0] Then {
Buy("rbotB1", OnClose, C);
}
}
//MessageLog("dayhigh : %.2f, daylow : %.2f", dayhigh, daylow);
SetStopProfittarget(익절, PointStop);
SetStopTrailing(수익감소, 최소수익, PointStop);
SetStopLoss(손절, PointStop);
SetStopEndofday(StopTime);
즐거운 하루되세요
> 대구어린울프 님이 쓴 글입니다.
> 제목 : 수정부탁드립니다.
> 안녕하세요? 아래 수식 수정좀 부탁드립니다.
1)날짜와 시간을 삭제해서 구애받지않게 해주세요.
2)하루매매횟수를 외부변수로 정할수있게 부탁드립니다.
2)익절과 손절, 그리고 트레일링 스탑을 외부변수로 조정할수있도록 빼주세요.
감사합니다.
Input : CurDate(20140604), StopTime(151500);
Var : DHigh(0), DLow(0);
If sDate == CurDate AND sTime == 90000 Then {
DHigh = H;
DLow = L;
}
If sDate == CurDate AND sTime >= 90100 Then {
If sTime >= StopTime Then {
ExitShort();
ExitLong();
} Else {
If MarketPosition == 0 Then {
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("GabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("GabB2", OnClose, C);
}
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("GabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("GabS2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("TB1", OnClose, C);
}
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("TS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("2TB2", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[2] OR H[0] == H[1]) AND C[0] < O[0] Then {
Sell("TopS1", OnClose, C);
}
// 쌍바닥
If (L[0] == L[2] OR L[0] == L[1]) AND C[0] > O[0] Then {
Buy("botB1", OnClose, C);
}
}
If (H[1] >= DHigh OR H[2] >= DHigh OR H[3] >= DHigh OR H[4] >= DHigh OR H[5] >= DHigh OR H[6] >= DHigh) AND MarketPosition == 1 Then {
/*********** Gab ***********/
// 갭상승 후 음봉
If O[0] > C[1] AND C[0] < O[0] Then {
Sell("rGabS1", OnClose, C);
}
// 갭하락 후 음봉
If C[1] > O[0] AND C[0] < O[0] Then {
Sell("rGabS2", OnClose, C);
}
/*********** T1 ***********/
// 1T 양봉 후 2T 이상 음봉
If C[1] - O[1] == 0.05 AND O[0] - C[0] >= 0.1 Then {
Sell("rTS1", OnClose, C);
}
// 2T 이상 양봉 후 1T 음봉
If C[1] - O[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS1", OnClose, C);
}
// 2T 이상 음봉 후 1T 음봉
If O[1] - C[1] >= 0.1 AND O[0] - C[0] == 0.05 Then {
Sell("r2TS2", OnClose, C);
}
/************ 쌍봉, 쌍바닥 ************/
// 쌍봉
If (H[0] == H[1] or H[0] == H[2]) AND C[0] < O[0] Then {
Sell("rTopS1", OnClose, C);
}
}
If (L[1] <= DLow OR L[2] <= DLow OR L[3] <= DLow OR L[4] <= DLow OR L[5] <= DLow OR L[6] <= DLow) AND MarketPosition == -1 Then {
/************ Gab ************/
// 갭상승 후 양봉
If O[0] > C[1] AND C[0] > O[0] Then {
Buy("rGabB1", OnClose, C);
}
// 갭하락 후 양봉
If C[1] > O[0] AND C[0] > O[0] Then {
Buy("rGabB2", OnClose, C);
}
/************ T1 ************/
// 1T 음봉 후 2T 이상 양봉
If O[1] - C[1] == 0.05 AND C[0] - O[0] >= 0.1 Then {
Buy("rTB1", OnClose, C);
}
// 2T 이상 양봉 후 1T 양봉
If C[1] - O[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB1", OnClose, C);
}
// 2T 이상 음봉 후 1T 양봉
If O[1] - C[1] >= 0.1 AND C[0] - O[0] == 0.05 Then {
Buy("r2TB2", OnClose, C);
}
// 쌍바닥
If (L[0] == L[1] or L[0] == L[2]) AND C[0] > O[0] Then {
Buy("rbotB1", OnClose, C);
}
}
//MessageLog("DHigh : %.2f, DLow : %.2f", DHigh, DLow);
// 고, 저가 저장
If H > DHigh Then {
DHigh = H;
}
If L < DLow Then {
DLow = L;
}
}
SetStopProfittarget(1.5, PointStop);
SetStopTrailing(0.7, 1.0, PointStop);
SetStopLoss(0.7, PointStop);
}
다음글
이전글