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

 
merkulov.artem :

교과서 정보:

int ObjectGetShiftByValue ( 문자열 이름, 이중 값)
이 함수는 지정된 가격에 대한 막대 번호(현재 막대에 상대적인 오프셋)를 계산하고 반환합니다. 막대 번호는 첫 번째 및 두 번째 좌표에 대한 선형 방정식을 사용하여 계산됩니다. 추세선 및 유사한 개체에 사용됩니다 . 오류에 대한 정보를 얻으려면 GetLastError() 함수를 호출하십시오.
ObjectGetValueByShift() 도 참조하십시오 .
옵션:
이름 - 개체의 이름입니다.
- 가격 가치.
예시:

문제:

여기에 오류가 있는 경우 메시지 표시줄 번호 -1이 표시됩니다(저는 역사상 최초의 표시줄입니다). 설명서에서 더 많은 정보를 찾을 수 없었습니다. 가격으로 바 번호를 찾는 방법은 무엇입니까?

차트에 "막대"라는 추세선이 있습니까? 그러한 선이 있는 경우 이 선이 귀하가 표시한 가격 밖에 있을 가능성이 큽니다.
 
fmillion :
루프의 시작 부분에서 시간 변수의 값은 얼마입니까?

ГЛОБАЛЬНАЯ
int time = 0 ;                       // время - для определения факта работы только с последним закрытым ордером      
 
TarasBY :
차트에 "막대"라는 추세선이 있습니까? 그러한 선이 있는 경우 이 선이 귀하가 표시한 가격 밖에 있을 가능성이 큽니다.

감사합니다. 예, 잘못된 줄 값을 표시했습니다. 이제 문제가 무엇인지 이해합니다.

 
Zhunko :
당신은 실행하고 참조하십시오. 매우 유용한 세트입니다.

그런 다음 "개"와 그 사이의 공백을 통해 일부 숫자가 표시됩니다. 그러나 왜 이런 일이 발생합니까? 이것은 mql 프로그래밍이 아닌 것입니까? 이것이 C에서 발생합니까?

그가 왜 이런 짓을 했는지 정말 이해할 수 없는 일이었습니다. 예, 무엇인지도 완전히 명확하지 않습니다. 어떤 수준에서는 "개"를 통해 피보의 수를 보고 어떤 다른 수준에서는 무엇인가를 봅니다.

그들의 출현 이유를 설명할 수 있습니까? 나는 매우 관심을 갖게 되었다. 그러나 나는 둘째 날 열어보고 들어가지 않았다.

여기에서 스크립트 코드를 복제하여 기록에서 찾지 않도록 하겠습니다.

 //+------------------------------------------------------------------+
//|                              Brooky_FibIt_Retracement_Script.mq4 |
//|                        Copyright 2012, www.Brooky_Indicators.com |
//|                                        www.Brooky_Indicators.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, www.Brooky_Indicators.com"
#property link       "www.Brooky_Indicators.com"
#property show_confirm  
#property show_inputs
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+

extern int        FibOnChartNum = 1 ;

extern color      Fib_Cbar_Color = Red ;
extern int        Fib_Cbar_Size= 1 ;
extern int        Fib_Cbar_Style= 2 ;

extern color      Fib_Level_Color = Gray ;
extern int        Fib_Level_Size= 1 ;
extern int        Fib_Level_Style= 2 ;

extern double      Fib_Level_1 = 0 ;
extern double      Fib_Level_2 = 0.236 ;
extern double      Fib_Level_3 = 0.382 ;
extern double      Fib_Level_4 = 0.5 ;
extern double      Fib_Level_5 = 0.618 ;
extern double      Fib_Level_6 = 0.764 ;
extern double      Fib_Level_7 = 1 ;

