커뮤니티
글번호 47298번 재질문
2016-04-22 21:21:12
120
글번호 97399
안녕하세요?
글번호 47298번 재질문입니다.
아래의 함수 수정요청드립니다.
3번 연속 손실시 4번째거래는 안하고 5번째 거래를 다시 하고 싶습니다.
작성해주신 식은 3번 연속 손실이 나면 4번째 거래서 부터 매매가 아예 중단이 되어 버립니다.
input : starttime(70000), xtime(60000);
var : tcond(false),cond1(false),cond2(false),Xcond(false);
if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then
Xcond = true;
Else if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then
Xcond = true;
Else
Xcond = false;
if stime == starttime or (stime > starttime and stime[1] < starttime) Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then{
if Xcond == false Then
buy();
if Xcond == true Then
ExitShort();
}
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then{
if Xcond == false Then
Sell();
if Xcond == true Then
Exitlong();
}
답변 1
예스스탁 예스스탁 답변
2016-04-25 17:59:14
안녕하세요
예스스탁입니다.
거래 중간에 실제 거래를 건너뛰고 가상으로 체크하는 부분은
식작성에 시간이 많이 소모되어 작성해 드리기가 어렵습니다.
아래 간략한 예 올려드립니다.
아래식 참고하셔서 수정보완해 사용하시기 바랍니다.
input : starttime(70000), xtime(60000);
var : tcond(false),cond1(false),cond2(false),Xcond(false);
if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then
Xcond = true;
Else if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then
Xcond = true;
Else
Xcond = false;
if stime == starttime or (stime > starttime and stime[1] < starttime) Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then{
if Xcond == false Then
buy();
if MarketPosition == -1 and Xcond == true Then
ExitShort();
#현재 무포지션이고 최근 3번거래가 손실이면
#청산이후 매도조건이 한번이상 만족하고
#현재 매수조건 만족하면 매수
if Xcond == true and
MarketPosition == 0 and
countif(Tcond == true and Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1],BarsSinceExit(1)) >= 1 Then
buy();
}
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then{
if Xcond == false Then
Sell();
if Xcond == true Then
Exitlong();
#현재 무포지션이고 최근 3번거래가 손실이면
#청산이후 매수조건이 한번이상 만족하고
#현재 매도조건 만족하면 매도
if Xcond == true and
MarketPosition == 0 and
countif(Tcond == true And Condition1 == true and
cond1 == true and
var1 > var1[1] and var2 > var2[1],BarsSinceExit(1)) >= 1 Then
sell();
}
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 글번호 47298번 재질문
> 안녕하세요?
글번호 47298번 재질문입니다.
아래의 함수 수정요청드립니다.
3번 연속 손실시 4번째거래는 안하고 5번째 거래를 다시 하고 싶습니다.
작성해주신 식은 3번 연속 손실이 나면 4번째 거래서 부터 매매가 아예 중단이 되어 버립니다.
input : starttime(70000), xtime(60000);
var : tcond(false),cond1(false),cond2(false),Xcond(false);
if MarketPosition == 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 and PositionProfit(3) < 0 Then
Xcond = true;
Else if MarketPosition != 0 and PositionProfit(0) < 0 and PositionProfit(1) < 0 and PositionProfit(2) < 0 Then
Xcond = true;
Else
Xcond = false;
if stime == starttime or (stime > starttime and stime[1] < starttime) Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then{
if Xcond == false Then
buy();
if Xcond == true Then
ExitShort();
}
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then{
if Xcond == false Then
Sell();
if Xcond == true Then
Exitlong();
}
이전글