코딩하는 방법? - 페이지 22

 

십자가가 있을 때 항상 int crossTime = Time[0]으로 작성하고 crossTime 변수를 사용하여 iBarShift 함수 를 사용하여 몇 개의 막대가 통과했는지 확인할 수 있습니다.

 

안녕하세요 칼렌조입니다.

Kalenzo:
십자가가 있을 때 항상 int crossTime = Time[0]으로 작성하고 crossTime 변수를 사용하여 iBarShift 함수를 사용하여 몇 개의 막대가 통과했는지 확인할 수 있습니다.

카운트에 "Bear Bars"만 포함하도록 이 코드를 작성하는 방법은 무엇입니까?

나는 ibarshift를 이해하지만 이것은 십자가 이후의 모든 막대를 포함합니다. "Bear Bars"를 계산하기 위해 내가 가지고 있는 것과 같은 계산 시스템을 여전히 사용해야 하며 이것이 내 문제가 있는 곳이라고 생각합니다.

나는 원래 이 코드로 내 코드를 테스트했습니다 .... 잘 작동했습니다. 하지만 실제로 내 EA에 나열될 위의 코드로 변환되지 않았습니다.

int start()

{

//----

double f=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,0);

double s=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,0);

double fp=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,1);

double sp=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,1);

static bool CrossedUP,CrossedDn;

static int Count=0;

if(f>s && fp<=sp)

{

CrossedUP=true;

CrossedDn=false;

Alert(Symbol()," Crossed UP");

Count=0;

}

else

if(f=sp)

{

CrossedUP=false;

CrossedDn=true;

Alert(Symbol()," Crossed Down");

Count=0;

}

if(NewBar()==true && f>s || f<s) Count++;

Comment("Crossed UP: ",CrossedUP," Crossed Down: ",CrossedDn," Bars since Cross: ",Count);

//----

return(0);

}

다른 의견을 주시면 감사하겠습니다.

감사해요,

색스맨

 

미안하다 오믈렛

이것도 작동하지 않습니다

감사해요,

색스맨

omelette:
안녕. 이 시도.
bool LongClose()

{

if(MAFastC=MASlowP)

{

CrossedUp=false;

CrossedDn=true;

BarCount=0;

}

else

if(MAFastC>MASlowC && MAFastP<=MASlowP)

{

CrossedUp=true;

CrossedDn=false;

BarCount=0;

Alert("Crossed Down");

}

if(CrossedDn==true && NewBar()==true && Candle3mP=="Bear")

BarCount++;

if(BarCount>=2 && Candle3mC=="Bear")

{

Alert("Close Long Position");

return(true);

}

else return(false);
 

EA 코드로 시간 제한

내 EA에 시간 제한을 두기 위해 시밍할 수 없습니다.

코드 라인은 다음과 같습니다.

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point,"timetest",16384, 0 ,Green)

ZERO를 1 또는 12로 변경하려고 시도했지만 거래를 중지할 수 없습니다... 거래가 12시간 내에 만료되도록 하고 싶습니다. 어떻게 해야 하나요?

나는 백 테스팅 을 사용하고 있습니다. 그것이 작동하는지 확인하기 위해 .. 만료 기능이 그 권리와 함께 작동합니까?

 

이 시도....

{

문자열 만료일 = "2007.10.22";

날짜/시간 만료var = StrToTime(만료일);

if ( CurTime() >= 만료변수 )

{

경고("버전 만료");

리턴(0);

}

// 코드

리턴(0);

}

데이브

 
islandrock:
내 EA에 시간 제한을 두기 위해 시밍할 수 없습니다.

코드 라인은 다음과 같습니다.

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point,"timetest",16384, 0 ,Green)

ZERO를 1 또는 12로 변경하려고 시도했지만 거래를 중지할 수 없습니다... 거래가 12시간 내에 만료되도록 하고 싶습니다. 어떻게 해야 하나요?

백 테스팅을 사용하고 있습니다. 그것이 작동하는지 확인하기 위해 .. 만료 기능이 그 권리와 함께 작동합니까?

오류 채널을 확인하십시오.

일부 거래 서버에서 보류 주문 만료 시간 적용을 비활성화할 수 있습니다. 이 경우 만료 매개변수에 0이 아닌 값을 지정하면 오류 147(ERR_TRADE_EXPIRATION_DENIED)이 생성됩니다.

매개변수는 'datetime' 변수입니다. 저는 12가 해당 변수 선언에 포함될 것이라고 믿지 않습니다.

 
islandrock:
내 EA에 시간 제한을 두기 위해 시밍할 수 없습니다.

코드 라인은 다음과 같습니다.

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point,"timetest",16384, 0 ,Green)

ZERO를 1 또는 12로 변경하려고 시도했지만 거래를 중지할 수 없습니다... 거래가 12시간 내에 만료되도록 하고 싶습니다. 어떻게 해야 하나요?

백 테스팅을 사용하고 있습니다. 그것이 작동하는지 확인하기 위해 .. 만료 기능이 그 권리와 함께 작동합니까?

안녕. 만료 시간 초과 는 MT에서 잘 작동하며 일부 브로커는 이를 허용하지 않습니다. FXDD는 하나입니다. 만료 시간이 작동하려면 날짜/시간 형식이어야 합니다.

datetime ExpirationTime = StrToTime(TimeYear(Time[0]) + "." + TimeMonth(Time[0])+ "." + TimeDay(Time[0])+" "+23+":"+55); OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point,"timetest",16384, ExpirationTime ,Green);
 

나는 이것을 시도했다.

extern int TradeLifeHour=12;

extern int TradeLifeMin=00;

날짜/시간 만료 시간; (여기에 무엇이 들어가는지 몰랐습니다)

그런 다음 start() 내에서

만료 시간 = CurTime()+TradeLifeHour*60*60+TradeLifeMin*60;

0 에서 만료 시간을 사용하십시오. 영역.

나는 마지막 코드이지만 12시간 안에 거래가 만료되도록 구성하는 방법을 모르겠습니다.

 
xxDavidxSxx:
이 시도....

{

문자열 만료일 = "2007.10.22";

날짜/시간 만료var = StrToTime(만료일);

if ( CurTime() >= 만료변수 )

{

경고("버전 만료");

리턴(0);

}

// 코드

리턴(0);

}

데이브

나는 방금 당신에게 주어진 코드를 사용했습니다. 날짜를 2006년으로 변경하고 실제 현금 FXDD 계정에서 Bipoler 내부의 임의의 위치에 두드렸고 그것은 매력처럼 작동했습니다.

아니면 마베 광산이 너무 단순합니까? 몰라

데이브

 

??

그 코드로 인해 EA가 여는 각 거래는 열린 시간으로부터 12시간 후에 만료됩니다...