[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 933

 
Dimka-novitsek :

거기 그는


고문이 일하고 있습니다. 거래 시작
 
gheka :

아직 멍청해서 연락도 안 하고 고유 일련번호가 어디서 나온건지 이해가 안가네 예시마다 모든게 다 달라

내가 실수하지 않는다면, 예를 들어 나는 그것을 만들지 않을 것입니다.

개인에서 질문을 삭제했으므로 답변을 기다리지 않고 여기에 던집니다.

다음과 같이 분해해보자.

인덱스 -

두 번째 매개변수에 따라 주문 위치 또는 주문 번호.
(위치 또는 주문 번호는 어디에서 왔는지???)

"두 번째 매개변수에 따라" - "선택"에 따라 달라짐을 의미합니까?

주문의 위치는 터미널의 주문 배열에서 해당 위치입니다. 루프에서 반복하는 것은 이 위치입니다.

주문 검색:

 for ( int index= 0 ; index< OrdersTotal (); index++) // Цикл по терминалу. В кач-ве переменной цикла будет index для наглядности
    {
       if ( OrderSelect (index, SELECT_BY_POS) && OrderMagicNumber()==Magic) // Если выбран ордер и магик равен магику советника
           {
                 if (OrderTipe()==OP_BUY)                                   // Если нам нужен ордер Бай
                   {
                       //............... Тут код обработки выбранного орд
                   }
           }
    }

SELECT_BY_POS를 찾는 경우 다음 매개변수는 기본적으로 MODE_TRADES이며 작성하지 않고 생략할 수 있습니다. EA는 아직 마감되지 않은 포지션을 찾을 것입니다. 마트에서.

이미 닫힌 주문에서 주문을 검색해야 하는 경우 SELECT_BY_POS 매개변수 뒤에 MODE_HISTORY도 지정해야 합니다. 그러면 고문은 마감된 위치와 삭제되거나 실행된 주문 목록에서만 검색합니다.

(틀린게 아니라면 이미 주문한거 맞죠? 맨 위에서 맨처음 0번 입력,
"1"은 목록에서 두 번째 등) 아마도???

이것은 정확히 위치, 터미널 주문 배열에서 주문의 위치입니다. 즉, 해당 인덱스는 동일한 인덱스 입니다.
... 주문 번호가 1부터 시작하지만 배열의 0 셀부터 시작하여 배열에 있습니다. 즉, 첫 번째 순서는 배열의 0 셀에 있고 두 번째 순서는 첫 번째 셀에, 세 번째 순서는 두 번째 셀에 있는 식입니다. ...

이제 티켓을 위해. 고유 주문 번호인 티켓은 DC에서 할당합니다. 이 번호는 이 주문이나 위치를 고유하게 식별할 수 있습니다. 동시에 몇 가지가 있지만 ... 티켓은 Expert Advisor(변수, 배열)의 어딘가에 미리 저장되어 있어야 이 티켓에 필요한 순서인지 확인할 수 있습니다. 이를 위해 나는 표준 기능으로 얻을 수 있는 주문에 대한 데이터뿐만 아니라 예를 들어 내가 기억하는 fibo 수준의 데이터도 기억하는 어드바이저의 회계 주문에 대한 내 고유 기능을 사용합니다. 포지션을 개설한 직후에 계산하고 내 오더북에 넣습니다. 그런 다음 개장 시간까지 위치를 쉽게 선택하고 목표를 잡고 내 주문 배열에서 이 위치에 대해 저장한 fibo 수준을 따라 정지 수준을 이동합니다. 또한 거기에서 내가 주문한 티켓을 받을 수 있습니다. 필요하고 표준 기능과 함께 사용하십시오.

   if ( OrderSelect (Ticket, SELECT_BY_TICKET) && OrderCloseTime()== 0 ) // Если выбран ордер по тикету и время его закрытия равно нулю
      {
         if (OrderTipe()==OP_BUY)                                   // Если нам нужен ордер Бай
            {
               //............... Тут код обработки выбранного ордера
            }
      }

여기서 주문 마감 시간을 0과 비교할 필요가 있습니다. 티켓을 선택할 때 MODE_TRADES 및 MODE_HISTORY는 무시되고 사용되지 않기 때문에 주문이 마감되지 않았으며 마감되지 않은 위치 목록에서 선택되었는지 확인하려면 마감 시간을 확인해야 합니다. 아직 시장에 있다면 마감 시간은 0이 됩니다.
마감된 주문에 대한 데이터를 확인해야 하고 티켓으로 선택해야 하는 경우 마감 시간을 0 이상으로 비교해야 하며, 그렇다면 이미 주문이 마감된 것입니다.

수영장 -

선택할 데이터 소스입니다. 선택 매개변수가 SELECT_BY_POS일 때 사용됩니다. 다음 값 중 하나일 수 있습니다.
MODE_TRADES(기본값) - 주문은 미결 주문과 보류 주문 중에서 선택됩니다.
현재 주문입니다


MODE_HISTORY - 마감된 주문과 삭제된 주문에서 주문이 선택됩니다.

그리고 이것은 로그 목록과 같이 완료된 주문 목록에서 온 것입니다. 맞죠?

좋아요.

더블 주문 이익( )
그는 순이익을 반환하고 무엇을? 마지막 주문 또는 모든 주문?

닫히지 않은 선택된 ONE 주문에 대한 현재 이익을 반환합니다...

주문이 이미 마감된 경우 - 이 주문의 손익을 반환합니다. 하나가 선택되었습니다.

스왑, 커미션 등을 고려하지 않고 이를 고려하려면 자신의 기능을 수행해야 합니다.

===================================================== =============================

난 당신이 이해 바랍니다... :)
 

