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

 

답변 주셔서 감사합니다.

나는 당신이 원하는 것을 이해합니다. 내 변수 prevtime으로 이미 동일한 작업을 수행하고 있는지 확인합니다.

이전 시간 == 시간[0]

아니면 Time[0] 및 Bars를 사용하는 것과 다른 것이 있습니까?

하지만 내 문제는 닫기 가격 입니다.

"닫기[0]" 순간에 확인할 수 있나요 아니면 다음 바에서 시가로 확인하고 "닫기[1]"이라고 적어야 하나요?

내가 무엇을 잘못 생각하고 있습니까?

 
sunshineh:
답변 주셔서 감사합니다.

나는 당신이 원하는 것을 이해합니다. 내 변수 prevtime으로 이미 동일한 작업을 수행하고 있는지 확인합니다.

이전 시간 == 시간[0]

아니면 Time[0] 및 Bars를 사용하는 것과 다른 것이 있습니까?

그러나 내 문제는 종가입니다.

"닫기[0]" 순간에 확인할 수 있나요 아니면 다음 바에서 시가로 확인하고 "닫기[1]"이라고 적어야 하나요?

내가 무엇을 잘못 생각하고 있습니까?

예, Time[0]은 동일하게 작동합니다.

예를 들어 현재 새 막대의 종가 를 사용하려는 경우 종가에 대한 귀하의 문제를 정말 이해하지 못합니다. prevtime!=Time[0]이 새 막대가 왔다는 것을 의미하면 close[0] == open[0] == high[0] == low[0]입니다. 일부 계산의 경우 다른 막대 닫기를 사용하려는 경우 예에서와 같이 인덱스를 이동하여 다시 돌아올 수 있습니다. 닫기[1]은 이전 막대 닫기입니다.

도움이 되기를 바랍니다.

 

누군가 코딩 질문을 도와줄 수 있습니까?

EA에 대한 두 가지 특정 기능 을 코딩하는 방법을 알아 내려고 노력하고 있습니다.

#1: EA가 x 시간에서 y 시간(시작 시간 - 종료 시간) 사이에서 거래하도록 지시하는 입력을 갖고 싶습니다.

#2: EA가 거래 시간(거래 주기)당 하나의 거래만 하도록 하고 싶습니다. 다시 말해, EA가 동부 표준시 기준 오전 2시에서 4시까지만 거래하고 거래를 완료하는 경우 EA가 해당 날짜/주기 동안 다른 거래를 개시하는 것을 원하지 않습니다.

당신의 도움에 감사드립니다

 

피라미드형 도움 필요

안녕

오류 130 에 문제가 있습니다.

이 코드로 피라미드를 작성합니다(기술 신호에 따라 첫 번째 주문이 열렸을 때 시작)

for (count= OrdersTotal()-1; count>=0; count--){

OrderSelect(count, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol() == Currencies){

if(OrderType()==OP_SELL){

if(OrderMagicNumber()==16381 && CheckMagic(16383,OP_SELL)==false && CheckMagic(16385,OP_SELL)==false ){

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(1),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16383);

}

if(OrderMagicNumber()==16383 && CheckMagic(16381,OP_SELL)==true && CheckMagic(16385,OP_SELL)==false)

{

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(0.5),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16385);

}

}

}

}

내가 테스트할 때 처음 세 가지 주문은 괜찮습니다.

나중에 오류 130이 발생합니다.

아래 이미지에서 볼 수 있습니다. 도와주세요.

파일:
error130.jpg  193 kb
 

크로스오버 처리

Gann_HiLo_Activator_v2를 백테스트하기 위해 EA를 코딩하려고 합니다. 이 표시기는 막대가 진행되는 동안 값을 다시 계산합니다. 막대 끝에 값이 설정되며 RSI/MACD와 거의 동일합니다. 내 문제는 십자가를 못 박는 것입니다.

때로는 막대가 Gann을 교차하고 때로는 막대가 교차하지 않습니다. 즉, Open[0] 또는 Close[0]이 Gann 라인 의 값을 포함하지 않습니다. 가격이 이 선 위 또는 아래로 떨어질 때 EA가 픽업하도록 이 십자가를 어떻게 못 박을 수 있습니까? 이것은 막대당 한 번만 수행하면 되므로 Volume[0]>1을 필터로 사용했습니다.

 

여보세요,

내 코드가 매 틱 이 아니라 매초마다 실행되기를 원합니다. 어떻게 그게 가능합니까?

미리 감사드립니다.

 
jan100:
여보세요,

내 코드가 매 틱이 아니라 1초마다 실행되기를 원합니다. 어떻게 그게 가능합니까?

미리 감사드립니다.

안녕하세요!

예, EA 대신 SCRIPT를 사용해야 합니다.

시작 기능 에서 다음과 같이 사용하십시오.

while(true) // 항상 참

{

//여기서 주문하세요

절전(1000);//1000밀리초 = 1초

}

문안 인사

케일

 

수학 좀 도와주세요

삭제, 해결했습니다.

 

Metatrader에서 기간 대 틱의 끝 찾기

내가 EA를 코딩할 때 겪고 있는 문제는 Metatrader가 기간 내의 각 막대에 대한 표시기를 눈금으로 시뮬레이션한다는 것입니다. 예를 들어 Minute 5 데이터의 경우 기간 동안 막대의 끝을 처리하는 대신 모든 막대를 시뮬레이션합니다. 지표가 하는 것처럼.

누구든지 이것을 처리하는 방법을 알고 있습니까? 기간 동안 각 막대에 들어가는 대신 기간에 대한 지표처럼 작동하게 만드는 방법은 무엇입니까?

감사해요!

앤드류 하스

 

EA를 팔다

내가 만든 EA를 팔 권리가 있는지 묻고 싶었습니다. 법적으로 문제가 없는 경우 어떻게 해야 합니까? U에게 감사하고 E-sh에게 미안합니다.