첨부 이미지
그림1
그림2
수고많으십니다.
프로그램을 다시접속해서 그런지 디버킹을 정상적으로 됩니다.
if Date==20230512 and sTime==033500 Then
{
Buy("매수",AtMarket);
}
//Data1============================================= 나스닥 호가 0.25 틱가치 5
var1=c-EntryPrice; //지수차이를 나타냄
Var2=var1/0.25;
Var3=Var2 * 5;
if Var3 == 200.00 or Var3 == -200.00 Then
{
ExitLong("청산"); //매수포지션 청산
}
MessageLog("지수차이 %.2f",Var1);
MessageLog("틱수 %.2f",Var2);
MessageLog("손익금액 %.2f",Var3);
1분봉에 자동주문 적용하니 033600에 정상적으로 매수 되었습니다.
수익200달러이거라 손실200달러일때 청산하도록 코딩을 한것 같은데
청산이 되지 않았습니다. 챠트상 잠시 청산신호는 나왔다가 사라졌습니다.
답변 1
예스스탁
예스스탁 답변
2023-05-12 11:15:55
안녕하세요
예스스탁입니다.
1
현재 지정하신 조건은 정확히 200달러 -200달러입니다.
if문은 봉완성시이므로 종가로 정확히 해당 금액이어야 합니다.
아래와 같이 이상으로 지정해 주셔야 합니다.
if Date==20230512 and sTime==033500 Then
{
Buy("매수",AtMarket);
}
//Data1============================================= 나스닥 호가 0.25 틱가치 5
if MarketPosition == 1 Then
{
var1=c-EntryPrice; //지수차이를 나타냄
Var2=var1/0.25;
Var3=Var2 * 5;
if Var3 >= 200.00 or Var3 <= -200.00 Then
{
ExitLong("청산"); //매수포지션 청산
}
MessageLog("지수차이 %.2f",Var1);
MessageLog("틱수 %.2f",Var2);
MessageLog("손익금액 %.2f",Var3);
}
2
함수 중 BigPointValue가 1포인트 금액입니다.
200을 해당 함수로 나누면 200달라에 대한 포인트가 계산됩니다.
해당 포인트를 손절 익절값으로 지정하시면 됩니다
if Date==20230512 and sTime==033500 Then
{
Buy("매수",AtMarket);
}
SetStopLoss(200/BigPointValue,PointStop);
SetStopProfittarget(200/BigPointValue,PointStop);
즐거운 하루되세요
> 멋진감자 님이 쓴 글입니다.
> 제목 : 청산이 되지않아요 수식검토 부탁드립니다.
> 수고많으십니다.
프로그램을 다시접속해서 그런지 디버킹을 정상적으로 됩니다.
if Date==20230512 and sTime==033500 Then
{
Buy("매수",AtMarket);
}
//Data1============================================= 나스닥 호가 0.25 틱가치 5
var1=c-EntryPrice; //지수차이를 나타냄
Var2=var1/0.25;
Var3=Var2 * 5;
if Var3 == 200.00 or Var3 == -200.00 Then
{
ExitLong("청산"); //매수포지션 청산
}
MessageLog("지수차이 %.2f",Var1);
MessageLog("틱수 %.2f",Var2);
MessageLog("손익금액 %.2f",Var3);
1분봉에 자동주문 적용하니 033600에 정상적으로 매수 되었습니다.
수익200달러이거라 손실200달러일때 청산하도록 코딩을 한것 같은데
청산이 되지 않았습니다. 챠트상 잠시 청산신호는 나왔다가 사라졌습니다.