다중 통화 고문. 개발자의 의견이 바람직합니다.

 
다중 통화 고문이 있습니다. 한마디로 이런 의미입니다. 하나의 상품에 대해 전체 계산이 수행되고 다른 상품에 대한 거래가 수행됩니다. Expert Advisor 는 새 막대 를 여는 것을 명시적으로 제어합니다. 따라서 다음으로 가장 불쾌한 일이 발생합니다. 실생활에서 고문은 거래를 열지 않을 수 있습니다(미스). 테스터를 체크인할 때 이 거래가 있습니다. 또는 고문은 필요보다 늦게 실생활에서 거래를 개시할 수 있지만 테스터를 체크인할 때 거래는 필요한 곳입니다. 무엇으로 연결할 수 있습니까?
 
LeoV :
다중 통화 고문이 있습니다. 한마디로 이런 의미입니다. 하나의 상품에 대해 전체 계산이 수행되고 다른 상품에 대한 거래가 수행됩니다. EA는 새 막대를 여는 것을 명시적으로 제어하여 작동합니다. 따라서 다음으로 가장 불쾌한 일이 발생합니다. 실생활에서 고문은 거래를 열지 않을 수 있습니다(미스). 테스터를 체크인할 때 이 거래가 있습니다. 또는 고문은 필요보다 늦게 실생활에서 거래를 개시할 수 있지만 테스터를 체크인할 때 거래는 필요한 곳입니다. 무엇으로 연결할 수 있습니까?

새 견적이 도착하면 포지션이 열리지 않을 수 있지만 이전 견적을 사용하여 열 수 있습니다...

 
kharko :

새 견적이 도착하면 포지션이 열리지 않을 수 있지만 이전 견적을 사용하여 열 수 있습니다...

무슨 말인지 이해는 하지만 고문은 이 상황을 해결합니다. 로그에 따르면 신호가 전혀 없습니다. 즉, 고문 자체가 작동하지 않았습니다(포즈를 열도록 요청하지 않음). 또는 다음 막대에서만 작동했습니다. 그리고 항상 그런 것은 아닙니다. 하지만 가끔만. 그리고 연결된 것이 전혀 명확하지 않습니다. 테스터에서는 모든 것이 정상이고 모든 것이 올바르게 열리고 닫힙니다.

 
어드바이저가 분석하거나 거래하는 차트는 무엇입니까? iBarShift () 함수는 어떤 플래그와 함께 사용됩니까, 아니면 전혀 사용되지 않습니까?
 
LeoV :
다중 통화 고문이 있습니다. 한마디로 이런 뜻이다. 하나의 상품에 대해 전체 계산이 수행되고 다른 상품에 대한 거래가 수행됩니다. EA는 새 막대를 여는 것을 명시적으로 제어합니다. 따라서 다음으로 가장 불쾌한 일이 발생합니다. 실생활에서 고문은 거래를 열지 않을 수 있습니다(미스). 테스터를 체크인할 때 이 거래가 있습니다. 또는 고문은 필요보다 늦게 실생활에서 거래를 개시할 수 있지만 테스터를 체크인할 때 거래는 필요한 곳입니다. 무엇으로 연결할 수 있습니까?

출력해보기

인쇄(...



신호 전, 후, 개장 시, 개장 후

명시적 조건 인쇄

유형



// Print( "MyOPEN 대기 == 1 " + MyOPEN );


if ( MyOPEN == 1 )

{

Print( "MyOPEN == 1로 로그인했습니다. " );


...


}



---

그리고 새로운 BARS 오픈까지!!!

누락 된 바가 있음을 명심하십시오! 그리고 TESTER는 놓친 막대를 형성하지 않습니다.

바보같이 바를 찾는 것은 가치가 없습니다. 그냥 새로운 바를 찾는 것이 논리적입니다.

---

지금 나는 실시간으로

EURUSD M5 차트에서는 하루가 시작된 이후 140개의 막대가 형성되었지만 CHF 137에서는 3개의 막대가 손실되었습니다 :-)

멍청하게 추장에서 유대인에 해당하는 바를 찾아 헤매다가 바 패스에 부딪히면 날아갈 수 있다.

---


게다가 인용문이 있다



신호가 있었다면!!! 그리고 놓쳐서는 안되며 시장 진입 또는 퇴장 조건을 공식화하십시오!

신호가 실행되었는지 확인하십시오!

그리고 그것이 실행될 때까지 - 코드를 실행시키십시오 - 루프에 들어가지 않으려면 카운터를 만드십시오.

