나는 당신이 원하는 것을 이해합니다. 내 변수 prevtime으로 이미 동일한 작업을 수행하고 있는지 확인합니다.
이전 시간 == 시간[0]
아니면 Time[0] 및 Bars를 사용하는 것과 다른 것이 있습니까?
그러나 내 문제는 종가입니다.
"닫기[0]" 순간에 확인할 수 있나요 아니면 다음 바에서 시가로 확인하고 "닫기[1]"이라고 적어야 하나요?
내가 무엇을 잘못 생각하고 있습니까?
예, Time[0]은 동일하게 작동합니다.
예를 들어 현재 새 막대의 종가 를 사용하려는 경우 종가에 대한 귀하의 문제를 정말 이해하지 못합니다. prevtime!=Time[0]이 새 막대가 왔다는 것을 의미하면 close[0] == open[0] == high[0] == low[0]입니다. 일부 계산의 경우 다른 막대 닫기를 사용하려는 경우 예에서와 같이 인덱스를 이동하여 다시 돌아올 수 있습니다. 닫기[1]은 이전 막대 닫기입니다.
Gann_HiLo_Activator_v2를 백테스트하기 위해 EA를 코딩하려고 합니다. 이 표시기는 막대가 진행되는 동안 값을 다시 계산합니다. 막대 끝에 값이 설정되며 RSI/MACD와 거의 동일합니다. 내 문제는 십자가를 못 박는 것입니다.
때로는 막대가 Gann을 교차하고 때로는 막대가 교차하지 않습니다. 즉, Open[0] 또는 Close[0]이 Gann 라인 의 값을 포함하지 않습니다. 가격이 이 선 위 또는 아래로 떨어질 때 EA가 픽업하도록 이 십자가를 어떻게 못 박을 수 있습니까? 이것은 막대당 한 번만 수행하면 되므로 Volume[0]>1을 필터로 사용했습니다.
답변 주셔서 감사합니다.
나는 당신이 원하는 것을 이해합니다. 내 변수 prevtime으로 이미 동일한 작업을 수행하고 있는지 확인합니다.
이전 시간 == 시간[0]
아니면 Time[0] 및 Bars를 사용하는 것과 다른 것이 있습니까?
하지만 내 문제는 닫기 가격 입니다.
"닫기[0]" 순간에 확인할 수 있나요 아니면 다음 바에서 시가로 확인하고 "닫기[1]"이라고 적어야 하나요?
내가 무엇을 잘못 생각하고 있습니까?
답변 주셔서 감사합니다.
나는 당신이 원하는 것을 이해합니다. 내 변수 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이 발생합니다.
아래 이미지에서 볼 수 있습니다. 도와주세요.
크로스오버 처리
Gann_HiLo_Activator_v2를 백테스트하기 위해 EA를 코딩하려고 합니다. 이 표시기는 막대가 진행되는 동안 값을 다시 계산합니다. 막대 끝에 값이 설정되며 RSI/MACD와 거의 동일합니다. 내 문제는 십자가를 못 박는 것입니다.
때로는 막대가 Gann을 교차하고 때로는 막대가 교차하지 않습니다. 즉, Open[0] 또는 Close[0]이 Gann 라인 의 값을 포함하지 않습니다. 가격이 이 선 위 또는 아래로 떨어질 때 EA가 픽업하도록 이 십자가를 어떻게 못 박을 수 있습니까? 이것은 막대당 한 번만 수행하면 되므로 Volume[0]>1을 필터로 사용했습니다.
여보세요,
내 코드가 매 틱 이 아니라 매초마다 실행되기를 원합니다. 어떻게 그게 가능합니까?
미리 감사드립니다.
여보세요,
내 코드가 매 틱이 아니라 1초마다 실행되기를 원합니다. 어떻게 그게 가능합니까?
미리 감사드립니다.안녕하세요!
예, EA 대신 SCRIPT를 사용해야 합니다.
시작 기능 에서 다음과 같이 사용하십시오.
while(true) // 항상 참
{
//여기서 주문하세요
절전(1000);//1000밀리초 = 1초
}
문안 인사
케일
수학 좀 도와주세요
삭제, 해결했습니다.
Metatrader에서 기간 대 틱의 끝 찾기
내가 EA를 코딩할 때 겪고 있는 문제는 Metatrader가 기간 내의 각 막대에 대한 표시기를 눈금으로 시뮬레이션한다는 것입니다. 예를 들어 Minute 5 데이터의 경우 기간 동안 막대의 끝을 처리하는 대신 모든 막대를 시뮬레이션합니다. 지표가 하는 것처럼.
누구든지 이것을 처리하는 방법을 알고 있습니까? 기간 동안 각 막대에 들어가는 대신 기간에 대한 지표처럼 작동하게 만드는 방법은 무엇입니까?
감사해요!
앤드류 하스
EA를 팔다
내가 만든 EA를 팔 권리가 있는지 묻고 싶었습니다. 법적으로 문제가 없는 경우 어떻게 해야 합니까? U에게 감사하고 E-sh에게 미안합니다.