[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 234

 
sergeev :

시험을 마친. 붙어 있지 않습니다.


OrderClose에서 129 오류가 발생했습니다.

그 앞에 RefreshRates를 넣으십시오.

오류 없이 종료됨


예, 동일하게 수행했지만 때로는 작동이 중지됩니다(터미널 자체가 아니라 고문).

 
doon :
이 코드가 때때로 한 곳에서 멈추는 이유를 설명하고 다시 시작하려면 터미널 다시 시작해야 합니까?


당신은 아주 직접적으로 질문을 받았습니다 - 어느 라인에서 고정됩니까?

귀하의 코드는 동일한 주문을 열고 즉시 닫으며 매우 잘 문서화되어 있으므로 코드가 도달한 라인에 있는 경고에서 즉시 볼 수 있어야 합니다. 아니면 그냥 코드의 일부입니까?

 
Roger :


당신은 아주 직접적으로 질문을 받았습니다 - 어느 라인에서 고정됩니까?

귀하의 코드는 동일한 주문을 열고 즉시 닫으며 매우 잘 문서화되어 있으므로 코드가 도달한 라인에 있는 경고에서 즉시 볼 수 있어야 합니다. 아니면 그냥 코드의 일부입니까?


아니요, 그게 전부입니다. 그리고 시작 및 종료 주문 라인에서 멈춥니다(항상 그런 것은 아님).

 
코드에서 Ask 및bid를 MarketInfo( Symbol() ,MODE_ASK) 및 MarketInfo(Symbol(),MODE_BID)로 바꾸면 작동합니다.
 

이것으로부터:

 OrderSend ( Symbol (), OP_BUY, 1 , Ask, 10 , 0 , 0 , "dsgdsf" , 0 , 0 , CLR_NONE );

이에:

 OrderSend ( Symbol (), OP_BUY, 1 , MarketInfo( Symbol (),MODE_ASK), 10 , 0 , 0 , "dsgdsf" , 0 , 0 , CLR_NONE );
?
 

아니요, 여전히 꺼져 있습니다.

4분 동안 정지한 후 이것은 오류 128( Deal timeout 만료 됨 )인 것으로 나타났습니다.

이게 도움이 될까요?

 

친애하는 동료 여러분, MQL 프로그래밍의 관점에서 저는 여전히 완전한 "찻주전자"입니다. 저는 이 주제를 아주 최근에 연구하기 시작했습니다. 그러나 나는 이미 최소한의 노력으로 나의 첫 번째 Expert Advisor를 쓰기 시작했습니다.

이 주제 의 182번째 페이지 에서 저는 이 Expert Advisor가 거래해야 하는 거래 기준을 설명했습니다. 거기에 쓰여진 내용을 참조하십시오(페이지의 마지막 게시물). 나는 이미 3주 동안 고군분투했고 거래 기준을 담당하는 코드의 일부를 여기에 작성할 수 없습니다. 나는 이 주제에 관한 교과서의 장을 읽었지만 이 특별한 경우에는 도움이 되지 않았습니다.

프로그래밍과 씨름하는 동안 이미 코드의 이 부분에 대해 수십 가지 다른 버전을 작성했지만, 안타깝게도 어느 것도 제대로 작동하지 않습니다. 물론 내 지식이 부족해 MQL 이 너무 빨라 마스터하지 마십시오. 일반적으로 최소한 대략적으로 거래되는 코드 옵션 중 하나를 게시해야 합니다.

//+-------------------------------------------------------------------------------------+
//| Расчет значений технических индикаторов с формированием сигналов для позиций        |
//+-------------------------------------------------------------------------------------+
void GetSignal()
{
 Signal = 0 ;
// - 1 - == Получение значений индикаторов ==============================================
 double SAR = iSAR ( Symbol (), 0 , SARStep, SARMaximum, 0 );
 double EnvUp = iEnvelopes ( Symbol (), 0 , EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_UPPER, 1 );
 double EnvDn = iEnvelopes ( Symbol (), 0 , EnvPeriod, EnvMethod, EnvShift, EnvPrice,
 EnvDeviation, MODE_LOWER, 1 );
 double StochM = iStochastic ( Symbol (), 0 , StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_MAIN, 1 );
 double StochS = iStochastic ( Symbol (), 0 , StochK, StochD, StochSlowing, StochMethod,
 StochPrice, MODE_SIGNAL, 1 );
// - 1 - == Окончание блока =============================================================

// - 2 - == Генерация сигнала ===========================================================
 if (SAR < Low[ 1 ])
   {
    Signal = 3 ;                                                           // Закрытие SELL
     if (StochM > StochS && StochM >= 80 && StochS >= 80 && High[ 1 ] >= EnvUp && SAR < Open[ 1 ])
      Signal = 1 ;                                                         // Открытие BUY
   }   
 
 if (SAR > High[ 1 ])
   {
    Signal = 4 ;                                                           // Закрытие BUY
     if (StochM < StochS && StochM <= 20 && StochS <= 20 && Low[ 1 ] <= EnvDn && SAR > Open[ 1 ])
      Signal = 2 ;                                                         // Открытие SELL
   }   
// - 2 - == Окончание блока =============================================================
}


코드가 모두 곡선형, 비스듬한 위치, 일반적으로 베이 위치라는 것을 알고 있습니다. 매도 가 교환됩니다. 그러나 이것은 Stochastic과 Envelopes가 서로를 무시하지 않고 함께 거래할 때 유일한 코드 옵션입니다. 동시에 어떤 이유로 거래시 포물선 신호는 전혀 고려되지 않습니다. 일반적으로 나는 그러한 "과잉 열심"에 대해 저를 많이 꾸짖지 말 것을 요청합니다. 나는 코드가 정확하지 않다는 것을 완벽하게 이해합니다.

어드바이저 코드 수정을 도와주세요. 나는 만성적으로 실패한다. 몇 가지 더 간단한 전략(Movings + Momentum; Movings + RSI ) 을 구현하는 것이 이미 가능 했지만 이 전략은 전혀 작동하지 않습니다. 도와주세요. 어드바이저가 182페이지 에서 설명한 규칙에 따라 거래할 수 있도록 잘못된 행을 다시 작성하십시오. 매우 필요합니다.

피. _ S .: 기성품 MQL 템플릿을 사용했기 때문에 EA 코드 전체를 게시하지 않았습니다.

 
doon :

아니요, 여전히 꺼져 있습니다.

4분 동안 정지한 후 이것이 오류 128( Deal timeout 만료 됨 )인 것으로 나타났습니다.

이게 도움이 될까요?


젠장, 이미 거래 센터를 변경하십시오 - 글쎄, 동일한 코드의 거래 주문이 정상적으로 진행되고 중단되면 서버가 죽는다는 힌트 없이 명확합니다. 주문이 나가고 4분 동안 돌아오지 않았습니다. 정말 이 서버를 통해 실제 거래 를 하실 건가요? 예, 이미 교차하고 다른 DC를 여러 번 변경했습니다. 컴퓨터를 가르쳐준 사람이 있습니까? 이것은 타자기나 게임 콘솔이 아닙니다. 지식이 필요합니다 . 이것은 공부와 노력입니다. 명령줄, 파일 여는 방법, 컴퓨터 네트워크 작동 방식에 대한 기본적인 아이디어가 있다면 완전히 다른 질문을 하고 기꺼이 도와줄 것입니다. 이제 DC 서버를 올바르게 ping하고 서버 응답 시간을 가져와 다른 DC 서버의 응답 시간과 비교하기만 하면 됩니다. 그을음, 30, 이 모든 것에 몇 분을 소비하면 무슨 일이 일어나고 있는지 이해하게 될 것입니다. 적어도 Expert Advisor와 서버가 상호 작용하는 방식을 대략적으로 설명하려는 경우 DC 서버가 MQL4 도구를 사용하여 거래 주문을 실행하는 속도를 측정할 수도 있습니다.

아무 말이 없다. 글쎄, 어떻게 당신 자신의 작업 과정에 대해 그렇게 부주의 할 수 있습니까?

 

daytrader19 :

어드바이저가 182페이지 에서 설명한 규칙에 따라 거래할 수 있도록 잘못된 행을 다시 작성하십시오.

메모.

1) "두 라인의 교차" 신호의 경우 "line1[1]>line2[1]" 조건이 충분하지 않습니다. "줄1[1]>줄2[1]&&줄1[2]<줄2[2]" 필요

2) 포물선은 Open이 아닌 High, Low와 비교해야 하며, 0점 막대에서 계산하고 첫 번째 값에서 Open[1] 값을 취한다는 점에 유의하십시오.

 
doon :

아니요, 여전히 꺼져 있습니다.

4분 동안 정지한 후 이것이 오류 128( Deal timeout 만료 됨 )인 것으로 나타났습니다.

이게 도움이 될까요?


이것은 예를 들어 급류를 많이 다운로드할 때와 같이 인터넷 상태가 좋지 않을 때도 발생합니다. 하지만 지금은 월요일까지 확인할 수 없습니다.
사유: