커뮤니티
문의
2016-12-27 12:12:55
91
글번호 105345
예스에서 사용할 수 있도록 교정부탁드립니다. TimeToMin함수는 시간(예:013200)을 00시부터 분(예:9200)으로 계산하여 나타내는 함수입니다. 감사합니다.
Var : vA_value(0), vB_value(0),vStartMin(0);
Param : BarsEntryInterval(30), pMaxContracts(2),pTimeInterval(60);
Var : PreTT(0), TT(0);
If date <> date[1] Then
Begin
vA_value = H;
vB_value = L;
Cond99 = False;
vStartMin = TimeToMin(time);
PreTT = TotalTrades[1];
End;
If Cond99 = False
Then
Begin
if vA_value < H Then vA_value = H;
if vB_value > L Then vB_value = L;
End;
If (TimeToMin(time) - vStartMin)= pTimeInterval
And Cond99 = False
Then
Begin
Cond99 = True;
End;
if Cond99 Then
Begin
If CrossUp(C, vA_value) Then ExitShort("BX");
If CrossDown(C, vB_value) Then ExitLong("SX");
If time <= 140000
And TT - PreTT <= 2
Then
Begin
If CrossUp(C, vA_value) Then Buy("B");
If CrossDown(C, vB_value) Then Sell("S");
End;
if SignalPosition = 1 And C > vA_value
And CurrentContracts < pMaxContracts Then
Begin
if BarsSinceEntry = ( 1 * BarsEntryInterval)
Then
Buy("reBuy1");
End
Else if SignalPosition = -1 And C < vB_value
And CurrentContracts < pMaxContracts Then
Begin
if BarsSinceEntry = ( 1 * BarsEntryInterval)
Then
Sell("reSell1");
End;
End;
답변 1
예스스탁 예스스탁 답변
2016-12-27 13:28:42
안녕하세요
예스스탁입니다.
올려주신 식에 TimeToMin함수가
내용상 TimeToMinutes함수와 같은 내용 같은데 정확치는 않습니다.
0시 이후의 경과된 분수를 나타내는 함수가 맍는지 확인하시기 바랍니다.
Var : vA_value(0), vB_value(0),vStartMin(0);
input : BarsEntryInterval(30), pMaxContracts(2),pTimeInterval(60);
var : PreTT(0), TT(0),cond99(false);
If date <> date[1] Then Begin
vA_value = H;
vB_value = L;
Cond99 = False;
vStartMin = TimeToMinutes(stime);
PreTT = TotalTrades[1];
End;
If Cond99 == False Then Begin
if vA_value < H Then vA_value = H;
if vB_value > L Then vB_value = L;
End;
If (TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False Then Begin
Cond99 = True;
End;
if Cond99 Then Begin
If CrossUp(C, vA_value) Then ExitShort("BX");
If CrossDown(C, vB_value) Then ExitLong("SX");
If time <= 140000 And TT - PreTT <= 2 Then Begin
If CrossUp(C, vA_value) Then Buy("B");
If CrossDown(C, vB_value) Then Sell("S");
End;
if MarketPosition == 1 And C > vA_value And CurrentContracts < pMaxContracts Then Begin
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reBuy1");
End
Else if MarketPosition == -1 And C < vB_value And CurrentContracts < pMaxContracts Then Begin
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Sell("reSell1");
End;
End;
즐거운 하루되세요
> 이주엽 님이 쓴 글입니다.
> 제목 : 문의
> 예스에서 사용할 수 있도록 교정부탁드립니다. TimeToMin함수는 시간(예:013200)을 00시부터 분(예:9200)으로 계산하여 나타내는 함수입니다. 감사합니다.
Var : vA_value(0), vB_value(0),vStartMin(0);
Param : BarsEntryInterval(30), pMaxContracts(2),pTimeInterval(60);
Var : PreTT(0), TT(0);
If date <> date[1] Then
Begin
vA_value = H;
vB_value = L;
Cond99 = False;
vStartMin = TimeToMin(time);
PreTT = TotalTrades[1];
End;
If Cond99 = False
Then
Begin
if vA_value < H Then vA_value = H;
if vB_value > L Then vB_value = L;
End;
If (TimeToMin(time) - vStartMin)= pTimeInterval
And Cond99 = False
Then
Begin
Cond99 = True;
End;
if Cond99 Then
Begin
If CrossUp(C, vA_value) Then ExitShort("BX");
If CrossDown(C, vB_value) Then ExitLong("SX");
If time <= 140000
And TT - PreTT <= 2
Then
Begin
If CrossUp(C, vA_value) Then Buy("B");
If CrossDown(C, vB_value) Then Sell("S");
End;
if SignalPosition = 1 And C > vA_value
And CurrentContracts < pMaxContracts Then
Begin
if BarsSinceEntry = ( 1 * BarsEntryInterval)
Then
Buy("reBuy1");
End
Else if SignalPosition = -1 And C < vB_value
And CurrentContracts < pMaxContracts Then
Begin
if BarsSinceEntry = ( 1 * BarsEntryInterval)
Then
Sell("reSell1");
End;
End;
다음글