커뮤니티
함수수정요청(226호)
2016-01-15 17:37:41
144
글번호 94468
안녕하세요?
아래의 함수를 수정요청드립니다.
매수와 매도를 하루에 진입기준으로 최대 각 1회씩(2회이상은 신호제어)만 나오도록 하고 싶습니다.
즉 하루에 최대 매수 1번 진입, 매도 1번 진입입니다.
----------------------------------------------------------------------------------------
#시나리오 1
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if bdate != bdate[1] 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
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
#시나리오 2
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
var : NP(0),NP1(0),NP2(0),Trade(false);
NP = NetProfit;
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
NP1 = NP[1];
NP2 = NP1[1];
if NP1 <= NP2 Then
Trade = true;
Else
Trade = 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 Trade == true and
Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Trade == true and
Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
MessageLog("%.2f %.2f %s",NP1,Np2,trade);
답변 1
예스스탁 예스스탁 답변
2016-01-18 13:48:58
안녕하세요
예스스탁입니다.
1
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
var : Bcnt(0),Scnt(0);
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
Bcnt = 0;
Scnt = 0;
}
if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then
Bcnt = Bcnt+1;
if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then
Scnt = Scnt+1;
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 Bcnt < 1 and Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Scnt < 1 and Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
2.
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
var : NP(0),NP1(0),NP2(0),Trade(false);
var : Bcnt(0),Scnt(0);
NP = NetProfit;
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
NP1 = NP[1];
NP2 = NP1[1];
Bcnt = 0;
Scnt = 0;
if NP1 <= NP2 Then
Trade = true;
Else
Trade = false;
}
if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then
Bcnt = Bcnt+1;
if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then
Scnt = Scnt+1;
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 Bcnt < 1 and
Trade == true and
Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Scnt < 1 and
Trade == true and
Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
MessageLog("%.2f %.2f %s",NP1,Np2,trade);
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 함수수정요청(226호)
> 안녕하세요?
아래의 함수를 수정요청드립니다.
매수와 매도를 하루에 진입기준으로 최대 각 1회씩(2회이상은 신호제어)만 나오도록 하고 싶습니다.
즉 하루에 최대 매수 1번 진입, 매도 1번 진입입니다.
----------------------------------------------------------------------------------------
#시나리오 1
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if bdate != bdate[1] 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
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
#시나리오 2
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
var : NP(0),NP1(0),NP2(0),Trade(false);
NP = NetProfit;
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
NP1 = NP[1];
NP2 = NP1[1];
if NP1 <= NP2 Then
Trade = true;
Else
Trade = 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 Trade == true and
Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Trade == true and
Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
MessageLog("%.2f %.2f %s",NP1,Np2,trade);
이전글