포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 1125

 
Evgeniy Oshurkevich :
예, 이미 이해했습니다. 감사합니다. 거래 주문 전에 이미 모든 곳에 오류 처리 기능을 등록했습니다. 내 실수로 인해 오류가 정확히 발생한 경우 지금 어드바이저의 속도를 늦추는 방법에 대해 여전히 고민하고 있습니다. 정확히 등록합니다. 저것들. 주문을 열려고 했으나 오류가 발생했습니다. 어떻게 받나요? 예를 들어 OrderSend(....); 작업을 수행했는데 정보를 얻는 방법이 성공적으로 작동했습니까?

함수를 열어서 반환되는 내용을 확인하는 데 도움이 필요하십니까? _LastError는 어떻습니까?

특히 OrderSend는 주문 티켓 또는 -1을 반환합니다. 어떤 경우에 -1이 될 것인지 추측하십시오. ;)

 
Vitalie Postolache :

함수를 열어서 반환되는 내용을 확인하는 데 도움이 필요하십니까? _LastError는 어떻습니까?

특히 OrderSend는 주문 티켓 또는 -1을 반환합니다. 어떤 경우에 -1이 될 것인지 추측하십시오. ;)

이제 10분 동안 그것에 대해 읽었습니다 :)
 
Evgeniy Oshurkevich :
이제 10분 동안 그것에 대해 읽었습니다 :)
여기 좋은 예가 있습니다
 
Vitaly Muzichenko :
여기 좋은 예가 있습니다

그리고 저는 이미 스스로 오류 코드를 선택하기 시작했습니다. 감사합니다 :)

이 예에서는 " Slippage" 값을 찾을 수 없으며 OrderSend에 있습니다. 그다지 중요하거나 필수 사항은 아니지만 흥미롭습니다!

 
Evgeniy Oshurkevich :

그리고 저는 이미 스스로 오류 코드를 선택하기 시작했습니다. 감사합니다 :)

이 예에서는 " Slippage" 값을 찾을 수 없습니다. OrderSend에 있습니다. 중요하거나 필수 사항은 아니지만 흥미롭습니다!

그리고 이것은 코드 135 또는 129를 잡아서 다음 시도를 위한 슬리피지 값을 증가시키는 것입니다. 또는 증가된 미끄러짐이 매력적으로 보이지 않으면 다음 시도까지 특정 시간(초)을 계산하십시오. 그리고 또한 스프레드를 모니터링하고, 이때 스프레드가 증가하면 감소할 때까지 기다렸다가 다시 시도하십시오. 또한 Sleep()을 사용하지 않는 것이 좋습니다. 이것은 물론 코드 작성을 단순화하고 0.5초 또는 1초 동안 잠을 잘 때 큰 해를 끼치지 않습니다. , 또는 수십 초의 일시 중지가 필요한 경우 최대 절전 모드를 사용하지 않는 것이 좋습니다. 최대 절전 모드 중에 EA가 마비되어 거래할 수 있을 뿐만 아니라 거래 환경을 모니터링하거나 다른 계산을 수행할 수 없으며 사용자 작업에 응답하지 않습니다. 등.

현재 시간 을 수정하고 필요한 초(또는 밀리초) 수를 계산한 다음 행동할 수 있습니다.

 
Evgeniy Oshurkevich :

그리고 저는 이미 스스로 오류 코드를 선택하기 시작했습니다. 감사합니다 :)

이 예에서는 " Slippage" 값을 찾을 수 없으며 OrderSend에 있습니다. 그다지 중요하거나 필수 사항은 아니지만 흥미롭습니다!

오늘날 Slippage 는 이전만큼 관련성이 없으며 일반적으로 스프레드가 고정된 계정에서 사용되지만 본질적으로 그러한 계정은 소수에 불과하며 5-7명이 이 계정에서 거래합니다. 스프레드가 유동적이라면 거기에 슬리피지가 없고, 이미 스프레드 자체를 추적하는 것이 좋으며, 크게 멀어지면 진입을 자제하지만, 다시 말하지만 모든 것은 전략에 따라 다르며 얼마나 중요한지 확산이다.
 
Vitaly Muzichenko :
오늘날 Slippage 는 이전만큼 관련성이 없으며 일반적으로 스프레드가 고정된 계정에서 사용되지만 본질적으로 그러한 계정은 소수에 불과하며 5-7명이 이 계정에서 거래합니다. 스프레드가 유동적이라면 거기에 슬리피지가 없고, 이미 스프레드 자체를 추적하는 것이 좋으며, 크게 멀어지면 진입을 자제하지만, 다시 말하지만 모든 것은 전략에 따라 다르며 얼마나 중요한지 확산이다.

무의미한 말...