카운터를 나온 후 - 들어갈 필요가 있는지 분석 - 나가기

그리고 필요한 경우 다시 놔두십시오.



----

판매 코드 외에

간단할 수 없다!


(메커니즘의 작동을 책임지는 순전히 코드가 있습니다 - 손익분기점의 폐쇄를 여는 것, 즉 신호를 받은 후 주문으로 작업하는 것)

 
LeoV :
다중 통화 고문이 있습니다. 한마디로 이런 의미입니다. 하나의 상품에 대해 전체 계산이 수행되고 다른 상품에 대한 거래가 수행됩니다. EA는 새 막대를 여는 것을 명시적으로 제어하여 작동합니다. 따라서 다음으로 가장 불쾌한 일이 발생합니다. 실생활에서 고문은 거래를 열지 않을 수 있습니다(미스). 테스터를 체크인할 때 이 거래가 있습니다. 또는 고문은 필요보다 늦게 실생활에서 거래를 개시할 수 있지만 테스터를 체크인할 때 거래는 필요한 곳입니다. 무엇으로 연결할 수 있습니까?

이것을 인용이라고 합니다. 거래는 테스터에서 다시 인용되지 않습니다. 따라서 열린 거래의 티켓이 음수이면 형성된 막대의 플래그를 재설정해야합니다.




정적 정수 이전 시간 = 0; // 바 시작 시간



...


정수 시작() {


if (시간[0] == 이전 시간) return(0); // 막대는 동일하므로 종료

이전 시간 = 시간[0]; // 신선한 바, 시간을 기억하십시오


...


정수 티켓 = -1;


...


티켓 = OrderSend(...); // 포지션을 열려고 시도

if (ticket < 0) { // 어떤 이유로 포지션이 열리지 않았습니다.

수면(30000);

// 여기에서 형성된 막대의 플래그를 재설정하여 다음 막대가 아닌 다음 틱에서 작업을 다시 반복합니다.

이전 시간 = 시간[1];

}


}

 

EA는 시간당 막대에서 작동합니다. 재인용에 관한 것이 아닙니다. 고문이 이를 모니터링하고 필요한 경우 새 요청을 보냅니다. 나는 고문이 최소한 주문을 시작하려고 시도하기 위해 트리거하지 않는다는 사실에 대해 썼습니다. 즉, 그는 2-3개의 주문을 잘 엽니다(당연히 그래야 함). 그리고 네 번째(또는 세 번째)에서는 아예 열지 않거나 한 시간 후에 열 수 있습니다. 테스터에서 이 순간을 확인하면 이 주문이 올바른 위치에 있을 것입니다.

제가 알기로는 악기의 진드기가 고르게 오지 않는다는 것입니다. 그리고 계산이 수행되는 상품에 대한 새 막대 를 여는 틱은 거래가 발생하는 상품보다 훨씬 늦게 올 수 있습니다. 혹은 그 반대로도. 그리고 여기에서 불일치가 발생할 수 있습니다. 그러나 이것을 어떻게 피할 수 있습니까?

 
Expert Advisor에서는 서로 다른 기기의 매시간 초가 동시에 열리는 것으로 가정합니다. 즉, EURUSD에 새로운 시간당 계정이 나타나면 GBPUSD 시간 프레임에서 값을 확인하는 Expert Advisor가 시작됩니다. 그러나 현재 파운드의 새로운 시간이 시작되지 않은 경우 모든 것이 타르타르로 날아갑니다. 일반적으로 어드바이저의 논리를 약간 재구성해야 합니다.
 
Rosh :
Expert Advisor에서는 서로 다른 기기의 매시간 초가 동시에 열리는 것으로 가정합니다. 즉, EURUSD에 새로운 시간당 계정이 나타나면 GBPUSD 시간 프레임에서 값을 확인하는 Expert Advisor가 시작됩니다. 그러나 현재 파운드의 새로운 시간이 시작되지 않은 경우 모든 것이 타르타르로 날아갑니다. 일반적으로 어드바이저의 논리를 약간 재구성해야 합니다.

답변 감사합니다 그 이유인 줄 알았습니다. 방법을 알려주세요? 큰 문제이기 때문입니다. 다음은 실제 생활의 스크린샷입니다. 그것은 테스터에서 포즈가 15.00에 열려 있음을 보여 주지만 실제는 16:00에만 열립니다. 테스터와 실생활에서 매개변수는 동일하지만.

 
LeoV :

