답변완료
문의 드립니다
1.
input : 익절틱수(160),손절틱수(100);
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*10);
Sell("s",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
ExitLong("bx",AtStop,NextBarOpen-PriceScale*10);
ExitShort("sx",AtStop,NextBarOpen+PriceScale*10);
}
}
if MarketPosition == 1 Then
Sell("ss",AtStop,EntryPrice-10);
if MarketPosition == -1 Then
Buy("ss1",AtStop,EntryPrice+10);
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b2",AtStop,NextBarOpen+PriceScale*10);
Sell("s2",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
ExitLong("bx2",AtStop,NextBarOpen-PriceScale*10);
ExitShort ("sx2",AtStop,NextBarOpen+PriceScale*10);
}
}
if MarketPosition == 1 Then
Sell("sss",AtStop,EntryPrice-10);
if MarketPosition == -1 Then
Buy("sss1",AtStop,EntryPrice+10);
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b8",AtStop,NextBarOpen+PriceScale*10);
Sell("s8",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
ExitLong("bx8",AtStop,NextBarOpen-PriceScale*10);
ExitShort("sx8",AtStop,NextBarOpen+PriceScale*10);
}
}
if MarketPosition == 1 Then
Sell("bb",AtStop,EntryPrice-10);
if MarketPosition == -1 Then
Buy("bb1",AtStop,EntryPrice+10);
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b9",AtStop,NextBarOpen+PriceScale*10);
Sell("s9",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
ExitLong("bx9",AtStop,NextBarOpen-PriceScale*10);
ExitShort("sx9",AtStop,NextBarOpen+PriceScale*10);
}
}
if MarketPosition == 1 Then
Sell("bbb",AtStop,EntryPrice-10);
if MarketPosition == -1 Then
Buy("bbb1",AtStop,EntryPrice+10);
if NextBarSdate != sDate Then
{
if NextBarOpen == C Then
{
Buy("bsave",AtStop,NextBarOpen+PriceScale*10);
Sell("ssave",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen == C Then
{
ExitLong("bsave1",AtStop,NextBarOpen-PriceScale*10);
ExitShort("ssave1",AtStop,NextBarOpen+PriceScale*10);
}
}
if MarketPosition == 1 Then
Sell("ssave11",AtStop,EntryPrice-10);
if MarketPosition == -1 Then
Buy("bsave11",AtStop,EntryPrice+10);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
----------
2.
input : 익절틱수(180),손절틱수(100);
var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False);
var : ST(0),ET(0),entry(0);
if sDate != sDate[1] Then
{
DD = DayOfWeek(Sdate);
Year = Floor(Sdate/10000);
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - dayofweek(v1);
v3 = (10000 * Year) + (100 * 11) + 1;
v4 = 8 - dayofweek(v3);
Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4;
if summer == true Then
{
ST = 70000;
ET = 55000;
}
Else
{
ST = 80000;
ET = 65000;
}
}
if Year > 0 Then
{
IF ET > ST Then
SetStopEndofday(ET);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(ET);
}
if ((NextBarSdate != sDate and NextBarStime >= ST) or
(NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then
{
if NextBarOpen != c Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*10);
Sell("s",AtStop,NextBarOpen-PriceScale*10);
}
}
Else
{
if h < DayOpen+PriceScale*10 Then
Buy("b1",AtStop,DayOpen+PriceScale*10);
if l > DayOpen-PriceScale*10 Then
Sell("s1",AtStop,DayOpen-PriceScale*10);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
--------------
위 첨부파일 1번은 게시판 79099번의 3번째 올린 해외선물 일봉매매의 수식어입니다.
일봉매매에서 진입후 청산싯점이 부정확함에 분봉으로 작성을 문의한 바
2번으로 작성해 주셨고 그래프는 그 결과 입니다.
저가 생각한 수식어의 진입은 전일대비 당일시가의 전일비 상하 기준에따라
폭의 신호가 주어지는데 질의에대한 귀사에서 수정한 수식어에는 그러한 신호들이
아침7시 이후에 나오질않고 진입후 청산싯점은 한국시간으로 거의 AM 1시부터 3~4시전후
입니다.
위 수식어에 혹여 부분 수정이 가능한지 문의 드리고 아래의 수식어도 해외선물 분봉매매
로 변경 부탁드립니다.
input : 익절틱수(300),손절틱수(100);
var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False);
var : ST(0),ET(0),entry(0);
if sDate != sDate[1] Then
{
DD = DayOfWeek(Sdate);
Year = Floor(Sdate/10000);
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - dayofweek(v1);
v3 = (10000 * Year) + (100 * 11) + 1;
v4 = 8 - dayofweek(v3);
Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4;
if summer == true Then
{
ST = 70000;
ET = 55000;
}
Else
{
ST = 80000;
ET = 65000;
}
}
if Year > 0 Then
{
IF ET > ST Then
SetStopEndofday(ET);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(ET);
}
if ((NextBarSdate != sDate and NextBarStime >= ST) or
(NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then
{
IF ET <= ST Then
{
SetStopEndofday(0);
}
if NextBarOpen > C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*10);
Sell("s",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell ("bx",AtStop,NextBarOpen-PriceScale*10);
Buy("sx",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b1",AtStop,NextBarOpen+PriceScale*10);
Sell("s1",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell ("b1x",AtStop,NextBarOpen-PriceScale*10);
Buy ("s1x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b2",AtStop,NextBarOpen+PriceScale*10);
Sell("s2",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell("b2x",AtStop,NextBarOpen-PriceScale*10);
Buy("s2x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b3",AtStop,NextBarOpen+PriceScale*10);
Sell("s3",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell("b3x",AtStop,NextBarOpen-PriceScale*10);
Buy("s3x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b4",AtStop,NextBarOpen+PriceScale*10);
Sell("s4",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell("b4x",AtStop,NextBarOpen-PriceScale*10);
Buy("s4x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b1y",AtStop,NextBarOpen+PriceScale*10);
Sell("s1y",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
Sell("b1yy",AtStop,NextBarOpen-PriceScale*10);
Buy("s1yy",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b2y",AtStop,NextBarOpen+PriceScale*10);
Sell("s2y",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
Sell("b2yy",AtStop,NextBarOpen-PriceScale*10);
Buy("s2yy",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b3y",AtStop,NextBarOpen+PriceScale*10);
Sell("s3y",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
Sell("b3yy",AtStop,NextBarOpen-PriceScale*10);
Buy ("s3yy",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen == C Then
{
Buy("bz",AtStop,NextBarOpen+PriceScale*10);
Sell("sz",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen == C Then
{
Sell ("b1z",AtStop,NextBarOpen-PriceScale*10);
Buy ("s1z",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen == C Then
{
Buy("b2z",AtStop,NextBarOpen+PriceScale*10);
Sell("s2z",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen == C Then
{
Sell("b2zz",AtStop,NextBarOpen-PriceScale*10);
Buy("s2zz",AtStop,NextBarOpen+PriceScale*10);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
}
-----------------------------------
아래는 참부파일2의 수식어 입니다.
해외선물 분봉 매매 수식어에서
7시 시가기준 진입신호에서 특정시간 ( 00 :00 )에 진입후 청산신호가 나타납니다.
체결내역의 파란사각형은 신호가 나오고 빨간사각형은 분봉차트에서 신호가 없네요.
또한 7시 장시작후 몇분내 당일청산신호(stopendofday)가 나옵니다.
input : 익절틱수(160),손절틱수(100);
var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False);
var : ST(0),ET(0),entry(0);
if sDate != sDate[1] Then
{
DD = DayOfWeek(Sdate);
Year = Floor(Sdate/10000);
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - dayofweek(v1);
v3 = (10000 * Year) + (100 * 11) + 1;
v4 = 8 - dayofweek(v3);
Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4;
if summer == true Then
{
ST = 70000;
ET = 55000;
}
Else
{
ST = 80000;
ET = 65000;
}
}
if Year > 0 Then
{
IF ET > ST Then
SetStopEndofday(ET);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(ET);
}
if ((NextBarSdate != sDate and NextBarStime >= ST) or
(NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then
{
IF ET <= ST Then
{
SetStopEndofday(0);
}
if NextBarOpen > C Then
{
Buy("b",AtStop,NextBarOpen+PriceScale*10);
Sell("s",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell ("bx",AtStop,NextBarOpen-PriceScale*10);
Buy("sx",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b1",AtStop,NextBarOpen+PriceScale*10);
Sell("s1",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell ("b1x",AtStop,NextBarOpen-PriceScale*10);
Buy ("s1x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b2",AtStop,NextBarOpen+PriceScale*10);
Sell("s2",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell("b2x",AtStop,NextBarOpen-PriceScale*10);
Buy("s2x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b3",AtStop,NextBarOpen+PriceScale*10);
Sell("s3",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell("b3x",AtStop,NextBarOpen-PriceScale*10);
Buy("s3x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen > C Then
{
Buy("b4",AtStop,NextBarOpen+PriceScale*10);
Sell("s4",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen < C Then
{
Sell("b4x",AtStop,NextBarOpen-PriceScale*10);
Buy("s4x",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b1y",AtStop,NextBarOpen+PriceScale*10);
Sell("s1y",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
Sell("b1yy",AtStop,NextBarOpen-PriceScale*10);
Buy("s1yy",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b2y",AtStop,NextBarOpen+PriceScale*10);
Sell("s2y",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
Sell("b2yy",AtStop,NextBarOpen-PriceScale*10);
Buy("s2yy",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen < C Then
{
Buy("b3y",AtStop,NextBarOpen+PriceScale*10);
Sell("s3y",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen > C Then
{
Sell("b3yy",AtStop,NextBarOpen-PriceScale*10);
Buy ("s3yy",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen == C Then
{
Buy("bz",AtStop,NextBarOpen+PriceScale*10);
Sell("sz",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen == C Then
{
Sell ("b1z",AtStop,NextBarOpen-PriceScale*10);
Buy ("s1z",AtStop,NextBarOpen+PriceScale*10);
}
}
if NextBarSdate != sDate Then
{
if NextBarOpen == C Then
{
Buy("b2z",AtStop,NextBarOpen+PriceScale*10);
Sell("s2z",AtStop,NextBarOpen-PriceScale*10);
}
if NextBarOpen == C Then
{
Sell("b2zz",AtStop,NextBarOpen-PriceScale*10);
Buy("s2zz",AtStop,NextBarOpen+PriceScale*10);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
}
2022-10-12
955
글번호 162854
시스템