MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1610

 
Vitaly Muzichenko # :

디자인을 줄이는 방법을 알려주십시오.

요점은 이미 기호가 있는 쌍을 잘라야 한다는 것입니다.

USDCHF 쌍에 위치

===

EURGBP에 포지션이 있습니다. 신호는 AUDUSD에서 왔습니다. AUD 또는 USD에 포지션이 없다는 것을 어떻게 감지합니까?

Valery는 올바른 생각을 가지고 있습니다. 하지만 루프의 각 반복에서 주문 통화로 찾고 있는 통화를 정의하는 이유를 이해하지 못합니다. 그리고 라인에서 검색하지 않고 마진 통화와 이익 통화를 취하는 것이 더 쉬운 것 같습니다. 화폐 사양 좀 보세요... 이렇게 하겠습니다

 bool Search( string _sy)
 {
   int OT = OrdersTotal ();
   string curencyProfit = SymbolInfoString (_sy, SYMBOL_CURRENCY_PROFIT ),
         currencyMargin = SymbolInfoString (_sy, SYMBOL_CURRENCY_MARGIN );
   for ( int i = 0 ; i < OT; i++)
   {
     if ( OrderSelect (i, SELECT_BY_POS))
     {
       bool res = StringFind (OrderSymbol(), curencyProfit) >= 0 ||
                 StringFind (OrderSymbol(), currencyMargin) >= 0 ;
       if (res)
         return ( true );
     }
   }
   return ( false );
 } /******************************************************************/
 
Valeriy Yastremskiy # :

문자열 찾기

2줄, 검색 및 0 및 3 위치가 나와야 합니다. 중간에 임의의 우연의 일치를 차단합니다.

추신

투파눌, 4가지 조건이 있습니다. 그들을 자르지 마십시오.

A B와 같지 않고 C D와 같지 않음

조건 A==C 또는 A==D 또는 B==C 또는 B==D

요컨대, 거의 아무도 쓸 수 없습니다)))

두 번째 시도에서 Tupanul. 저녁 시간이 된 것 같습니다.

 
Vitaly Muzichenko # :

디자인을 줄이는 방법을 알려주십시오.

요점은 이미 기호가 있는 쌍을 잘라야 한다는 것입니다.

USDCHF 쌍에 위치

===

EURGBP에 포지션이 있습니다. 신호는 AUDUSD에서 왔습니다. AUD 또는 USD에 포지션이 없다는 것을 어떻게 감지합니까?

모든 미결 주문 통화를 배열로 수집하고 신호가 도착하면 이 배열을 반복합니다.

 
Alexey Viktorov # :

Valery는 올바른 생각을 가지고 있습니다. 하지만 루프의 각 반복에서 주문 통화로 찾고 있는 통화를 정의하는 이유를 이해하지 못합니다. 그리고 라인에서 검색하지 않고 마진 통화와 이익 통화를 취하는 것이 더 쉬운 것 같습니다. 화폐 사양 좀 보세요... 이렇게 하겠습니다

내일 확인하겠습니다


타라스 슬로보디아닉 # :

모든 미결 주문 통화를 배열로 수집하고 신호가 도착하면 이 배열을 반복합니다.

의미는 동일하며 배열 만 필요합니다.

 

당신은 또한 각 통화 1 = AUD, 2 = EUR....에 대해 자신만의 마법을 가질 수 있고 마법을 비교할 수 있습니다.

배열에 대해, IMHO, 이것은 합리적입니다. 지금 3개의 통화 쌍 4개의 조건, 내일 33개의 통화 쌍 34개의 조건?

 
Vitaly Muzichenko # :

내일 확인하겠습니다


의미는 동일하며 배열 만 필요합니다.

왜 내일까지 기다리세요? 사양을 살펴보는 것이 게으르다면 관심 있는 모든 기호에 대해 스크립트를 실행하고 마진 통화와 이익 통화 사이의 일치 항목을 찾으십시오.
 /********************Script program start function*******************/
void OnStart ()
 {

   Comment ( SymbolInfoString ( _Symbol , SYMBOL_CURRENCY_PROFIT ), "\n" ,
           SymbolInfoString ( _Symbol , SYMBOL_CURRENCY_MARGIN )
         );
 } /******************************************************************/
글을 쓰기 전에 다 확인을 해보진 않았지만 일치하는 항목을 찾지 못했습니다...
 
Vitaly Muzichenko # :

의미는 동일하며 배열 만 필요합니다.

글쎄, 의미는 속도에 있습니다. 통화 코드를 가져 와서 거래가 열릴 때 업데이트되는 기성품 배열에서 검색했습니다.

 

코드를 도와주세요. 추세선을 따라 새로운 막대가 열리면서 이동 하려면 보류 중인 주문 이 필요합니다.

저것들. 순서와 선이 끊임없이 교차하도록 합니다.

이동하려면 추세선과 시간의 교차점을 알아야 합니다... 계산 방법은?

 
Zalevsky1234 하려면 보류 중인 주문 이 필요합니다.

저것들. 순서와 선이 끊임없이 교차하도록 합니다.

이동하려면 추세선과 시간의 교차점을 알아야 합니다... 계산 방법은?

다음 은 교차점을 계산하는 함수 입니다.
 

X::doJob() 메서드의 정적 변수 var에 대한 질문입니다. X 유형의 객체를 생성하고 일부 작업을 수행한 다음 이를 파괴하는 클래스 U가 있습니다. 그리고 주기적으로. 질문: var 변수는 언제 제거됩니까?


 class X {
public :
   void doJob() {
       static int var = 0 ;
   }
};

class U {
private :
   X *x;
public :
   U(){

   }
   ~U() {
       delete x;
   }
   void U::dojob(){
      x = new X();
      x.doJob();
       delete x;
   }
};