EA는 시간당 막대에서 작동합니다. 재인용에 관한 것이 아닙니다. 고문이 이를 모니터링하고 필요한 경우 새 요청을 보냅니다. 나는 고문이 최소한 주문을 시작하려고 시도하기 위해 트리거하지 않는다는 사실에 대해 썼습니다. 즉, 그는 2-3개의 주문을 잘 엽니다(당연히 그래야 함). 그리고 네 번째(또는 세 번째)에서는 아예 열지 않거나 한 시간 후에 열 수 있습니다. 테스터에서 이 순간을 확인하면 이 주문이 올바른 위치에 있을 것입니다.

제가 알기로는 악기의 진드기가 고르게 오지 않는다는 것입니다. 그리고 계산이 수행되는 상품에 대한 새 막대를 여는 틱은 거래가 발생하는 상품보다 훨씬 늦게 올 수 있습니다. 혹은 그 반대로도. 그리고 여기에서 불일치가 발생할 수 있습니다. 그러나 이것을 어떻게 피할 수 있습니까?

모든 시간 막대(모든 기기에서)의 새 눈금이 시간의 시작임을 고려하십시오.

---

이 키의 논리를 수정하십시오 ...

모든 악기에서 시간 표시줄이 열리자 마자

새로운 막대 가 형성되지 않았음에도 불구하고 막대가 이미 닫혀 있다고 가정하고 다른 도구를 다시 계산하십시오.

몇 틱 또는 몇 초 안에 거기에 나타날 것이기 때문입니다.


---

2개 또는 3개의 도구를 단락하고 있다고 가정해 보겠습니다.

그리고 당신은 적어도 20개의 악기에서 시간의 시작을 잡을 수 있습니다 - 그것들은 매우 활기차기 때문에 바람직하게는 엔에 있습니다.



 
// ---  практически гарантия ловли начала часа двумя БОДРЫМИ парами
   if ( TimeSaveBehchH1 == iTime ( " GBJJPY " , PERIOD_H1 , 0 ) )
   {
       TimeSaveBehchH1 = iTime ( " GBJJPY " , PERIOD_H1 , 0 ) ; // новый бар  
   }
   if ( TimeSaveBehchH1 == iTime ( " USDJPY " , PERIOD_H1 , 0 ) )
   {
       TimeSaveBehchH1 = iTime ( " USDJPY " , PERIOD_H1 , 0 ) ; // новый бар  
   }
//---
   if ( TimeSaveBehchH1 == iTime ( " EURUSD " , PERIOD_H1 , 0 ) ) // в довершении ловим на своей рабоче паре
   {
       TimeSaveBehchH1 = iTime ( " EURUSD " , PERIOD_H1 , 0 ) ; // новый бар  
   }
   if ( TimeSaveBehchH1 == iTime ( " USDCHF " , PERIOD_H1 , 0 ) ) // ловим на второй паре 
   {
       TimeSaveBehchH1 = iTime ( " USDCHF " , PERIOD_H1 , 0 ) ; // новый бар 
   }


솔직히 말해서 그다지 아름답지 않습니다 ... 표시된 쌍에 진드기가 오지 않았고 다시 과거로 날아 갔다고 상상해보십시오.

입력을 구성하는 코드 조각을 보여 주면 논리에서 오류를 더 빨리 찾을 수 있습니다.

 
LeoV :
로쉬 :
Expert Advisor에서는 서로 다른 기기의 매시간 초가 동시에 열리는 것으로 가정합니다. 즉, EURUSD에 새로운 시간당 계정이 나타나면 GBPUSD 시간 프레임에서 값을 확인하는 Expert Advisor가 시작됩니다. 그러나 현재 파운드의 새로운 시간이 시작되지 않은 경우 모든 것이 타르타르로 날아갑니다. 일반적으로 어드바이저의 논리를 약간 재구성해야 합니다.

답변 감사합니다 그 이유인 줄 알았습니다. 방법을 알려주세요? 큰 문제이기 때문입니다. 다음은 실제 생활의 스크린샷입니다. 그것은 테스터에서 포즈가 15.00에 열려 있음을 보여 주지만 실제는 16:00에만 열립니다. 테스터와 실생활에서 매개변수는 동일하지만.

...

거래된 기호에 따르면 새 막대 의 눈금이 더 일찍 왔으므로 분석은 분석된 기호의 이전 막대를 포함하고 시작이 작동했으며 다음 시간을 기다리고 있습니다. 그런 것. 일반적으로 코드를 보지 않고 추측하는 것은 재미있습니다.