[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 41

 
hoz:

Ha surgido una pregunta curiosa. Por ejemplo, decido abrir una orden de compra sobre una condición:

1. el rápido ha cruzado el lento2 de abajo a arriba. (Lo importante no es el momento del cruce, sino que la onda rápida1 sea mayor que la onda lenta2).

2. La vela tocó el 1 rápido, así que abrimos una orden de compra.

He pensado en ello, y por eso entiendo que hay que crear condiciones que si el precio de la vela es aproximadamente igual al precio de la onda rápida1 aparentemente con alguna desviación especificada, ¿no?

Básicamente, ya que la vela está actualmente en la parte superior una vez que la rápida cruza la lenta desde la parte inferior, entonces sobre necesitamos comparar el bajo de la vela con el precio de la rápida?

es decir

Pero en este caso no se tiene en cuenta que es poco probable que la vela esté exactamente en el precio de la iMA(rápida), porque el precio puede saltar rápidamente a través de ella e ir más allá o rebotar. Por lo tanto, tenemos que especificar algún rango.

¿Cómo hacerlo correctamente?

¡Leer todo y ajustar/corregir!

  • SOLUCIONES DE SOFTWARE
¿Por dónde empiezo como principiante?
¿Cómo puedo encontrar el precio del último fractal?
¿Cómo puedo obtener una señal cuando dos MAs se cruzan?

¿Cómo compruebo el cruce de MA con respecto a la divergencia requerida?

...


 
Twilight:

Se redibujará visualmente.

Recorre las últimas N barras y si hubo una señal entonces signal=true

Y luego puedes hacer lo que quieras con cualquier otro indicador no redibujable.

PostMessageA (WindowHandle(Symbol(), Period()), 0x0111, 33324, 0);

¿Dónde insertar? ¿Al inicio de Start?

Gracias.


Silatyt:

Antes de llamar al indicador (también se puede poner al principio de start()).

P.D. Todo el mundo "huye" de la redistribución, y usted está detrás de ella, de forma poco convencional... :))


Otra pregunta, tengo 2 gráficos de una misma moneda abiertos y se redibuja en todas las ventanas a la vez, ¿cómo hacer que se redibuje sólo en 1 ventana? ¿Puede buscar por Hendle?

¿Puede proporcionarme un código y un ejemplo?

 
 
hoz:

No me interesa comprobar si hay un cruce de MA, necesito abrir una orden cuando la MA sea tocada por una vela...

IMHO
Condición más o igual a Bid >= iMA (...) si se toca de abajo hacia arriba y se comprueba en cada tick.

O comprueba que Higth[0] de una barra es mayor o igual que >-iMA (...).

O CLOSE[0] y lo mismo.

if (fast0>=slow0 && Close[0]>=fast0) Print("Crossing UP");

Comprar

 
hoz:

No me interesa comprobar los cruces de MA, necesito abrir una orden cuando una vela toque la MA...


if (MA на первом баре < Low [1]) 
   if (MA на нулевом баре >= Bid) {то входите в бай, если на отбой от МА}
 
Twilight:



Es algo así.

En resumen, así es como debe hacerse:

hparent=WindowHandle(Symbol(),Period());         // нашли хэндл графика скрипта
hparent= GetAncestor( hparent,2);                  // нашли основное окно
hactiv= GetDlgItem( hparent,0xE900);               // нашли окно с графиками
hactiv= GetWindow( hactiv, GW_CHILD);               // нашли 1-ое дочернее окно, оно текущее
// пробежать по остальным окнам
while( hactiv>0) {
   hactiv= GetWindow( hactiv, GW_HWNDNEXT);         // нашли следующее дочернее окно
}
Entonces
GetWindowTextA(hactiv,name,10);            // получили описание окна;

Analícelo, compárelo y obtenga lo que busca.

 
Roman.:

if (MA на первом баре < Low [1]) 
   if (MA на нулевом баре >= Bid) {то входите в бай, если на отбой от МА}


Roman, eso es lo que estaba preguntando. De hecho, estaba pensando en lo mismo, pero quería asegurarme de que pensaba correctamente consultando a los profesionales. Gracias.

 
Hola a todos ... chicos Por favor, dime lo que está mal ... mi código de dos líneas no quiere zumbido .

#property copyright "Copyright © 2012"
#property link      "Не ссать  против ветра "
 
 extern bool       Будильник      = true ;
 extern string SoundFile      =  "News.wav";
 
int start ()                                  
{
 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,0); 
 
if (Будильник ==true)
{

  {
 if ( a > b ) 
       
 {  
  Alert("BUY");
  PlaySound(SoundFile);
  Sleep(100000);
  }
 }
}


return(0);}
aquí hay un extracto del propio indicador
extern int period=21;
extern int method=0;
extern int precio=0;
 
odiseif:
Hola a todos ... chicos, dime lo que está mal ... mi código de dos líneas no zumbido .(
aquí es un extracto del propio indicador
extern int period=21;
extern int method=0;
extern int precio=0;

A la llamada del indicador le falta una variable: ¡¡¡el buffer!!!

 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN, N_Buf, 0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN, N_Buf, 0);
 
TarasBY:

Falta una variable en la llamada al indicador: ¡¡¡el buffer!!!


Se llaman tres topes en el indicador...gracias...lo probaré de las dos maneras...quizás funcione por intuición.