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

 
Dimka-novitsek :

포인트 수를 표현하려면 포인트로 나누어야 합니다. 소위 말하는 것 같습니다. 미리 정의된 변수, 이것은 한 점의 크기입니다. 아, 아니, 아니야, 악마를 쫓는 거야, 그런 게 아니야. 1.2244라는 특정 가격 값이 있다고 가정해 보겠습니다. 가격에 5 pp를 추가하려면 1.2244+(5*Point)와 같이 작성해야 하며 1.2249가 됩니다. 당연하게도?


모든 것이 제자리에 떨어졌습니다. 대단히 감사합니다!
 

칠면조에 함수를 삽입할 수 없습니다. (' - 예상치 못한 C:\terminal\experts\indicators\Indžkkadimon mq4 (142, 19) 감지 기능

그는 무엇이 부족합니까? '(' - 예기치 않은 함수 정의 C:\Terminal\experts\indicators\Indzhekimona .mq4 (142, 19)

 //+------------------------------------------------------------------+
//|                                                 ИндюкДимона .mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

#property link       "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 DarkBlue
#import "user32.dll"
   int    PostMessageA( int   hWnd, int   Msg, int   wParam, string lParam);
#import
#define WM_COMMAND                     0x0111
int delimiter = 0 ;



double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 extern int T= 4 ,K= 200 ;
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
 int pereklutsatel;
double naklon,linija2; int P;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()

  { SetIndexStyle ( 0 , DRAW_SECTION , STYLE_SOLID , 2 , CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 0 ,ВерхняячертаBuffer1); //Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue ( 0 , 0.0 );
   
   SetIndexStyle ( 1 , DRAW_SECTION , STYLE_SOLID , 2 , CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 1 ,НижняячертаBuffer2); //Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue ( 1 , 0.0 );
   
   SetIndexStyle ( 2 , DRAW_SECTION , STYLE_SOLID ,T, CLR_NONE ); //Alert ("SetIndexStyle ",GetLastError( ) );
   SetIndexBuffer ( 2 ,СинняячертаBuffer3); //Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue ( 2 , 0.0 );
//---- indicators




//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int     counted_bars= IndicatorCounted ();
   
   for ( int J= 0 ;J<= 49 ;J++){
//----

   // for(int i=Bars; i>=0;i--)
   int i= Bars ;
      бар_вершина= iHighest ( NULL ,  timeframe, MODE_HIGH, K, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения= iLowest ( NULL ,  timeframe, MODE_LOW, NormalizeDouble ( бар_вершина/ 2 , 0 ), start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало= iLowest ( NULL ,  timeframe, MODE_LOW, NormalizeDouble (бар_вершина* 1.5 , 0 ), бар_вершина ) ;
       начало=Low[ бар_начало ];
       
       //   Alert ( " бар_вершина   ",бар_вершина  , " вершина  " , вершина ,
       //    " бар_основание_первого_снижения  " ,бар_основание_первого_снижения  , " основание_первого_снижения  " , основание_первого_снижения , 
       //    " бар_начало  " , бар_начало   , " начало  " , начало    );
   if (начало>основание_первого_снижения){naklon=(начало-основание_первого_снижения)/(бар_начало-бар_основание_первого_снижения);
 // Alert("naklon  ", naklon);
    НижняячертаBuffer2[бар_начало]=начало;linija2=начало; for (i=бар_начало- 1 ;i>= 0 ;i--){linija2=linija2-naklon;
   //  Alert ("linija2  " , linija2 );
    НижняячертаBuffer2[i]=linija2;
   //  Alert("НижняячертаBuffer2[i]  ", НижняячертаBuffer2[i] , "  i " , i);
   }
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;}
    
    
         for (i= 0 ;i< 100 ;i++){  СинняячертаBuffer3[i]= Open[i];}
           for (i= 330 ;i< 500 ;i++){  СинняячертаBuffer3[i]= Open[i];}

     ВерхняячертаBuffer1[бар_начало]=начало;
     
 double точка 4 ; int бар_точка 4 ;   бар_точка 4 = iHighest ( NULL ,  timeframe, MODE_HIGH, бар_основание_первого_снижения, 3 ) ; 
  точка 4 =High[ бар_точка 4 ];  
   
   if (вершина>точка 4 ){naklon=(начало-точка 4 )/(бар_начало-бар_точка 4 );  
   double linija1=начало; for (i=бар_начало- 1 ;i>= 0 ;i--){linija1=linija1-naklon;ВерхняячертаBuffer1[i]=linija1; }}
   
 double vulf=НижняячертаBuffer2[ 0 ];
   if ( vulf==Ask&&vulf==Bid)vulf= 1 ;
   else { for (vulf=vulf+ Point * 10 ; vulf==НижняячертаBuffer2[ 0 ];vulf=vulf- Point ){
           if ( vulf==Ask&&vulf==Bid){vulf= 1 ;}} 
       for (vulf=vulf- Point * 10 ; vulf==НижняячертаBuffer2[ 0 ];vulf=vulf+ Point ){
           if ( vulf==Ask&&vulf==Bid)vulf= 1 ;} 
              
           
           
           }
           
           
   if (vulf== 1 ){ Comment ( "  Есть вульв!!! "   , "  timeframe " , timeframe); return ( 0 );  }
   
   if (vulf!= 1 &&pereklutsatel== 1 ) {    
   
     if (delimiter< 3 ){delimiter++; Comment (delimiter); return ( 0 );}
   delimiter= 0 ;
    fChangePeriod();P++;
                                 
                   }  
 if (P> 8 ){  K=K+ 50 ; return ( 0 );P= 0 ; }    
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+


void fChangePeriod(){ int ii,hwd = WindowHandle ( Symbol (), Period ());
   switch ( Period ()){
       case PERIOD_W1     : ii = 33134 ; break ; //PERIOD_D1;
       case PERIOD_D1     : ii = 33136 ; break ; //PERIOD_H4;
       case PERIOD_H4     : ii = 33135 ; break ; //PERIOD_H1;
       case PERIOD_H1     : ii = 33140 ; break ; //PERIOD_M30;
       case PERIOD_M30    : ii = 33139 ; break ; //PERIOD_M15;
       case PERIOD_M15    : ii = 33138 ; break ; //PERIOD_M5;
       case PERIOD_M5     : ii = 33137 ; break ; //PERIOD_M1;
       case PERIOD_M1     : ii = 33141 ; break ; //PERIOD_W1;
   }     
   PostMessageA(hwd, WM_COMMAND, ii, 0 );
   return ;
}
 
알려주십시오. 통화에서 지수(바구니)를 백분율로 계산하는 지표가 이미 있을 수 있습니다.
예를 들어
유로 37.4
일본 엔 9.4
파운드 스털링 11.3
미국 달러 41.9
 

안녕하세요 여러분, "mikahekin" 표시기가 표시된 버퍼를 어떻게 변경하는지 초보자에게 알려주십시오. 그리고 트렌드가 바뀔 때 그가 소리치도록 " 알림 " 기능을 거기에 밀어 넣는 방법은 무엇입니까?

Z.Y. 아래 표시기.

파일:
 

암호에 있는 확장자가 ex4인 파일을 크랙할 수 있는지 알려주십시오. 그리고 전문가가 해킹당하지 않도록(물론 가능하다면) Kovalev의 교과서에 쓰여진 비밀번호 외에 무엇을 할 수 있습니까?

고맙습니다.

 
Skander :

_ 그리고 전문가가 해킹당하지 않도록(물론 가능하다면) Kovalev의 교과서에 쓰여진 비밀번호 외에 무엇을 할 수 있습니까?

휴식을 취하세요. 그것은 중요하지 않습니다. 어떤 고문도 시장을 바꾸지 않을 것이며 시장에 있는 모든 사람은 돈을 벌 수 없으며 불가능합니다.
 
Skander :

암호에 있는 확장자가 ex4인 파일을 크랙할 수 있는지 알려주십시오.

할 수 있다.
 

안녕하세요 프로님! 말해 주세요. 이동 평균 전문가 조언자를 테스트하여 최상의 옵션을 찾았습니다. 주말이 지난 후 테스터가 오류 131이 잘못된 볼륨이라고 밝혔지만 그 전에는 모든 것이 정상이었습니다...플랫폼으로 테스트했습니다. MetaQuotes Software Corp.

 
Zhunko :

이 스크립트는 저에게 효과적입니다.

이 Expert Advisor는 이상하게 작동합니다. 작동하지 않는다고 말할 수 있습니다. 자체적으로 TF는 M5까지만 전환합니다.

자연 틱을 기다리겠습니다. 문제가 어디에서 왔는지 명확하지 않습니다. 새로운 MT4 빌드에서 무언가가 변경되었습니다.

전문가 코드가 엉망입니다. 루프 EA는 자체적으로 TF를 전환하지만 코드는 까다롭습니다.

더 쉽게 할 수 있습니다. 이것은 오프라인 일정 업데이트에 액세스할 수 있는 사람들을 위한 것입니다(토요일과 일요일에 작동함):

 #include <ServicesMT4.mqh>
int g_hwndChart = NULL ;
int g_nCounter = 0 ;

void init()
 {
  g_hwndChart = WindowHandle ( Symbol (), Period ()); // Получаем системный дескриптор графика.
   if ( UninitializeReason () == 0 ) ServiceRefreshChart(g_hwndChart, 2000 ); // Запускаем обновление графика каждые 2 секунды.
 }

void deinit()
 {
   if ( UninitializeReason () == REASON_REMOVE || UninitializeReason () == REASON_CHARTCLOSE )
   {
    ServiceStopRefreshChart(g_hwndChart); // Останавливаем обновление.
   }
 }

void start()
 {
  ServiceSetTimeframeByNumber(g_hwndChart, g_nCounter % 9 );
  g_nCounter++;
  Sleep ( 2000 );
 }
오프라인 차트 업데이트에 액세스할 수 없는 사용자를 위한 것입니다.
 #include <ServicesMT4.mqh>
int g_hwndChart = NULL ;
int g_nCounter = 0 ;

void init()
 {
  g_hwndChart = WindowHandle ( Symbol (), Period ()); // Получаем системный дескриптор графика.
 }

void start()
 {
  ServiceSetTimeframeByNumber(g_hwndChart, g_nCounter % 9 );
  g_nCounter++;
  Sleep ( 2000 );
 }

또는 다음과 같이:

 #include <ServicesMT4.mqh>
int g_nCounter = 0 ;

void start()
 {
  ServiceSetTimeframeByNumber( WindowHandle ( Symbol (), Period ()), g_nCounter % 9 );
  g_nCounter++;
  Sleep ( 2000 );
 }

글쎄, 당신은 Rustam에게 무슨 말을합니까? 적어도 지난 2일 동안 Expert Advisor에서 TF 전환 코드를 본 사람이 있습니까? 당신은 자신을 프로라고 생각하지만 그것을 알아낼 수 없었습니다. 간단한 코드에서 오류를 보지 못했습니다. 그러나 그는 다른 사람의 발전을 비방하는 데 성공했습니다.

 

Vadim, 아무도 당신의 쿨함을 의심하지 않습니다. 이 모든 것이 질문자가 시작한 간단한 API 도구를 사용하여 수행할 수 있다는 것을 의미했습니다. 결과가 얼마 남지 않았습니다.

나에 관해서는 모든 것이 항상 전환되고 작동하며 다음과 같이 해야 합니다.

>