string Xtra_txtFib_Level_1  = "Extreme " ;
string Xtra_txtFib_Level_2  = "Break OUT " ;
string Xtra_txtFib_Level_3  = "Break IN " ;
string Xtra_txtFib_Level_4  = "Centre " ;
string Xtra_txtFib_Level_5  = "Break IN " ;
string Xtra_txtFib_Level_6  = "Break OUT " ;
string Xtra_txtFib_Level_7  = "Extreme " ;


string txtFib_Level_1  = "" ;
string txtFib_Level_2  = "" ;
string txtFib_Level_3  = "" ;
string txtFib_Level_4  = "" ;
string txtFib_Level_5  = "" ;
string txtFib_Level_6  = "" ;
string txtFib_Level_7  = "" ;


string FibPrice = " @ %$" ;
string FibPrice1 = " " ;
string FibName = "" ;

int start()
  {

//----
      txtFib_Level_1 = StringConcatenate (Xtra_txtFib_Level_1, DoubleToStr (Fib_Level_1, 3 ),FibPrice1);
      txtFib_Level_2 = StringConcatenate (Xtra_txtFib_Level_2, DoubleToStr (Fib_Level_2, 3 ),FibPrice);
      txtFib_Level_3 = StringConcatenate (Xtra_txtFib_Level_3, DoubleToStr (Fib_Level_3, 3 ),FibPrice1);
      txtFib_Level_4 = StringConcatenate (Xtra_txtFib_Level_4, DoubleToStr (Fib_Level_4, 3 ),FibPrice);
      txtFib_Level_5 = StringConcatenate (Xtra_txtFib_Level_5, DoubleToStr (Fib_Level_5, 3 ),FibPrice1);
      txtFib_Level_6 = StringConcatenate (Xtra_txtFib_Level_6, DoubleToStr (Fib_Level_6, 3 ),FibPrice);
      txtFib_Level_7 = StringConcatenate (Xtra_txtFib_Level_7, DoubleToStr (Fib_Level_7, 3 ),FibPrice);
      
      
      
      FibName = "Brooky_FibR_" +FibOnChartNum;
       ObjectDelete (FibName);
      
       ObjectCreate (FibName, OBJ_FIBO , 0 ,Time[ 21 ],High[ 24 ],Time[ 1 ],Low[ 1 ]);
      
       ObjectSet (FibName, OBJPROP_COLOR ,Fib_Cbar_Color);
       ObjectSet (FibName, OBJPROP_WIDTH ,Fib_Cbar_Size);
       ObjectSet (FibName, OBJPROP_STYLE ,Fib_Cbar_Style);
      
       ObjectSet (FibName, OBJPROP_RAY,True);
       
       ObjectSet (FibName, OBJPROP_LEVELSTYLE ,Fib_Level_Style);
       ObjectSet (FibName, OBJPROP_LEVELCOLOR ,Fib_Level_Color);      
       ObjectSet (FibName, OBJPROP_LEVELWIDTH ,Fib_Level_Size);  
       
          
       ObjectSet (FibName, OBJPROP_FIBOLEVELS, 7 );
       ObjectSet (FibName, OBJPROP_FIRSTLEVEL+ 0 ,Fib_Level_1);
       ObjectSet (FibName, OBJPROP_FIRSTLEVEL+ 1 ,Fib_Level_2);
       ObjectSet (FibName, OBJPROP_FIRSTLEVEL+ 2 ,Fib_Level_3);
       ObjectSet (FibName, OBJPROP_FIRSTLEVEL+ 3 ,Fib_Level_4);
       ObjectSet (FibName, OBJPROP_FIRSTLEVEL+ 4 ,Fib_Level_5);
       ObjectSet (FibName, OBJPROP_FIRSTLEVEL+ 5 ,Fib_Level_6);
       ObjectSet (FibName, OBJPROP_FIRSTLEVEL+ 6 ,Fib_Level_7);
      

     
       ObjectSetFiboDescription (FibName, 0 ,txtFib_Level_1);
       ObjectSetFiboDescription (FibName, 1 ,txtFib_Level_2);
       ObjectSetFiboDescription (FibName, 2 ,txtFib_Level_3);
       ObjectSetFiboDescription (FibName, 3 ,txtFib_Level_4);
       ObjectSetFiboDescription (FibName, 4 ,txtFib_Level_5);
       ObjectSetFiboDescription (FibName, 5 ,txtFib_Level_6);
       ObjectSetFiboDescription (FibName, 6 ,txtFib_Level_7);      
      
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 

친구 여러분, 저는 간단한 문제에 부딪혔지만 어떤 식으로든 해결할 수 없습니다. 요점은 다음과 같습니다. 특정 조건이 충족되면 거래가 열립니다(선행 거래라고 합시다). 그리고 다음 3개의 막대 동안 이 조건이 반복되면 다른 거래(반복)가 열리도록 해야 합니다. 다음 세 막대 동안 내가 필요한 조건이 작동하지 않으면 다음에 주요 거래가 다시 열릴 때까지 두 번째 거래가 열리지 않아야 합니다. 등. 어떤 이유에서든 재거래는 나에게 한 번만 열린다. 주요 거래, 더 이상 열리지 않음). 도와주세요, 제발.

 //условие открытия повторной сделки
