커뮤니티
질문
2018-01-17 09:47:10
145
글번호 115837
수정해 주셔서 신호는 잘 나오는 데 진입설정에서 피라미드중복진입을 설정했는 데도 하루 한번받에 거래가 않되네요.수정 부탁드립니다. 감사합니다.
input : BarsEntryInterval(20), pMaxContracts(4),pTimeInterval(11);
Var : vA_value(0,data2),TT(0), vB_value(0,data2),vStartMin(0,data2);
var : PreTT(0,data2),cond99(false,data1);
If data2(bdate <> bdate[1]) Then
{
vA_value = data2(H);
vB_value = data2(L);
Cond99 = False;
vStartMin = data2(TimeToMinutes(stime));
PreTT = TotalTrades[1];
}
If Cond99 == False Then
{
if vA_value < data2(H) Then
vA_value = data2(H);
if vB_value > data2(L) Then
vB_value = data2(L);
}
If data2((TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False) Then
{
Cond99 = True;
}
if Cond99 Then
{
#If data2(CrossUp(C, vA_value)) Then ExitShort("BX");
If data2(CrossDown(C, vB_value)) Then ExitLong("SX");
If data2(time <= 115900) And TT - PreTT <= 2 Then
{
If data2(CrossUp(C, vA_value)) Then Buy("B");
If data2(CrossDown(C, vB_value)) Then ExitLong("S");
}
if MarketPosition == 1 And data2(C > vA_value) And CurrentContracts < pMaxContracts Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reBuy1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Buy("reBuy2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Buy("reBuy3");
}
/* if MarketPosition == -1 And data2(C < vB_value) And CurrentContracts < pMaxContracts Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Sell("reSell1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Sell("reSell2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Sell("reSell3");
}*/
}
SetStopEndofday(150000);
답변 2
예스스탁 예스스탁 답변
2018-01-17 13:17:26
안녕하세요
예스스탁입니다.
수식내용상 pMaxContracts 이상으로 수량이 진입되지 않습니다.
내용상 첫진입이후 3번 추가매수가 가능하므로
수량이 아닌 최대진입을 4회까지 하는 식으로 변경해 드립니다.
input : BarsEntryInterval(20), pMaxEntry(4),pTimeInterval(11);
Var : vA_value(0,data2),TT(0), vB_value(0,data2),vStartMin(0,data2);
var : PreTT(0,data2),cond99(false,data1);
If data2(bdate <> bdate[1]) Then
{
vA_value = data2(H);
vB_value = data2(L);
Cond99 = False;
vStartMin = data2(TimeToMinutes(stime));
PreTT = TotalTrades[1];
}
If Cond99 == False Then
{
if vA_value < data2(H) Then
vA_value = data2(H);
if vB_value > data2(L) Then
vB_value = data2(L);
}
If data2((TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False) Then
{
Cond99 = True;
}
if Cond99 Then
{
#If data2(CrossUp(C, vA_value)) Then ExitShort("BX");
If data2(CrossDown(C, vB_value)) Then ExitLong("SX");
If data2(time <= 115900) And TT - PreTT <= 2 Then
{
If MarketPosition <= 0 and data2(CrossUp(C, vA_value)) Then Buy("B");
If data2(CrossDown(C, vB_value)) Then ExitLong("S");
}
if MarketPosition == 1 And data2(C > vA_value) And MaxEntries < pMaxEntry Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reBuy1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Buy("reBuy2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Buy("reBuy3");
}
/* if MarketPosition == -1 And data2(C < vB_value) And CurrentContracts < pMaxEntry Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Sell("reSell1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Sell("reSell2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Sell("reSell3");
}*/
}
SetStopEndofday(150000);
즐거운 하루되세요
> 이주엽 님이 쓴 글입니다.
> 제목 : 질문
> 수정해 주셔서 신호는 잘 나오는 데 진입설정에서 피라미드중복진입을 설정했는 데도 하루 한번받에 거래가 않되네요.수정 부탁드립니다. 감사합니다.
input : BarsEntryInterval(20), pMaxContracts(4),pTimeInterval(11);
Var : vA_value(0,data2),TT(0), vB_value(0,data2),vStartMin(0,data2);
var : PreTT(0,data2),cond99(false,data1);
If data2(bdate <> bdate[1]) Then
{
vA_value = data2(H);
vB_value = data2(L);
Cond99 = False;
vStartMin = data2(TimeToMinutes(stime));
PreTT = TotalTrades[1];
}
If Cond99 == False Then
{
if vA_value < data2(H) Then
vA_value = data2(H);
if vB_value > data2(L) Then
vB_value = data2(L);
}
If data2((TimeToMinutes(stime) - vStartMin) == pTimeInterval And Cond99 == False) Then
{
Cond99 = True;
}
if Cond99 Then
{
#If data2(CrossUp(C, vA_value)) Then ExitShort("BX");
If data2(CrossDown(C, vB_value)) Then ExitLong("SX");
If data2(time <= 115900) And TT - PreTT <= 2 Then
{
If data2(CrossUp(C, vA_value)) Then Buy("B");
If data2(CrossDown(C, vB_value)) Then ExitLong("S");
}
if MarketPosition == 1 And data2(C > vA_value) And CurrentContracts < pMaxContracts Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Buy("reBuy1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Buy("reBuy2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Buy("reBuy3");
}
/* if MarketPosition == -1 And data2(C < vB_value) And CurrentContracts < pMaxContracts Then{
if BarsSinceEntry == ( 1 * BarsEntryInterval) Then
Sell("reSell1");
if BarsSinceEntry == ( 2 * BarsEntryInterval) Then
Sell("reSell2");
if BarsSinceEntry == ( 3 * BarsEntryInterval) Then
Sell("reSell3");
}*/
}
SetStopEndofday(150000);
이주엽
2018-01-17 23:04:26
이주엽 님에 의해 삭제된 답변입니다.