초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 236

 
s4sha45 :

모두에게 좋은 하루! YouTube 비디오 예제를 사용하여 간단한 거래 로봇을 작성하는 방법을 배우기 시작했습니다. 첫 번째 스크립트가 열리도록 스크립트를 작성하고 싶습니다.   구매 주문 , 그리고 다른 미결 주문이 없으면 열어야합니다. 스크립트가 이것을 썼지 만 주문이 열리지 않습니다. 오류가 무엇인지 알려주세요!

<

무효 OnTick()

{

경우 ( OP_SELL==0 && OP_BUY==0 )

int ticket=OrderSend(Symbol(),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit,"내 주문",MagicNumber,0,clrGreen);

>

당신은 (말 그대로 러시아어로) 썼습니다:

1이 0 이고 0이 0이면 포지션을 엽니다.

 
Artyom Trishkin :

당신은 (말 그대로 러시아어로) 썼습니다:

1이 0 이고 0이 0이면 포지션을 엽니다.

영상에서 작성자는 if (b == 0   && s ==0) 모든 것이 그를 위해 일했습니다. 그리고 그 전에는 변수 b와 s를 도입하지 않았습니다. 버전이 오래되었을 수 있습니다. 이것이 정확하지 않은 경우 현재 주문이 없다고 결정하는 행은 어떻게 생겼습니까?
 
bool FindOrder(int eType, int eMagic, string eSymbol)
   {
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderCloseTime()>0) continue;
      if(OrderSymbol()!=eSymbol) continue;
      if(OrderMagicNumber()!=eMagic) continue;
      if(OrderType()!=eType) continue;
      return(true);
      }
   return(false);
   }
bool b=FindOrder(OP_BUY,Magic,Symbol());
if(b)
   {
   
   }
 
s4sha45 :

모두에게 좋은 하루! YouTube 비디오 예제를 사용하여 간단한 거래 로봇을 작성하는 방법을 배우기 시작했습니다. 첫 번째 스크립트가 열리도록 스크립트를 작성하고 싶습니다.   구매 주문 , 그리고 다른 미결 주문이 없으면 열어야합니다. 스크립트가 이것을 썼지 만 주문이 열리지 않습니다. 오류가 무엇인지 알려주세요!

<

 void OnTick ()

  {

   if ( OrdersTotal ()== 0 )   int ticket= OrderSend ( Symbol (),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit, "My order" ,MagicNumber, 0 , clrGreen );

  }

매수, 매도, 정지 또는 지정가 주문이 없을 때 주문을 개설해야 하는 경우.

 OrdersTotal ()
마감된 주문은 고려되지 않습니다.
 
Александр :

매수, 매도, 정지 또는 지정가 주문이 없을 때 주문을 개설해야 하는 경우.

마감된 주문은 고려되지 않습니다.
덕분에!
 

좋은 저녁이에요! 다음 질문이 생겼습니다. 각 틱의 시장 가격을 특정 csv 파일(7열)의 가격과 비교할 필요가 있으며, 또한 주문은 시리즈로 그룹화되고 각 시리즈 의 주문 수는 임의적일 수 있습니다. 무엇이 더 빠를지 이해하고 싶습니다. 초기화하는 동안 각 주문에 대한 모든 데이터가 포함된 배열을 만든 다음 틱에 배열을 반복하거나 매번 파일을 열고 모든 것을 커서로 밀어넣습니다. 파일과 배열에 액세스하는 대략적인 시간, 내가 이길 수 있는 시간이 흥미 롭습니다. 고맙습니다!

 
Karomos :

좋은 저녁이에요! 다음 질문이 생겼습니다. 각 틱의 시장 가격을 특정 csv 파일(7열)의 가격과 비교할 필요가 있으며, 또한 주문은 시리즈로 그룹화되고 각 시리즈 의 주문 수는 임의적일 수 있습니다. 무엇이 더 빠를지 이해하고 싶습니다. 초기화하는 동안 각 주문에 대한 모든 데이터가 포함된 배열을 만든 다음 틱에 배열을 반복하거나 매번 파일을 열고 모든 것을 커서로 밀어넣습니다. 파일과 배열에 액세스하는 대략적인 시간, 내가 이길 수 있는 시간이 흥미 롭습니다. 고맙습니다!

그들이 쓴 내용은 명확하지 않지만 메모리에 액세스하는 것이 파일에서 읽는 것보다 확실히 빠릅니다.

 

안녕하세요. 조언자의 매개변수 창을 PROGRAMME으로 호출할 수 있습니까?

이것이 왜 필요한지 설명하겠습니다. 문제는 매개변수를 선언할 때 상수로만 초기화할 수 있다는 점이며, 먼저 특정 알고리즘에 따라 계산하고 싶습니다.

어드바이저의 매개변수에는 BUY_STOP 및 SELL_STOP 레벨이 있습니다. 사실, 대부분의 경우 EA는 이러한 수준을 자체적으로 계산할 수 있습니다. 저는 그 정확성을 확인하기만 하면 됩니다.

따라서 EA가 시작 시 이러한 수준을 계산하여 매개변수로 대체하고 화면에 매개변수 창을 표시하기를 원합니다. 레벨이 정확하면 확인을 클릭하면 EA가 정상적으로 작동합니다. EA에서 레벨 정의에 실수가 있으면 올바른 값으로 수정합니다. 매개변수 창을 프로그래밍 방식으로 표시할 수 없는 경우 Expert Advisor의 매개변수 창을 표시하기 전에 매개변수를 어떻게든 초기화할 수 있는지 알려주십시오(이를 계산하는 함수를 작성했습니다).

 

친애하는 전문가 여러분!

주문을 찾는 방법을 알려주세요.

상황은 이렇습니다.

- 고문은 동시에 2개의 주문을 엽니다. SL은 동일하고 TP는 설정되지 않습니다.

- 또한, 특정 조건에서 어드바이저가 1차 주문을 마감하고, 2차 주문의 SL을 수정해야 합니다.

질문 - 두 번째 주문을 찾는 방법은 무엇입니까?

문제는 그러한 쌍이 여러 개 열릴 수 있다는 것입니다. 그러나 다른 커플 의 개장 시간 은 확실히 다릅니다.


내가 이해하는 한 많은 옵션이 있습니다. 더 쉽고 정확하게 만드는 방법은 무엇입니까?

나는 코멘트에 티켓을 쓰고 싶지 않기 때문에. 브로커가 덮어쓸 수 있습니다.

원칙적으로 2차 주문에 다른 마법을 걸 수 있습니다. 그러나 이것은 여전히 문제를 해결하지 못합니다.

영업시간이나 가격으로 검색할 수 있습니다. 그러나 두 번째 주문이 같은 가격으로 열릴 것이라는 보장은 어디에 있습니까?

당신은 무엇을 조언합니까?

 

MT5 표시기는 두 가지 색상 으로 선을 그립니다 .

라인 값은 하나의 버퍼에 있습니다.

표시기에서 값을 요청할 때 선의 색상을 어떻게 든 결정할 수 있습니까?