커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2023-04-18 16:20:05
578
글번호 168294
답변완료
안녕하세요? 아래 글번호 81738번 재질문입니다. 아래의 스크립트에 답변주신 내용을 적용하고자 합니다. 스크립트 수정 부탁드립니다. (아래에 전략에 추가적으로 청산이 손실일 경우에만 익봉에 반대로 진입하고 진입했던 봉만큼 보유하고 청산(5개봉)) Condition1 = var1 < Var2 ; Condition2 = var1 > Var2; if NextBarSdate != sDate Then { if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition2 == true Then Buy("b1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and condition2 == true then Buy("b2",AtMarket); } if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition1 == true Then Sell("s1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and condition1 == true Then Sell("s2",AtMarket); } } if MarketPosition == 1 and BarsSinceEntry == 5 Then ExitLong("bx",AtMarket); if MarketPosition == -1 and BarsSinceEntry == 5 Then ExitShort("sx",AtMarket);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-04-18 17:09:06

안녕하세요 예스스탁입니다. var1 = ma(C,5); Var2 = ma(C,20); Condition1 = var1 < Var2 ; Condition2 = var1 > Var2; if NextBarSdate != sDate Then { if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition2 == true Then Buy("b1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and condition2 == true then Buy("b2",AtMarket); } if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition1 == true Then Sell("s1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and condition1 == true Then Sell("s2",AtMarket); } } if MarketPosition == 1 Then { if BarsSinceEntry == 5 and IsEntryName("sb") == False Then { if C >= EntryPrice Then ExitLong("bx",AtMarket); Else Sell("bs",AtMarket); } if IsEntryName("sb",0) == true and BarsSinceEntry == (BarsSinceEntry(1)- BarsSinceExit(1)) Then ExitLong("sbx"); } if MarketPosition == -1 Then { if BarsSinceEntry == 5 and IsEntryName("bs") == False Then { if C <= EntryPrice Then ExitShort("sx",AtMarket); Else Buy("sb",AtMarket); } if IsEntryName("bs",0) == true and BarsSinceEntry == (BarsSinceEntry(1)- BarsSinceExit(1)) Then ExitShort("bsx"); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 글번호 81738번 재질문입니다. 아래의 스크립트에 답변주신 내용을 적용하고자 합니다. 스크립트 수정 부탁드립니다. (아래에 전략에 추가적으로 청산이 손실일 경우에만 익봉에 반대로 진입하고 진입했던 봉만큼 보유하고 청산(5개봉)) Condition1 = var1 < Var2 ; Condition2 = var1 > Var2; if NextBarSdate != sDate Then { if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition2 == true Then Buy("b1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and condition2 == true then Buy("b2",AtMarket); } if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition1 == true Then Sell("s1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and condition1 == true Then Sell("s2",AtMarket); } } if MarketPosition == 1 and BarsSinceEntry == 5 Then ExitLong("bx",AtMarket); if MarketPosition == -1 and BarsSinceEntry == 5 Then ExitShort("sx",AtMarket);