for (povtor_up= 1 ;povtor_up< 4 ;povtor_up++)
if ((povtor_buy== 1 ) && (adx_cont== 1 )&&(sb== 1 ))
{
  CL = iClose ( NULL , 0 , 1 );
  stop = CL - SLP* Point ;
  raz_up = (CL - frac_down);
  take_1 = 0 ;
  take_2 = 0 ;
   if (CL<(frac_up-FR_OVER* Point ))
  take_1 = (CL + raz_up*MNP_1);
   if (CL>=(frac_up-FR_OVER* Point ))
  take_2 = (CL + raz_up*MNP_2);
   if (take_1> 0 )
  {
  take_1n = NormalizeDouble (take_1, 5 );
  take = take_1n;
  }
   if (take_2> 0 )
  {
  take_2n = NormalizeDouble (take_2, 5 );
  take = take_2n;
  }

     if (! IsTradeAllowed ())
      {
       Alert ( "занят торговый поток, повторим попытку buy" );
       return (- 1 );
      }
  ticket_buy_cont= OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slippage,stop,take,com,Magic, 0 , Yellow );
     if (ticket_buy_cont == - 1 )
    {
     Alert ( Symbol (), "ошибка:buy" , GetLastError ());
     return (- 1 );
    }
     if (ticket_buy_cont > 1 )
    { Alert ( Symbol (), "buy повтор - ок !" );
    povtor_buy= 0 ;
    povtor_up= 0 ;
    }

}
else 
    povtor_buy= 0 ;
    povtor_up= 0 ;


//условие открытия ведущей сделки
if ((adx_ts== 1 ) && (sb== 1 ) && (FLAG== 0 ))
{
  CL = iClose ( NULL , 0 , 1 );
  stop = CL - SL* Point ;
  raz_up = (CL - frac_down);
  take_1 = 0 ;
  take_2 = 0 ;
   if (CL<(frac_up-FR_OVER* Point ))
  take_1 = (CL + raz_up*MN_1);
   if (CL>=(frac_up-FR_OVER* Point ))
  take_2 = (CL + raz_up*MN_2);
   if (take_1> 0 )
  {
  take_1n = NormalizeDouble (take_1, 5 );
  take = take_1n;
  }
   if (take_2> 0 )
  {
  take_2n = NormalizeDouble (take_2, 5 );
  take = take_2n;
  }

     if (! IsTradeAllowed ())
      {
       Alert ( "занят торговый поток, повторим попытку buy" );
       return (- 1 );
      }
  ticket_buy= OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slippage,stop,take,com,Magic, 0 , Yellow );
     if (ticket_buy == - 1 )
    {
     Alert ( Symbol (), "ошибка:buy" , GetLastError ());
     return (- 1 );
    }
     if (ticket_buy > 1 )
    { Alert ( Symbol (), "buy при начале - ок !" );
    FLAG= 1 ;
    povtor_up= 1 ;
    povtor_buy= 1 ;
    }

}
 
