[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 241

 
artmedia70 :

이유가 무엇인지 즉시 적어 주셨습니다. 그것은 i++ 또는 i--에 관한 것이 아니라 목록의 시작 부분(당신처럼) 또는 목록 끝(이 경우 필요에 따라)에서 주문 삭제를 시작할 끝 부분에 대한 것입니다.

주문이 삭제될 때 어떤 일이 발생하는지 이해하려면 주문이 배열에 저장되는 방식을 알고 이해해야 합니다.

첫 번째 주문을 처음 삭제하면(i=0으로 인덱싱됨) 모든 주문의 인덱스가 배열에서 이동합니다. 첫 번째 주문은 0이 되고 두 번째는 첫 번째가 되고 세 번째는 두 번째가 됩니다. 등등. 이것이 모든 주문이 완전히 삭제되지 않는 이유입니다. 결국 i가 6이 되면 6번째 주문은 주문 배열의 5번째 위치로 이동하고 주문은 단순히 인덱스 6에서 선택되지 않습니다.

목록의 끝에서 주문을 제거하면 이동이 발생하지 않습니다. 첫 번째 주문은 목록에서 0의 위치에 있었기 때문에 계속 유지됩니다. 10번째 주문의 위치는 9이고 삭제된 다음 목록에서 위치가 8인 9번째 주문이 삭제되는 식입니다. 주문 배열에서 위치가 0인 첫 번째 주문으로 이동합니다.

artmedia70에 대한 자세한 답변에 큰 감사를 드립니다. 감사합니다 - ilunga ... 글쎄요. 그리고 nadya도 참여해 주셔서 감사합니다.
 
하나의 창에서 여러 통화를 사용할 수 있도록 다중 통화를 설정해 주세요. 그러나 문제는 통화 간 전환이 너무 빨라 주문을 열 시간이 없다는 것입니다. 4개의 주문 + 4개의 대기 중인 주문이 3분 만에 열렸습니다. 그리고 통화 사이에 많은 전환이 있었습니다.
 
volshebnik :
더 나은 방법과 이유는 무엇입니까? )
고유한 이름을 만들고 기억하십시오. 나는 당신의 작업을 모릅니다. 아마도 이것이 필요하지 않을 것입니다.
 
forexnew :
하나의 창에서 여러 통화를 사용할 수 있도록 다중 통화를 설정해 주세요. 그러나 문제는 통화 간 전환이 너무 빨라 주문을 열 시간이 없다는 것입니다. 4개의 주문 + 4개의 대기 중인 주문이 3분 만에 열렸습니다. 그리고 통화 사이에 많은 전환이 있었습니다.

http://vinin.ucoz.ru/forum/11
 

2개의 사용자 정의 수정 Mod_1 및 Mod_2가 있습니다.

두 경우 모두 수정 조건은 다음과 같습니다.

double TS;
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);

if (TS < Min_Dist)
TS=Min_Dist;

바이 스탑 로스 가 트레일 스탑보다 작기 때문에 스탑 로스 조건에서 수정이 일어나지 않도록 변경하는 방법,

매도의 경우 스톱로스가 트레일 스톱보다 큽니다.

 

안녕하세요.

오류를 찾을 수 있도록 도와주세요.

아래 코드는 테스터에서 작동하지 않지만 데모에서는 그런 문제가 없습니다. 로그에 오류가 없습니다.

