커뮤니티
수식문의
2019-05-02 00:14:06
215
글번호 128286
안녕하세요
1. 하기 수식에서 진입을 그냥 한개만 하게끔 부탁드립니다.
2. 최초 매수 진입시 볼린져 밴드 하단에서 진입 하게 될 경우, 완성봉이 볼린져 밴드 상단으로 진입했다가 다시 하단으로 내려오면 청산하게 부탁드립니다.
매도는 반대로 부탁드립니다.
3. 매수진입시 볼린져 밴드 상단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다.
매도진입시 볼린져 밴드 하단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다.
4. 최초 매수 진입시 볼린져 밴드 이평과 상단 사이에서 진입하게 될 경우, 볼린져 밴드 하단에 완성봉이 생기면 청산 부탁 드립니다.
매도는 반대로 부탁드립니다.
- 옵션으로 청산과 동시에 반대매매 진입하게 참고식도 부탁드립니다.
번거롭게해서 죄송합니다.
감사합니다.
Input : short(12), long(26), signal(9);
Var : MACDv1(0,data1), MACDs1(0,data1),macdo1(0,data1);
Var : MACDv2(0,data2), MACDs2(0,data2),macdo2(0,data2);
var : Bcond(false,data1),Scond(false,data1);
MACDv1 = data1(MACD(short, long));
MACDs1 = data1(ema(MACDv1,signal));
macdo1 = data1(MACDv1-MACDs1);
MACDv2 = data2(MACD(short, long));
MACDs2 = data2(ema(MACDv2,signal));
macdo2 = data2(MACDv2-MACDs2);
Bcond = macdo1 > 0 and macdo2 > 0;
Scond = macdo1 < 0 and macdo2 < 0;
if Bcond == true and Bcond[1] == false then
buy("b",OnClose,def,2);
if Scond == true and Scond[1] == false Then
sell("s",OnClose,def,2);
if MarketPosition == 1 Then
ExitLong("bx1",atlimit,EntryPrice+PriceScale*20,"",1,1);
if MarketPosition == -1 Then
ExitShort("sx1",atlimit,EntryPrice-PriceScale*20,"",1,1);
감사합니다.
답변 1
예스스탁 예스스탁 답변
2019-05-02 10:29:11
안녕하세요
예스스탁입니다.
기존수식이 스위칭이 되는 수식입니다.
Input : short(12), long(26), signal(9);
Input : Period(20), MultiD(2);
var : BBmd(0,data1),BBup(0,data1),BBdn(0,data1);
Var : MACDv1(0,data1), MACDs1(0,data1),macdo1(0,data1);
Var : MACDv2(0,data2), MACDs2(0,data2),macdo2(0,data2);
var : Bcond(false,data1),Scond(false,data1);
MACDv1 = data1(MACD(short, long));
MACDs1 = data1(ema(MACDv1,signal));
macdo1 = data1(MACDv1-MACDs1);
MACDv2 = data2(MACD(short, long));
MACDs2 = data2(ema(MACDv2,signal));
macdo2 = data2(MACDv2-MACDs2);
BBmd = data1(ma(C,Period));
BBup = data1(BollBandUp(Period,MultiD));
BBdn = data1(BollBandDown(Period,MultiD));
Bcond = macdo1 > 0 and macdo2 > 0;
Scond = macdo1 < 0 and macdo2 < 0;
if Bcond == true and Bcond[1] == false then
{
if data1(C<=BBdn) Then
buy("b1",OnClose,def,1);
if data1(C >= BBmd and C < BBup) Then
buy("b2",OnClose,def,1);
}
if Scond == true and Scond[1] == false Then
{
if data1(C>=BBup) Then
sell("s1",OnClose,def,1);
if data1(C<=BBmd and C > BBdn) Then
sell("s2",OnClose,def,1);
}
if MarketPosition == 1 Then
{
if IsEntryName("b1") == true and data1(countif(C>BBup,BarsSinceEntry) >= 1) and C < BBdn Then
ExitLong("bx1");
if IsEntryName("b2") == true and C < BBdn Then
ExitLong("bx2");
ExitLong("bp",atlimit,EntryPrice+PriceScale*20,"",1,1);
}
if MarketPosition == -1 Then
{
if IsEntryName("s1") == true and data1(countif(C<BBdn,BarsSinceEntry) >= 1) and C > BBup Then
ExitShort("sx1");
if IsEntryName("s2") == true and data1(C > BBup) Then
ExitShort("sx2");
ExitShort("sp",atlimit,EntryPrice-PriceScale*20,"",1,1);
}
즐거운 하루되세요
> softtoug 님이 쓴 글입니다.
> 제목 : 수식문의
> 안녕하세요
1. 하기 수식에서 진입을 그냥 한개만 하게끔 부탁드립니다.
2. 최초 매수 진입시 볼린져 밴드 하단에서 진입 하게 될 경우, 완성봉이 볼린져 밴드 상단으로 진입했다가 다시 하단으로 내려오면 청산하게 부탁드립니다.
매도는 반대로 부탁드립니다.
3. 매수진입시 볼린져 밴드 상단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다.
매도진입시 볼린져 밴드 하단밖에서 진입해야 할 경우는 진입하지 못하게 부탁드립니다.
4. 최초 매수 진입시 볼린져 밴드 이평과 상단 사이에서 진입하게 될 경우, 볼린져 밴드 하단에 완성봉이 생기면 청산 부탁 드립니다.
매도는 반대로 부탁드립니다.
- 옵션으로 청산과 동시에 반대매매 진입하게 참고식도 부탁드립니다.
번거롭게해서 죄송합니다.
감사합니다.
Input : short(12), long(26), signal(9);
Var : MACDv1(0,data1), MACDs1(0,data1),macdo1(0,data1);
Var : MACDv2(0,data2), MACDs2(0,data2),macdo2(0,data2);
var : Bcond(false,data1),Scond(false,data1);
MACDv1 = data1(MACD(short, long));
MACDs1 = data1(ema(MACDv1,signal));
macdo1 = data1(MACDv1-MACDs1);
MACDv2 = data2(MACD(short, long));
MACDs2 = data2(ema(MACDv2,signal));
macdo2 = data2(MACDv2-MACDs2);
Bcond = macdo1 > 0 and macdo2 > 0;
Scond = macdo1 < 0 and macdo2 < 0;
if Bcond == true and Bcond[1] == false then
buy("b",OnClose,def,2);
if Scond == true and Scond[1] == false Then
sell("s",OnClose,def,2);
if MarketPosition == 1 Then
ExitLong("bx1",atlimit,EntryPrice+PriceScale*20,"",1,1);
if MarketPosition == -1 Then
ExitShort("sx1",atlimit,EntryPrice-PriceScale*20,"",1,1);
감사합니다.