커뮤니티
하나씩 해 보겠슴다.
2018-07-10 12:36:44
133
글번호 120402
기계어라고는 생전 배워본 적이 한 번도 엄서서, ㅜㅜ
이건 머 아랍어 배우는 듯 함다. ㅜㅜ
제가 만들고 싶은 그림은 아래와 같슴다.
[설정팩터]
1. 시간 : 시간을 입력해 두면 1분봉상 그 시간의 시작가를 인식 (예 10:00 입력해 두면 10:00의 시작가를 인식)
2. 매수/매도 : 매수를 선택하면 그 시간의 현재가로 매수 진입(예 10:00 입력해 두면 10:00의 시작가로 매수 진입)
3. 간격설정 : 1X3하면 1틱 단위로 3계약 추가 진입(물타기). 2X5면 2틱씩 5계약이 추가
4. 청산 : 10틱을 입력하면 시작가의 10틱 도달시 모든 이익청산
5. 손절 : 20틱을 입력하면 시작가의 20틱 도달시 모든 손절청산
6. 만약 1계약도 체결되지 않았으나, 시작가의 청산/손절 틱에 도달시 진입 설정한 모든 포지션은 취소
7. 보유포지션이 장 종료까지 익절/손절되지 않았다면 15:40에 시장가 청산
[수식]
1,2,4,5,7번을 다른 분들 질문하신 것을 참조해서 만들어봤는데, 맞을까요??
if stime == 100000 or(stime > 100000 and stime[1] < 100000) Then buy();
SetStopProfittarget(PriceScale*10, PointStop);
SetStopLoss(PriceScale*20, PointStop);
if stime == 154000 or (stime > 154000 and stimep[1] < 154000) Then ExitLong();
[문의]
1. 3번은 호가창에서 멀티주문을 이용하면 될까 싶은데, 이것도 수식으로 할 수는 있는 걸까요??
2. 6번은 취소주문은 다른분들 문의사항을 보니까 안되어서 수동으로 해야 한다고 했는데 아직 그렇슴까??
감사함다. ^^
답변 3
예스스탁 예스스탁 답변
2018-07-10 13:20:03
안녕하세요
예스스탁입니다.
1
시스템은 취소나 정정주문이 되지 않습니다.
차트의 데이터로 조건지정해 신호를 발생하고 주문만 집행합니다.
2
시스템의 신호는 정규장안에서 발생되게 하셔야 합니다.
랭귀지는 수신되는 데이터로 시간을 판단하고 봉기준으로
신호가 발생되는데 동시호가 데이터는 동시호가가 모두 끝나면
거래서에서 주기때문에 동시호가 데이터가 수신되면
이미 장은 모두 종료된 상태입니다.
당일 청산은 15시 29분으로 지정해 드립니다.
3
시스템에서 추가진입신호를 랜덤하게 가져갈수 없습니다.
추가진입의 횟수는 최대 5번으로 작성해 드립니다,.
추가진입가격틱수만 지정하실 수 있습니다.
4
시스템 적용시 설정창에서 피라미딩을 모든 진입신호 허용으로 설정하고
적용하셔야 합니다.
input : 시간(100000);
input : 진입구분(1);#1매수진입,-1 매도진입
input : 익절틱수(10),손절틱수(10);
input : 추가진입간격틱수(2);
if MarketPosition == 0 and 시간 == 90000 and NextBarSdate > sdate Then
{
buy("b1",AtMarket);
buy("b12",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 0 and 시간 > 90000 and NextBarStime >= 시간 and time < 시간 Then
{
buy("b1.",AtMarket);
buy("b12.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 1 Then
{
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*1 Then
buy("b2",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*2 Then
buy("b3",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*2);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*3 Then
buy("b4",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*3);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*4 Then
buy("b5",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*4);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*5 Then
buy("b6",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*5);
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",atlimit,AvgEntryPrice-PriceScale*손절틱수);
}
SetStopEndofday(152900);
5
시스템은 신호에 따라 주문을 집행하므로
다른 주문창의 주문내역은 알수 없습니다.
즐거운 하루되세요
> kenshinn 님이 쓴 글입니다.
> 제목 : 하나씩 해 보겠슴다.
> 기계어라고는 생전 배워본 적이 한 번도 엄서서, ㅜㅜ
이건 머 아랍어 배우는 듯 함다. ㅜㅜ
제가 만들고 싶은 그림은 아래와 같슴다.
[설정팩터]
1. 시간 : 시간을 입력해 두면 1분봉상 그 시간의 시작가를 인식 (예 10:00 입력해 두면 10:00의 시작가를 인식)
2. 매수/매도 : 매수를 선택하면 그 시간의 현재가로 매수 진입(예 10:00 입력해 두면 10:00의 시작가로 매수 진입)
3. 간격설정 : 1X3하면 1틱 단위로 3계약 추가 진입(물타기). 2X5면 2틱씩 5계약이 추가
4. 청산 : 10틱을 입력하면 시작가의 10틱 도달시 모든 이익청산
5. 손절 : 20틱을 입력하면 시작가의 20틱 도달시 모든 손절청산
6. 만약 1계약도 체결되지 않았으나, 시작가의 청산/손절 틱에 도달시 진입 설정한 모든 포지션은 취소
7. 보유포지션이 장 종료까지 익절/손절되지 않았다면 15:40에 시장가 청산
[수식]
1,2,4,5,7번을 다른 분들 질문하신 것을 참조해서 만들어봤는데, 맞을까요??
if stime == 100000 or(stime > 100000 and stime[1] < 100000) Then buy();
SetStopProfittarget(PriceScale*10, PointStop);
SetStopLoss(PriceScale*20, PointStop);
if stime == 154000 or (stime > 154000 and stimep[1] < 154000) Then ExitLong();
[문의]
1. 3번은 호가창에서 멀티주문을 이용하면 될까 싶은데, 이것도 수식으로 할 수는 있는 걸까요??
2. 6번은 취소주문은 다른분들 문의사항을 보니까 안되어서 수동으로 해야 한다고 했는데 아직 그렇슴까??
감사함다. ^^
kenshinn
2018-07-10 17:08:24
이렇게 세팅해서 시물레이션챠트로 테스트해봤는데.
1. 추가주문(물타기)이 체결되지 않고 1계약으로 가며
2. 10틱에서 익절되지 않고, 1529분 강제청산에서 청산됨다.
3. 답신자료에서 매도를 -1로 입력하라는 걸 이해 못해서, buy를 sell로 입력했는데 이렇게 해도 될까요??
무엇이 문제일까요??
1. 10:00의 시작가 진입
2. 매도
3. 물타기는 1틱씩 5계약
4. 청산 : 10틱
5. 손절 : 20틱
7. 보유계약 모두 청산 15:29
if MarketPosition == 0 and 100000 == 90000 and NextBarSdate > sdate Then
{
Sell("b1",AtMarket);
Sell("b12",Atlimit,NextBarOpen-PriceScale*1*1);
Sell("b13",AtMarket,NextBarOpen-PriceScale*1*2);
Sell("b14",AtMarket,NextBarOpen-PriceScale*1*3);
Sell("b15",AtMarket,NextBarOpen-PriceScale*1*4);
Sell("b16",AtMarket,NextBarOpen-PriceScale*1*5);
}
if MarketPosition == 0 and 100000 > 90000 and NextBarStime >= 100000 and time < 100000 Then
{
Sell("b1.",AtMarket);
Sell("b12.",Atlimit,NextBarOpen-PriceScale*1*1);
Sell("b13.",AtMarket,NextBarOpen-PriceScale*1*2);
Sell("b14.",AtMarket,NextBarOpen-PriceScale*1*3);
Sell("b15.",AtMarket,NextBarOpen-PriceScale*1*4);
Sell("b16.",AtMarket,NextBarOpen-PriceScale*1*5);
}
if MarketPosition == 1 Then
{
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*1 Then
Sell("b2",atlimit,NextBarOpen-PriceScale*1*1);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*2 Then
Sell("b3",atlimit,NextBarOpen-PriceScale*1*2);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*3 Then
Sell("b4",atlimit,NextBarOpen-PriceScale*1*3);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*4 Then
Sell("b5",atlimit,NextBarOpen-PriceScale*1*4);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*5 Then
Sell("b6",atlimit,NextBarOpen-PriceScale*1*5);
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*10);
ExitLong("bl",atlimit,AvgEntryPrice-PriceScale*20);
}
SetStopEndofday(152900);
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 하나씩 해 보겠슴다.
> 안녕하세요
예스스탁입니다.
1
시스템은 취소나 정정주문이 되지 않습니다.
차트의 데이터로 조건지정해 신호를 발생하고 주문만 집행합니다.
2
시스템의 신호는 정규장안에서 발생되게 하셔야 합니다.
랭귀지는 수신되는 데이터로 시간을 판단하고 봉기준으로
신호가 발생되는데 동시호가 데이터는 동시호가가 모두 끝나면
거래서에서 주기때문에 동시호가 데이터가 수신되면
이미 장은 모두 종료된 상태입니다.
당일 청산은 15시 29분으로 지정해 드립니다.
3
시스템에서 추가진입신호를 랜덤하게 가져갈수 없습니다.
추가진입의 횟수는 최대 5번으로 작성해 드립니다,.
추가진입가격틱수만 지정하실 수 있습니다.
4
시스템 적용시 설정창에서 피라미딩을 모든 진입신호 허용으로 설정하고
적용하셔야 합니다.
input : 시간(100000);
input : 진입구분(1);#1매수진입,-1 매도진입
input : 익절틱수(10),손절틱수(10);
input : 추가진입간격틱수(2);
if MarketPosition == 0 and 시간 == 90000 and NextBarSdate > sdate Then
{
buy("b1",AtMarket);
buy("b12",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 0 and 시간 > 90000 and NextBarStime >= 시간 and time < 시간 Then
{
buy("b1.",AtMarket);
buy("b12.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 1 Then
{
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*1 Then
buy("b2",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*2 Then
buy("b3",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*2);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*3 Then
buy("b4",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*3);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*4 Then
buy("b5",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*4);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*5 Then
buy("b6",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*5);
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",atlimit,AvgEntryPrice-PriceScale*손절틱수);
}
SetStopEndofday(152900);
5
시스템은 신호에 따라 주문을 집행하므로
다른 주문창의 주문내역은 알수 없습니다.
즐거운 하루되세요
> kenshinn 님이 쓴 글입니다.
> 제목 : 하나씩 해 보겠슴다.
> 기계어라고는 생전 배워본 적이 한 번도 엄서서, ㅜㅜ
이건 머 아랍어 배우는 듯 함다. ㅜㅜ
제가 만들고 싶은 그림은 아래와 같슴다.
[설정팩터]
1. 시간 : 시간을 입력해 두면 1분봉상 그 시간의 시작가를 인식 (예 10:00 입력해 두면 10:00의 시작가를 인식)
2. 매수/매도 : 매수를 선택하면 그 시간의 현재가로 매수 진입(예 10:00 입력해 두면 10:00의 시작가로 매수 진입)
3. 간격설정 : 1X3하면 1틱 단위로 3계약 추가 진입(물타기). 2X5면 2틱씩 5계약이 추가
4. 청산 : 10틱을 입력하면 시작가의 10틱 도달시 모든 이익청산
5. 손절 : 20틱을 입력하면 시작가의 20틱 도달시 모든 손절청산
6. 만약 1계약도 체결되지 않았으나, 시작가의 청산/손절 틱에 도달시 진입 설정한 모든 포지션은 취소
7. 보유포지션이 장 종료까지 익절/손절되지 않았다면 15:40에 시장가 청산
[수식]
1,2,4,5,7번을 다른 분들 질문하신 것을 참조해서 만들어봤는데, 맞을까요??
if stime == 100000 or(stime > 100000 and stime[1] < 100000) Then buy();
SetStopProfittarget(PriceScale*10, PointStop);
SetStopLoss(PriceScale*20, PointStop);
if stime == 154000 or (stime > 154000 and stimep[1] < 154000) Then ExitLong();
[문의]
1. 3번은 호가창에서 멀티주문을 이용하면 될까 싶은데, 이것도 수식으로 할 수는 있는 걸까요??
2. 6번은 취소주문은 다른분들 문의사항을 보니까 안되어서 수동으로 해야 한다고 했는데 아직 그렇슴까??
감사함다. ^^
예스스탁 예스스탁 답변
2018-07-10 17:35:27
안녕하세요
예스스탁입니다.
식을 수정했습니다.
input : 시간(100000);
input : 진입구분(1);#1매수진입,-1 매도진입
input : 익절틱수(10),손절틱수(10);
input : 추가진입간격틱수(2);
if MarketPosition == 0 and 시간 == 90000 and NextBarSdate > sdate and 진입구분 == 1 Then
{
buy("b1",AtMarket);
buy("b12",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 0 and 시간 > 90000 and NextBarStime >= 시간 and time < 시간 and 진입구분 == 1 Then
{
buy("b1.",AtMarket);
buy("b12.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 1 and 진입구분 == 1 Then
{
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*1 Then
buy("b2",atlimit,EntryPrice-PriceScale*추가진입간격틱수*1);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*2 Then
buy("b3",atlimit,EntryPrice-PriceScale*추가진입간격틱수*2);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*3 Then
buy("b4",atlimit,EntryPrice-PriceScale*추가진입간격틱수*3);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*4 Then
buy("b5",atlimit,EntryPrice-PriceScale*추가진입간격틱수*4);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*5 Then
buy("b6",atlimit,EntryPrice-PriceScale*추가진입간격틱수*5);
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수);
}
if MarketPosition == 0 and 시간 == 90000 and NextBarSdate > sdate and 진입구분 == -1 Then
{
sell("s1",AtMarket);
sell("s12",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*1);
sell("s13",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*2);
sell("s14",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*3);
sell("s15",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*4);
sell("s16",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 0 and 시간 > 90000 and NextBarStime >= 시간 and time < 시간 and 진입구분 == -1 Then
{
sell("s1.",AtMarket);
sell("s12.",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*1);
sell("s13.",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*2);
sell("s14.",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*3);
sell("s15.",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*4);
sell("s16.",Atlimit,NextBarOpen+PriceScale*추가진입간격틱수*5);
}
if MarketPosition == -1 and 진입구분 == -1 Then
{
if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*추가진입간격틱수*1 Then
sell("s2",atlimit,EntryPrice+PriceScale*추가진입간격틱수*1);
if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*추가진입간격틱수*2 Then
sell("s3",atlimit,EntryPrice+PriceScale*추가진입간격틱수*2);
if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*추가진입간격틱수*3 Then
sell("s4",atlimit,EntryPrice+PriceScale*추가진입간격틱수*3);
if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*추가진입간격틱수*4 Then
sell("s5",atlimit,EntryPrice+PriceScale*추가진입간격틱수*4);
if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*추가진입간격틱수*5 Then
sell("s6",atlimit,EntryPrice+PriceScale*추가진입간격틱수*5);
ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수);
}
SetStopEndofday(152900);
즐거운 하루되세요
> kenshinn 님이 쓴 글입니다.
> 제목 : Re : Re : 하나씩 해 보겠슴다.
> 이렇게 세팅해서 시물레이션챠트로 테스트해봤는데.
1. 추가주문(물타기)이 체결되지 않고 1계약으로 가며
2. 10틱에서 익절되지 않고, 1529분 강제청산에서 청산됨다.
3. 답신자료에서 매도를 -1로 입력하라는 걸 이해 못해서, buy를 sell로 입력했는데 이렇게 해도 될까요??
무엇이 문제일까요??
1. 10:00의 시작가 진입
2. 매도
3. 물타기는 1틱씩 5계약
4. 청산 : 10틱
5. 손절 : 20틱
7. 보유계약 모두 청산 15:29
if MarketPosition == 0 and 100000 == 90000 and NextBarSdate > sdate Then
{
Sell("b1",AtMarket);
Sell("b12",Atlimit,NextBarOpen-PriceScale*1*1);
Sell("b13",AtMarket,NextBarOpen-PriceScale*1*2);
Sell("b14",AtMarket,NextBarOpen-PriceScale*1*3);
Sell("b15",AtMarket,NextBarOpen-PriceScale*1*4);
Sell("b16",AtMarket,NextBarOpen-PriceScale*1*5);
}
if MarketPosition == 0 and 100000 > 90000 and NextBarStime >= 100000 and time < 100000 Then
{
Sell("b1.",AtMarket);
Sell("b12.",Atlimit,NextBarOpen-PriceScale*1*1);
Sell("b13.",AtMarket,NextBarOpen-PriceScale*1*2);
Sell("b14.",AtMarket,NextBarOpen-PriceScale*1*3);
Sell("b15.",AtMarket,NextBarOpen-PriceScale*1*4);
Sell("b16.",AtMarket,NextBarOpen-PriceScale*1*5);
}
if MarketPosition == 1 Then
{
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*1 Then
Sell("b2",atlimit,NextBarOpen-PriceScale*1*1);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*2 Then
Sell("b3",atlimit,NextBarOpen-PriceScale*1*2);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*3 Then
Sell("b4",atlimit,NextBarOpen-PriceScale*1*3);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*4 Then
Sell("b5",atlimit,NextBarOpen-PriceScale*1*4);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*1*5 Then
Sell("b6",atlimit,NextBarOpen-PriceScale*1*5);
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*10);
ExitLong("bl",atlimit,AvgEntryPrice-PriceScale*20);
}
SetStopEndofday(152900);
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 하나씩 해 보겠슴다.
> 안녕하세요
예스스탁입니다.
1
시스템은 취소나 정정주문이 되지 않습니다.
차트의 데이터로 조건지정해 신호를 발생하고 주문만 집행합니다.
2
시스템의 신호는 정규장안에서 발생되게 하셔야 합니다.
랭귀지는 수신되는 데이터로 시간을 판단하고 봉기준으로
신호가 발생되는데 동시호가 데이터는 동시호가가 모두 끝나면
거래서에서 주기때문에 동시호가 데이터가 수신되면
이미 장은 모두 종료된 상태입니다.
당일 청산은 15시 29분으로 지정해 드립니다.
3
시스템에서 추가진입신호를 랜덤하게 가져갈수 없습니다.
추가진입의 횟수는 최대 5번으로 작성해 드립니다,.
추가진입가격틱수만 지정하실 수 있습니다.
4
시스템 적용시 설정창에서 피라미딩을 모든 진입신호 허용으로 설정하고
적용하셔야 합니다.
input : 시간(100000);
input : 진입구분(1);#1매수진입,-1 매도진입
input : 익절틱수(10),손절틱수(10);
input : 추가진입간격틱수(2);
if MarketPosition == 0 and 시간 == 90000 and NextBarSdate > sdate Then
{
buy("b1",AtMarket);
buy("b12",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 0 and 시간 > 90000 and NextBarStime >= 시간 and time < 시간 Then
{
buy("b1.",AtMarket);
buy("b12.",Atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
buy("b13.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*2);
buy("b14.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*3);
buy("b15.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*4);
buy("b16.",AtMarket,NextBarOpen-PriceScale*추가진입간격틱수*5);
}
if MarketPosition == 1 Then
{
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*1 Then
buy("b2",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*1);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*2 Then
buy("b3",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*2);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*3 Then
buy("b4",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*3);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*4 Then
buy("b5",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*4);
if lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*추가진입간격틱수*5 Then
buy("b6",atlimit,NextBarOpen-PriceScale*추가진입간격틱수*5);
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",atlimit,AvgEntryPrice-PriceScale*손절틱수);
}
SetStopEndofday(152900);
5
시스템은 신호에 따라 주문을 집행하므로
다른 주문창의 주문내역은 알수 없습니다.
즐거운 하루되세요
> kenshinn 님이 쓴 글입니다.
> 제목 : 하나씩 해 보겠슴다.
> 기계어라고는 생전 배워본 적이 한 번도 엄서서, ㅜㅜ
이건 머 아랍어 배우는 듯 함다. ㅜㅜ
제가 만들고 싶은 그림은 아래와 같슴다.
[설정팩터]
1. 시간 : 시간을 입력해 두면 1분봉상 그 시간의 시작가를 인식 (예 10:00 입력해 두면 10:00의 시작가를 인식)
2. 매수/매도 : 매수를 선택하면 그 시간의 현재가로 매수 진입(예 10:00 입력해 두면 10:00의 시작가로 매수 진입)
3. 간격설정 : 1X3하면 1틱 단위로 3계약 추가 진입(물타기). 2X5면 2틱씩 5계약이 추가
4. 청산 : 10틱을 입력하면 시작가의 10틱 도달시 모든 이익청산
5. 손절 : 20틱을 입력하면 시작가의 20틱 도달시 모든 손절청산
6. 만약 1계약도 체결되지 않았으나, 시작가의 청산/손절 틱에 도달시 진입 설정한 모든 포지션은 취소
7. 보유포지션이 장 종료까지 익절/손절되지 않았다면 15:40에 시장가 청산
[수식]
1,2,4,5,7번을 다른 분들 질문하신 것을 참조해서 만들어봤는데, 맞을까요??
if stime == 100000 or(stime > 100000 and stime[1] < 100000) Then buy();
SetStopProfittarget(PriceScale*10, PointStop);
SetStopLoss(PriceScale*20, PointStop);
if stime == 154000 or (stime > 154000 and stimep[1] < 154000) Then ExitLong();
[문의]
1. 3번은 호가창에서 멀티주문을 이용하면 될까 싶은데, 이것도 수식으로 할 수는 있는 걸까요??
2. 6번은 취소주문은 다른분들 문의사항을 보니까 안되어서 수동으로 해야 한다고 했는데 아직 그렇슴까??
감사함다. ^^
다음글
이전글