미리 감사드립니다.

   //====================== Отлавливаем прибыль по рынку ===========================================
   if (RinProfit) {
     if (SchBuyLots> 0 || SchBuyLots777> 0 )
     {
       if ((SchSellStop_b(MAGIC)> 0 && (maM_fast<maM_slow || maH_fast<maH_slow || maOtk_fast<maOtk_slow)) ||
         (SchSellStop_b(MAGIC)> 0 && (speedup_H1_ff<( 10000 +H1_MA_factor_ff) || speedup_H1_ss<( 10000 +H1_MA_factor_ss) ||
                                     speedup_M15_ff<( 10000 +M15_MA_factor_ff) || speedup_M15_ss<( 10000 +M15_MA_factor_ss))) ||
         (SchSellStop_b(MAGIC)> 0 && ((maHXX<=H1_point_min  && speedup_H1_ss<( 10000 +H1_MA_factor_ss)) || maHXX>=H1_point_max)) ||
         (SchSellStop_b(MAGIC)> 0 && Fractal_fibo_buy>Fibo_prohibit) ||
         (SchSellStop_b(MAGIC)> 0 && TF1S> 0 && TF2S> 0 && timf1s!= 0 && timf2s!= 0 && TF1S<TF2S) ||
         (SchSellStop_b(MAGIC)> 0 && TF1S> 0 && TF2S> 0 && timf1s!= 0 && timf2s!= 0 && TF1S>=TF2S && Bid<price_S))
       {
         while (SchBuyLots+SchBuyLots777> 0 && SchSellLots+SchSellLots777> 0 )
         {
          CloseVstrechnye(MAGIC);
           return ( 0 );
         }
        CloseAll_bMAGIC(Proskalz, MAGIC);
        CloseAll777_b(Proskalz);
        DeleteOtlozhMAGIC(MAGIC);
        DeleteOtlozh777();
         Alert ( "Позиции Buy закрыты согласно рыночной ситуации." );
         RefreshRates ();
         if (Timeout_Trade> 0 && ProfHist<= 0 )
         {
           Comment (SMB, ": ТАЙМАУТ ТОРГОВЛИ " ); 
           Sleep (Timeout_Trade* 60000 );
         } 
         RefreshRates ();
       }
    }
     if (SchSellLots> 0 || SchSellLots777> 0 )
     {
       if ((SchBuyStop_b(MAGIC)> 0 && (maM_fast>maM_slow || maH_fast>maH_slow || maOtk_fast>maOtk_slow)) ||
         (SchBuyStop_b(MAGIC)> 0 && (speedup_H1_ff>( 10000 -H1_MA_factor_ff) || speedup_H1_ss>( 10000 -H1_MA_factor_ss) ||
                                    speedup_M15_ff>( 10000 -M15_MA_factor_ff) || speedup_M15_ss>( 10000 -M15_MA_factor_ss))) ||
         (SchBuyStop_b(MAGIC)> 0 && ((maHXX<=H1_point_min  && speedup_H1_ss>( 10000 -H1_MA_factor_ss)) || maHXX>=H1_point_max)) ||
         (SchBuyStop_b(MAGIC)> 0 && Fractal_fibo_sell>Fibo_prohibit) ||
         (SchBuyStop_b(MAGIC)> 0 && TF1B> 0 && TF2B> 0 && timf1b!= 0 && timf2b!= 0 && TF1B>TF2B) ||
         (SchBuyStop_b(MAGIC)> 0 && TF1B> 0 && TF2B> 0 && timf1b!= 0 && timf2b!= 0 && TF1B<=TF2B && Bid>price_B))
       {
         while (SchBuyLots+SchBuyLots777> 0 && SchSellLots+SchSellLots777> 0 )
         {
          CloseVstrechnye(MAGIC);
           return ( 0 );
         }
        CloseAll_bMAGIC(Proskalz, MAGIC);
        CloseAll777_b(Proskalz);
        DeleteOtlozhMAGIC(MAGIC);
        DeleteOtlozh777();
         Alert ( "Позиции Sell закрыты согласно рыночной ситуации." );
         RefreshRates ();
         if (Timeout_Trade> 0 && ProfHist<= 0 )
         {
           Comment (SMB, ": ТАЙМАУТ ТОРГОВЛИ " ); 
           Sleep (Timeout_Trade* 60000 );
         } 
         RefreshRates ();
       }
     } 
   }
   //===============================================================================================  
 

MT5에서 MT4의 dll에서 함수를 호출하는 것의 차이점은 무엇입니까? dll을 컴파일하면 MT5에서는 잘 작동하지만 MT4에서는 오류가 발생합니다.

2011.10.06 23:00:34 Solaris 실행기 EURUSDm,M1: dll 'Solaris.dll'에서 'InfoOfTrading' 함수를 호출할 수 없습니다( 오류 127 ).

박쥐 란 무엇입니까? - 뇌 전체가 이미 고장났습니다. :(

 
win32 dll 프로젝트 만들기
 
sergeev :
win32 dll 프로젝트 만들기
하지만 MT5에서는 잘 작동합니다!
 

위의 질문을 계속하겠습니다.

위의 코드는 다른 Expert Advisor에서도 사용됩니다. 해당 Expert Advisor를 사용하면 코드 조건이 정확히 반대(데모에서 다시 모든 것이 오류 없이 작동함)가 관찰되었다는 유일한 차이점을 제외하고 설명된 것과 유사한 상황이 있었습니다. 그러나 어느 좋은 순간에 테스터가 올바르게 작동하고 코드가 규정된 조건에 따라 작동하기 시작했습니다.

일종의 신비주의자.

또한 어떤 이유로 때로는 최적화를 쟁기질하지 않습니다. 그녀는 자신을 위해 무언가를 다시 계산하지만 어떤 이유로 그녀는 모든 결과를 재설정합니다. 다른 브로커의 터미널에서도 마찬가지입니다. 동시에 모든 별과 별자리가 아마도 하늘에 수렴할 때 모든 것이 예상대로 작동하기 시작합니다.