* 매번 도움에 고맙습니다.
* 청산 로직이 어느 부분이 잘못 되었는지 수정 좀 부탁 드립니다.
기준 : cci 수치가 3번 다운 신호 발생 하면 청산 인데 잘안되네요. <그림참조>
## CCI 청산
CCIv = CCI(9);
if MarketPosition == -1 and countif( Crossdown(CCIv,-100),100) >= 2 Then ExitShort("CCI청산");
* 아래 수식은 2번째 매매 건너뛰지 말고 "1시간 동안 매매금지" 로 수정 좀 부탁 드립니다.
▶ 손실횟수 와 시간은 변수처리로 좀 요청 드립니다.
첨부화면은 아프리카 tv에 "sotiman" 있습니다.
input : n(2);
var : loss(0),t(0);
var1 = ma(c,5) ;
var2 = ma(c,2) ;
if t <= 0 and crossup(var1,var2) then
{
t = 1;
if PositionProfit(0) >= 0 Then
loss = 0;
Else
loss = loss+1;
if loss < n Then
buy("b");
Else
ExitShort("sx");
}
if t >= 0 and crossdown(var1,var2) then
{
t = -1;
if PositionProfit(0) >= 0 Then
loss = 0;
Else
loss = loss+1;
if loss < n Then
Sell("s");
Else
Exitlong("bx");
}
* 마지막 매도 가격 과 20틱 이상 날경우 진입 하는 수식 좀 요청 드립니다.
if crossup(ma(c,5), ma(c,20) ) then buy();
이경우 이전 마지막 청산가격 보다 20틱 높을경우 진입 하는 수식 좀 부탁 드립니다.
(아침에 최초 시작에는 07시 10분 가격 기준으로 20틱 높으면 매수 입니다)
* 항상 많은 도움에 열심히 하고 있습니다.
아프리카 tv 보시면 차트 보임니다. 고맙습니다.
답변 1
예스스탁
예스스탁 답변
2020-09-15 14:39:00
안녕하세요
예스스탁입니다.
1
진입후 3번 크로스다운시 청산하게 수정해 드립니다.
CCIv = CCI(9);
if MarketPosition == -1 and
countif( Crossdown(CCIv,-100),BarsSinceEntry) == 3 Then
ExitShort("CCI청산");
2
input : n(2),ntime(60);
var : loss(0),lossCnt(0),t(0),S1(0),D1(0),TM(0);
var1 = ma(c,5) ;
var2 = ma(c,2) ;
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
}
if TotalTrades > TotalTrades[1] Then
{
if PositionProfit(0) >= 0 Then
loss = 0;
Else
loss = loss+1;
}
if MarketPosition == 0 Then
lossCnt = loss;
Else
{
if PositionProfit(0) >= 0 Then
lossCnt = 0;
Else
lossCnt = loss+1;
}
if t <= 0 and crossup(var1,var2) then
{
t = 1;
if (MarketPosition == 0 and lossCnt < n) or
(MarketPosition == 0 and lossCnt == n and TM >= TM[BarsSinceExit(1)]+ntime) or
(MarketPosition == -1 and lossCnt < n) Then
buy("b");
Else
ExitShort("sx");
}
if t >= 0 and crossdown(var1,var2) then
{
t = -1;
if (MarketPosition == 0 and lossCnt < n) or
(MarketPosition == 0 and lossCnt == n and TM >= TM[BarsSinceExit(1)]+ntime) or
(MarketPosition == -1 and lossCnt < n) Then
Sell("s");
Else
Exitlong("bx");
}
3
var : entry(0);
if (sdate != sdate[1] and stime >= 071000) or
(sdate == sdate[1] and stime >= 071000 and stime[1] < 071000) Then
{
var1 = O;
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition == 0 and
((entry == 0 and C >= var1+PriceScale*20) or (entry >= 1 and C >= ExitPrice(1)+PriceScale*20)) and
crossup(ma(c,5), ma(c,20) ) then
buy();
즐거운 하루되세요
> 요타 님이 쓴 글입니다.
> 제목 : 수식 좀 요청 드립니다.
> * 매번 도움에 고맙습니다.
* 청산 로직이 어느 부분이 잘못 되었는지 수정 좀 부탁 드립니다.
기준 : cci 수치가 3번 다운 신호 발생 하면 청산 인데 잘안되네요. <그림참조>
## CCI 청산
CCIv = CCI(9);
if MarketPosition == -1 and countif( Crossdown(CCIv,-100),100) >= 2 Then ExitShort("CCI청산");
* 아래 수식은 2번째 매매 건너뛰지 말고 "1시간 동안 매매금지" 로 수정 좀 부탁 드립니다.
▶ 손실횟수 와 시간은 변수처리로 좀 요청 드립니다.
첨부화면은 아프리카 tv에 "sotiman" 있습니다.
input : n(2);
var : loss(0),t(0);
var1 = ma(c,5) ;
var2 = ma(c,2) ;
if t <= 0 and crossup(var1,var2) then
{
t = 1;
if PositionProfit(0) >= 0 Then
loss = 0;
Else
loss = loss+1;
if loss < n Then
buy("b");
Else
ExitShort("sx");
}
if t >= 0 and crossdown(var1,var2) then
{
t = -1;
if PositionProfit(0) >= 0 Then
loss = 0;
Else
loss = loss+1;
if loss < n Then
Sell("s");
Else
Exitlong("bx");
}
* 마지막 매도 가격 과 20틱 이상 날경우 진입 하는 수식 좀 요청 드립니다.
if crossup(ma(c,5), ma(c,20) ) then buy();
이경우 이전 마지막 청산가격 보다 20틱 높을경우 진입 하는 수식 좀 부탁 드립니다.
(아침에 최초 시작에는 07시 10분 가격 기준으로 20틱 높으면 매수 입니다)
* 항상 많은 도움에 열심히 하고 있습니다.
아프리카 tv 보시면 차트 보임니다. 고맙습니다.