커뮤니티
특정 조건에서 한번만 매매신호
2019-09-14 07:16:46
182
글번호 131939
수고하십니다.
// 매수조건
if crossUp(ma(c,5),ma(c,20)) then condition1=true; // 골든크로스
if condition1 then buy("B",atLimit,ma(c,5)); // 지정가에서 매수
// 한번이라도 매수가 되면 재진입 금지, 또는 매수조건이 틀어지면
// condition1을 해제시켜서 다시 매수되지 않도록 한다.
// 단, 새로운 골든크로스가 발생하면 다시 매수 진입 가능
if IsEntryName("B") or crossDown(ma(c,5),ma(c,20)) then condition1=false;
setStopProfitTarget(t1,pointStop);
setStopLoss(t2,pointStop);
위 매매식에서 한번이라도 매수가 되면 재진입금지인데, 진입봉에서 청산(익절, 손절 포함)이
일어나면 condition1=false가 안 일어나는 것 같습니다.
한번이라도 매수가 되면 재진입금지(즉 condition1=false)가 되도록 만드는 방법이 있을까요?
답변 1
예스스탁 예스스탁 답변
2019-09-16 14:02:11
안녕하세요
예스스탁입니다.
하나의 봉에서 진입과 청산이 동시에 발생하면
봉완성시에는 무포지션이므로 진입명으로 체크가 되지 않습니다.
모든 변수에 값은 봉완성시에 저장이 됩니다.
골드이후 가격이 5이평이하로 내려간적이 있으면 false로 변경하는 내용도 추가하셔야 합니다.
var1 = ma(C,5);
var2 = ma(c,20);
if crossUp(var1,var2) then
condition1 = true;
if CrossDown(var1,var2) Then
Condition1 = false;
if MarketPosition == 1 then
condition1 = false;
if Condition1 == true and L <= var1 Then
Condition1 = false;
if MarketPosition == 0 and condition1 == true then
buy("B",atLimit,var1); // 지정가에서 매수
setStopProfitTarget(t1,pointStop);
setStopLoss(t2,pointStop);
즐거운 하루되세요
> 씸풀 님이 쓴 글입니다.
> 제목 : 특정 조건에서 한번만 매매신호
> 수고하십니다.
// 매수조건
if crossUp(ma(c,5),ma(c,20)) then condition1=true; // 골든크로스
if condition1 then buy("B",atLimit,ma(c,5)); // 지정가에서 매수
// 한번이라도 매수가 되면 재진입 금지, 또는 매수조건이 틀어지면
// condition1을 해제시켜서 다시 매수되지 않도록 한다.
// 단, 새로운 골든크로스가 발생하면 다시 매수 진입 가능
if IsEntryName("B") or crossDown(ma(c,5),ma(c,20)) then condition1=false;
setStopProfitTarget(t1,pointStop);
setStopLoss(t2,pointStop);
위 매매식에서 한번이라도 매수가 되면 재진입금지인데, 진입봉에서 청산(익절, 손절 포함)이
일어나면 condition1=false가 안 일어나는 것 같습니다.
한번이라도 매수가 되면 재진입금지(즉 condition1=false)가 되도록 만드는 방법이 있을까요?
다음글
이전글