커뮤니티
질문합니다
2015-12-09 14:10:44
118
글번호 93236
#매수진입 후
if MarketPosition == 1 Then{
#0.5포인트 수익이면 청산
ExitLong("BP",atlimit,EntryPrice+0.5);
#30분 경과시점에 종가가 진입가보다 작으면 청산
if C < EntryPrice and
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and
TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)) Then
exitlong();
}
#매도진입후
if MarketPosition == -1 Then{
#0.5포인트 수익이면 청산
ExitShort("SP",atlimit,EntryPrice-0.5);
#30분 경과시점에 종가가 진입가보다 크면 청산
if C > EntryPrice and
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and
TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)) Then
ExitShort();
}
제가 받은 수식입니다 ~!
바로 매수 매도 진입후 수식을 써주셨는데
매수 매도 진입을 처음에 할때 특정시간에 예를들어 10시에 위로0.50에 매수
아래로 0.50에 매도에 진입하는식과
if C < EntryPrice and
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and
TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)) Then
exitlong();
특히 이부분이 이해가 잘안가서 주석을 달아주셨으면 합니다 ~! 감사합니다 ~!
답변 1
예스스탁 예스스탁 답변
2015-12-09 14:17:08
안녕하세요
예스스탁입니다.
TimeToMinutes은 시간을 밤 0시 이후에 경과된 분수로 변경해 주는 함수입니다.
9시면 540, 9시30분은 570, 10시면 600으로 리턴됩니다.
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30))
위 내용은 현재봉의 분수가 진입시점의 분수보다 30분이 경과되었다는 표현입니다.
차트는 거래가 있는 봉만 그려지므로
만약 30분 경과시점에 거래가 없으면 봉이 없기에
TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30
만으로는 조건에 만족하지 않아 신호가 발생하지 않을수 있습니다.
그러므로 아래 내용을 추가해 30분 경과시점의 봉이 없으면 그다음봉을 지정하기 위한 표현을 추가한것입니다.
TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)
if C < EntryPrice and
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and
TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)) Then
exitlong();
30분 경과시점 첫봉에서 종가가 진입가격보다 작으면 손실이므로 청산하라는 식입니다.
매도청산도 시간표현은 같습니다. 종가가 진입가격보다 크다라고 표현해 손실을 지정한 것입니다.
즐거운 하루되세요
> yooneee7 님이 쓴 글입니다.
> 제목 : 질문합니다
> #매수진입 후
if MarketPosition == 1 Then{
#0.5포인트 수익이면 청산
ExitLong("BP",atlimit,EntryPrice+0.5);
#30분 경과시점에 종가가 진입가보다 작으면 청산
if C < EntryPrice and
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and
TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)) Then
exitlong();
}
#매도진입후
if MarketPosition == -1 Then{
#0.5포인트 수익이면 청산
ExitShort("SP",atlimit,EntryPrice-0.5);
#30분 경과시점에 종가가 진입가보다 크면 청산
if C > EntryPrice and
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and
TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)) Then
ExitShort();
}
제가 받은 수식입니다 ~!
바로 매수 매도 진입후 수식을 써주셨는데
매수 매도 진입을 처음에 할때 특정시간에 예를들어 10시에 위로0.50에 매수
아래로 0.50에 매도에 진입하는식과
if C < EntryPrice and
((TimeToMinutes(stime) == TimeToMinutes(EntryTime)+30) or
(TimeToMinutes(stime) > TimeToMinutes(EntryTime)+30 and
TimeToMinutes(stime[1]) < TimeToMinutes(EntryTime)+30)) Then
exitlong();
특히 이부분이 이해가 잘안가서 주석을 달아주셨으면 합니다 ~! 감사합니다 ~!