고문이 일하고 있습니다. 거래 시작

감사합니다!!! 거래 플랫폼을 아는 것은 분명히 병입니다.

 
Renown :
변동성을 완화하기 위해 EA가 필요합니다(예: High[iHighest(NULL, 0, MODE_HIGH, 30, 1)] - Low[iLowest(NULL, 0, MODE_LOW, 30, 1)] ) 지수 이동 평균 . 내가 이해하는 한, 표준 iMA는 이것을 할 수 없으며 이를 위한 기능을 작성해야 합니까? 누구든지 코드를 도와줄 수 있습니까?


아이마온어레이

 

모두 좋은 하루 .... 문제가 발생했습니다 ... 누구를 도울 수 있습니까 ???

저는 마틴게일 원칙에 따라 EA와 거래합니다... 나도 거기에 손절매 를 포함하기로 결정했습니다... 무스를 계산하기 위해 이 공식이 사용됩니다...

 스토퍼 = 평균 가격 - 손절하다 * 포인트 ;
이 경우 중지는 후속 무릎으로 변경되기 때문에 이것은 나에게 적합하지 않습니다 ... 그러나 모든 무릎에 대해 고정되기를 바랍니다. 
예를 들어 100pp... 즉, 주문을 연 후 스톱이 100pp로 설정됩니다... 두 번째 무릎이 30pp 후에 열립니다. 그를 위해 중지를 의미
첫 번째와 같은 위치에 도달하려면 이미 70 포인트가되어야합니다 ...
요컨대, 전체 시리즈에 대해 고정되고 변하지 않는 정지 손실이 필요합니다...
설명이 어렵지 않다면))) 또는 함수를 던집니다)))) 감사히 받겠습니다

 

아무 키나 누르는 것의 정의에 대한 질문이 있었습니다. 누르는 사실을 추적해야하며 예를 들어 K를 누르면 몇 가지 작업을 수행합니다. 여기 ( _http://msdn.microsoft.com/en-us/library/ms646293%28v=VS.85%29.aspx ) int GetAsyncKeyState(int vKey), 기본적으로 필요한 기능을 찾았습니다. 하지만 거기에 is snag: 클릭 사실은 MetaTrader 창이 활성화된 경우에만 결정되어야 합니다. EA에서 다음과 같은 간단한 코드를 사용하여 확인합니다.

 #define VK_K                             0x4B      // K key 
#import         "user32.dll"
   int GetAsyncKeyState( int vKey);

//-----------------------------------------------------------------------------------------------//
int init()  {

 return ( 0 );
}
//-----------------------------------------------------------------------------------------------//
int deinit()   {

 return ( 0 );
}
int start() {
   if (GetAsyncKeyState(VK_K)== 0 ) Print ( "K не нажата..." );
   else { Alert ( "НАЖАТА K" );}
 return ( 0 );
}
글을 쓰면서 알림을 듣고 있었어요 :). 승리를 도와주세요 =)
 

공포!!! 친구야, 난 길을 잃었어... :)

두 개의 중첩 루프가 있습니다. 내부 루프를 종료할 때 외부 루프의 시작 또는 끝에서 어디에서 빠지나요?

바깥 쪽의 닫는 브래킷으로 또는 여는 브래킷으로?

 
artmedia70 :

공포!!! 친구야, 난 길을 잃었어... :)

두 개의 중첩 루프가 있습니다. 내부 루프를 종료할 때 외부 루프의 시작 또는 끝에서 어디에서 빠지나요?

바깥 쪽의 닫는 브래킷으로 또는 여는 브래킷으로?

스튜디오 코드.

그러나 일반적으로 내부 루프의 닫는 괄호 바로 뒤에

 
Necron :

스튜디오 코드.

그러나 일반적으로 내부 루프의 닫는 괄호 바로 뒤에

고맙습니다. 그것이 내가 한 일입니다. 그러나 외부 루프에서 플래그 확인을 어디에 둘 것인지에 대한 의심이 내 머리 속으로 파고 들었습니다.
 

글쎄, 정말 아무도 시리즈에 대한 고정 정지를 만드는 방법을 모릅니다 (((

여기에는 많은 전문가가 있습니다. 작업은 아마도 어렵지 않을 것입니다.