Big_Bo :

친구 여러분, 저는 간단한 문제에 부딪혔지만 어떤 식으로든 해결할 수 없습니다. 요점은 다음과 같습니다. 특정 조건이 충족되면 거래가 열립니다(선행 거래라고 합시다). 그리고 다음 3개의 막대 동안 이 조건이 반복되면 다른 거래(반복)가 열리도록 해야 합니다. 다음 세 막대 동안 내가 필요한 조건이 작동하지 않으면 다음에 주요 거래가 다시 열릴 때까지 두 번째 거래가 열리지 않아야 합니다. 등. 어떤 이유에서나 재거래는 나에게 한 번만 열린다. 주요 거래, 더 이상 열리지 않음). 도와주세요, 제발.

Expert Advisor가 작동 중에 다시 로드될 수 있다는 사실을 잊지 마십시오(또는 원하는 대로 익숙해집니다)(물론 테스터가 아닌 경우). 이는 플래그 값이 초기화 중 어딘가에 기록되지 않고 초기화 중에 복원되지 않습니다. 주문에 대한 "기록"을 유지하는 것이 더 쉽습니다. 오더 사이에 차이가 있다면(이 경우 리더와 팔로워) 서로 다른 마법으로 구분하거나 댓글로 작성하거나, 1차 존재 후 2차 노예가 열린다(당신의 마음처럼 욕망).

코드를 사용자 정의 함수로 나눕니다. 이렇게 하면 읽기 및 인식이 더 쉽습니다. 별도의 열기 조건(신호 수신), 개별적으로 STOP 수신, 개별적으로 주문 열기. 이 주기의 의미는 완전히 이해할 수 없습니다.

     for (povtor_up = 1 ; povtor_up < 4 ; povtor_up++)

이것이 언급된 수표인 경우: "다음 3개의 막대 동안" - 나는 이번 생에서 뭔가를 놓쳤습니다...

첫 번째 "리딩"오더 의 시작 시간이 있습니다 - 그것과 "댄스".

 

어드바이저의 원활한 운영을 위해 상황 해결을 도와주시거나 조언 부탁드립니다. 상황은 다음과 같습니다.

1. 36명의 고문이 TF D1의 21개 상품에 대해 작업하는 실제 소액 계정이 시작되었습니다. 거래 주간에는 꺼지지 않습니다.

2. D1에서도 별도의 데모 계정에 58명의 Expert Advisors가 추가로 출시되었습니다. 매일 00-00 DC 서버 시간부터 시작하여 거래 결정을 내린 후 1-3분 이내에 번갈아 "활성화"되어 강제 종료됩니다. 자정 이후에는 많은 시간과 신경을 곤두세우고 있습니다.

3. 영구적으로 작동하는 TF H4에 데모 계정이 출시되었습니다.

질문: 영구적으로 항목 2에 따라 Expert Advisors를 실행하는 방법 , 이제 컴퓨터에 이를 수행하기에 충분한 가상 메모리가 없습니다. 해야 할 일: RAM을 늘리고 컴퓨터를 변경하십시오. 듀얼 코어 또는 더 강력한 노트북을 찾고 계십니까? 아니면 다른 조직 또는 프로그램 솔루션이 있습니까?

 
yosuf :

어드바이저의 원활한 운영을 위해 상황 해결을 도와주시거나 조언 부탁드립니다. 상황은 다음과 같습니다.

1. 36명의 고문이 TF D1의 21개 상품에 대해 작업하는 실제 소액 계정이 시작되었습니다. 거래 주간에는 꺼지지 않습니다.