ECN에서 매우 인기 있는 DC 뉴스의 미끄러짐 - 걱정 마세요. 때로는 수백 핍(5zn). 또는 그들은 "새로운 가격", "가격 없음" 등을 제공하면서 몇 분 동안 주문을 비축합니다.

 
Vitalie Postolache :

그리고 이것은 코드 135 또는 129를 잡아서 다음 시도를 위한 슬리피지 값을 증가시키는 것입니다. 또는 증가된 미끄러짐이 매력적으로 보이지 않으면 다음 시도까지 특정 시간(초)을 계산하십시오. 그리고 또한 스프레드를 모니터링하고, 이때 스프레드가 증가하면 감소할 때까지 기다렸다가 다시 시도하십시오. 또한 Sleep()을 사용하지 않는 것이 좋습니다. 이것은 물론 코드 작성을 단순화하고 0.5초 또는 1초 동안 잠을 잘 때 큰 해를 끼치지 않습니다. , 또는 수십 초의 일시 중지가 필요한 경우 최대 절전 모드를 사용하지 않는 것이 좋습니다. 최대 절전 모드 동안 EA가 마비되어 거래할 수 있을 뿐만 아니라 거래 환경을 모니터링하거나 다른 계산을 수행할 수 없으며 사용자 작업에 응답하지 않습니다. .

현재 시간 을 수정하고 필요한 초(또는 밀리초) 수를 계산한 다음 행동할 수 있습니다.

예브게니 오슈르케비치 :

그리고 저는 이미 스스로 오류 코드를 선택하기 시작했습니다. 감사합니다 :)

이 예에서는 " Slippage" 값을 찾을 수 없으며 OrderSend에 있습니다. 중요하거나 필수 사항은 아니지만 흥미롭습니다!

절전 명령에 대한 최대 절전 모드 동안 어드바이저는 실제로 마비됩니다. 하나의 터미널의 경우에도 약 20개의 서로 다른 스레드의 작동을 보장해야 합니다. 즉, 각각의 스레드가 프로세서 시간을 차지하도록 해야 합니다. 적어도 화면에 무언가를 표시하려면 들어오는 틱을 수신하는 밀리초의 중요한 작업은 말할 것도 없습니다. 실제로 운영 체제의 수십 가지 서비스와 서비스도 작동하기를 원합니다. 즉, 요구 사항으로 프로세서를 차지하기를 원합니다. 이것이 Sleep 명령으로 수행되지 않으면 OS 스레드 스케줄러가 강제로 수행하지만 자체적인 이유로 누구에게 얼마나 많은 시간을 주어야 합니다. 이 EA만으로도 거의 100%에 가까운 속도로 프로세서를 지속적으로 로드할 수 있습니다. 누군가에게 효과가 있을 가능성은 거의 없습니다. 프로그래머가 프로세서 자원의 분배를 계획하는 것과 거리가 멀다면, 대다수의 경우 MQL에서 구현된 접근 방식이 그에게 매우 적합합니다. 한 심볼에 대한 틱이 도착한 순간에 어드바이저에게 프로세서가 주어지면 어드바이저가 이 도착을 처리하면 어드바이저는 "마비"되어 새로운 틱이 나올 때까지 프로세서를 차지하지 않습니다.

OrderSend의 Slippage 매개변수(시장에 따라 "시장 실행" 주문 실행 모드의 경우 실제 미끄러짐과 혼동하지 말 것)는 "즉시 실행" 실행 모드, 즉석 실행에서만 설정하는 것이 합리적입니다. 주문이 명시된 가격으로 실행되거나 거부된 다음 거부됩니다. 주문에 명시된 실행 가격과의 최대 허용 편차는 0이 아닌 값으로 설정할 수 있습니다. "시장 실행" 모드에서 이 매개변수는 아무 의미가 없습니다. 이 경우 실행 가격은 거래 센터에서 설정하고 주문에 명시된 가격과의 편차는 어떠한 제한도 받지 않습니다.

 
Vitalie Postolache :

무의미한 말...

ECN에서 매우 인기 있는 DC 뉴스의 미끄러짐 - 걱정 마세요. 때로는 수백 핍(5zn). 또는 그들은 "새로운 가격", "가격 없음" 등을 제공하면서 몇 분 동안 주문을 비축합니다.

ECN 계정에서 Slippage 는 최소 100포인트를 넣는 데 도움이 되지 않으며 시장 실행이 있으며 그들은 미끄러질 수만 있고 가격을 제시하지 않으며 이는 약간 다른 것들과 다른 오류입니다.
 

Есть условие для открытия ордера BUY. Открывается ордер, как сделать переход к SELL условию после закрытия BUY ордера?




if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }