[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 252

 
El vídeo es estupendo.
 
//+------------------------------------------------------------------+
//|                                          поиск вульфа Димона.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#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
#property show_inputs
#import "user32.dll"
        int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
        void keybd_event(int bVk,int bScan,int dwFlags,int dwExtraInfo);
#import
#define WM_COMMAND 0x0111
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; 
//+------------------------------------------------------------------+
//| 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);  }
    else pereklutsatel=pereklutsatel+1;  Sleep(10000);       int hwnd;
   if (vulf!=1&&pereklutsatel==1) {timeframe=15;hwnd=WindowHandle(Symbol(),Period());
                                    PostMessageA(hwnd,WM_COMMAND,33139,0);
                                    Sleep(10000);
                                     }  
   if (vulf!=1&&pereklutsatel==2) {timeframe=30;hwnd=WindowHandle(Symbol(),Period());
                                   PostMessageA(hwnd,WM_COMMAND,33140,0);
                                   Sleep(10000); 
                                   } 
   if (vulf!=1&&pereklutsatel==3) {timeframe=60;hwnd=WindowHandle(Symbol(),Period());
                                   PostMessageA(hwnd,WM_COMMAND,35400,0);
                                    Sleep(10000);
                                     }  
   if (vulf!=1&&pereklutsatel==4) {timeframe=240;hwnd=WindowHandle(Symbol(),Period());
                                    PostMessageA(hwnd,WM_COMMAND,33136,0);
                               Sleep(10000);
                                }  
   if (vulf!=1&&pereklutsatel==5) {timeframe=1440;hwnd=WindowHandle(Symbol(),Period());
                                   PostMessageA(hwnd,WM_COMMAND,33134,0);
                             Sleep(10000); 
                              }  
   if (vulf!=1&&pereklutsatel==6) {timeframe=10080;hwnd=WindowHandle(Symbol(),Period());
                                   PostMessageA(hwnd,WM_COMMAND,33141,0);
                               Sleep(10000);
                                }  
   if (vulf!=1&&pereklutsatel==7) {Comment ("  Нет вульва!!! "  , "  timeframe " , timeframe);K=K+50;return(0); }                                               }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Hola, ¿podríais decirme cómo expresar el precio de la última barra cerrada? Al fin y al cabo, ¿son los precios de compra y venta del momento?
 
Cerrar[1]
 

¡¡¡Grandioso!!! ¡¡Así es como se puede utilizar la actualización!!

Sí, así es, el verdadero, veo que el FAQ ya ha respondido. ¡¡¡¡¡Por cierto, gracias!!!!!

 
skyjet:
Hola, ¿podríais decirme cómo expresar el precio de la última barra cerrada? Al fin y al cabo, la oferta y la demanda son los precios del momento actual.
La pregunta es indefinida -- la respuesta es ambigua, elija --> Close[1], High[1], Low[1], Open[1], (High[1]+Low[1])/2, ...
 
FAQ:
Cerrar[1]
¡Muchas gracias! ¿Cómo expreso los puntos? ¿Sólo escribir +5?
 

Para expresar el número de puntos, hay que dividir por Punto. Parece que se trata de una de las llamadas variables predefinidas, que es el tamaño de un solo punto. Oh, no, no, no es eso. Digamos que tiene un valor de precio determinado, digamos 1,2244. Si quieres añadir 5 puntos al precio, tienes que escribirlo como 1,2244+(5*Punto), será 1,2249. ¿Lo entiendes?


 
Dimka-novitsek:

Para expresar el número de puntos, hay que dividir por Punto. Parece que se trata de una de las llamadas variables predefinidas, que es el tamaño de un solo punto. Oh, no, no, no es eso. Digamos que tiene un valor de precio determinado, digamos 1,2244. Si quieres añadir 5 puntos al precio, tienes que escribirlo como 1,2244+(5*Punto), será 1,2249. ¿Lo entiendes?


Ahora todo tiene sentido, ¡muchas gracias!