2. D1에서도 별도의 데모 계정에 58명의 Expert Advisors가 추가로 출시되었습니다. 매일 00-00 DC 서버 시간부터 시작하여 거래 결정을 내린 후 1-3분 이내에 번갈아 "활성화"되어 강제 종료됩니다. 자정 이후에는 많은 시간과 신경을 곤두세우고 있습니다.

3. 영구적으로 작동하는 TF H4에 데모 계정이 출시되었습니다.

질문: 영구적으로 항목 2에 따라 Expert Advisors를 실행하는 방법, 이제 컴퓨터에 이를 수행하기에 충분한 가상 메모리가 없습니다. 해야 할 일: RAM을 늘리고 컴퓨터를 변경하십시오. 듀얼 코어 또는 더 강력한 노트북을 찾고 계십니까? 아니면 다른 조직 또는 프로그램 솔루션이 있습니까?

항목 2는 부흥의 주제에 대해 명확하지 않습니까? 인공 호흡을 하거나 암모니아가 코를 킁킁거린다고 말합니다.

RAM을 늘리는 것이 가장 저렴하고 효과적인 방법으로 필요에 따라 사용하고 있습니다. RAM이 많을수록 모든 것이 더 빠르게 움직입니다. 글쎄, 만약 전자가 더 이상 인용되지 않는다면, 나머지 아이언의 업그레이드. 한 컴퓨터에서 너무 많은 작업을 수행하는 두 개의 코어로는 충분하지 않습니다.

 
yosuf :

어드바이저의 원활한 운영을 위해 상황 해결을 도와주시거나 조언 부탁드립니다. 상황은 다음과 같습니다.

1. 36명의 고문이 TF D1의 21개 상품에 대해 작업하는 실제 소액 계정이 시작되었습니다. 거래 주간에는 꺼지지 않습니다.

2. D1에서도 별도의 데모 계정에 58명의 Expert Advisors가 추가로 출시되었습니다. 매일 00-00 DC 서버 시간부터 시작하여 거래 결정을 내린 후 1-3분 이내에 번갈아 "활성화"되어 강제 종료됩니다. 자정 이후에는 많은 시간과 신경을 곤두세우고 있습니다.

3. 영구적으로 작동하는 TF H4에 데모 계정이 출시되었습니다.

질문: 영구적으로 항목 2에 따라 Expert Advisors를 실행하는 방법, 이제 컴퓨터에 이를 수행하기에 충분한 가상 메모리가 없습니다. 해야 할 일: RAM을 늘리고 컴퓨터를 변경하십시오. 듀얼 코어 또는 더 강력한 노트북을 찾고 계십니까? 아니면 다른 조직 또는 프로그램 솔루션이 있습니까?

또 다른 조직 솔루션은 VPS (가상 사설 서버)입니다.

다른 소프트웨어 솔루션(동일한 어드바이저가 다른 쌍에 있는 경우)은 어드바이저에서 다중 통화를 만드는 것입니다.

 
Reshetov :

항목 2는 부흥의 주제에 대해 명확하지 않습니까? 인공 호흡을 하거나 암모니아가 코를 킁킁거린다고 말합니다.

RAM을 늘리는 것이 가장 저렴하고 효과적인 방법으로 필요에 따라 사용하고 있습니다. RAM이 많을수록 모든 것이 더 빠르게 움직입니다. 글쎄, 만약 전자가 더 이상 인용되지 않는다면, 나머지 아이언의 업그레이드.

즉, 차례로 1-3분 동안 켜졌다가 1일 동안 다시 꺼집니다. 당신이 그들을 즉시 켜면. 예를 들어, 10개 이상, comp. 실패하기 시작하고 시간이 한두 조각 이상 손실됩니다. 감사합니다. RAM을 늘려 보겠습니다. 하지만 얼마나 늘려야 하는지 알아야 합니까? 아니면 시행착오를 거쳐 진행하시겠습니까?