BrainSystem: Desarrollo de sistemas de trading y operaciones - página 15

 
jpsdyb:
Me di cuenta de 1 minuto 0 segundos para el final de la barra.

¿Qué estás usando para mostrar esta información?

Gracias

nada, es solo un indicador que muestra el tiempo restante hasta el cierre de la barra, aqui esta el indicador, puedes usarlo, algunas estrategias como el CCI de woodi usan el tiempo restante hasta el cierre de la barra para abrir una orden.

¿ok?

Archivos adjuntos:
 

¡¡Kamyar, un millón de gracias!!

también alguien sabe cómo agregar habilitar la alerta a BrainTrendSig2? traté de modificar el script y metaeditor compilar prueba 0 errores y 0 advertencias. Pero todavía no funciona, y estoy confundido en cuanto a por qué. Sé que hay que cambiar las alertas de habilitación a 1, pero es el propio indicador como el problema. No se carga correctamente.

Gracias

//+------------------------------------------------------------------+

//| BrainTrend2.mq4 |

//| www.forex-tsd.com |

//| Nick Bilak |

//+------------------------------------------------------------------+

#property copyright "BrainTrading Inc."

#property link "www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Blue

#property indicator_color2 Red

//---- input parameters

extern int NumBars=500;

extern int EnableAlerts=0;

extern int SignalID=0;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double spread;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_ARROW);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexArrow(0,233);

SetIndexStyle(1,DRAW_ARROW);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexArrow(1,234);

spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start() {

int counted_bars=IndicatorCounted();

//----

int artp=7;

double dartp=7.0;

double cecf=0.7;

int satb=0;

int Shift=0;

bool river=True;

double Emaxtra=0;

double widcha=0;

double TR=0;

double Values[100];

int glava=0;

double ATR=0;

int J=0;

double Weight=0;

double r=0;

double r1=0;

int p=0;

int Curr=0;

double Range1=0;

double s=2;

double f=10;

double val1=0;

double val2=0;

double h11=0;

double h12=0;

double h13=0;

double const=0;

double orig=0;

double st=0;

double h2=0;

double h1=0;

double h10=0;

double sxs=0;

double sms=0;

double temp=0;

double h5=0;

double r1s=0;

double r2s=0;

double r3s=0;

double r4s=0;

double pt=0;

double pts=0;

double r2=0;

double r3=0;

double r4=0;

double tt=0;

double tsig=0;

if( Bars < NumBars) satb = Bars; else satb = NumBars;

if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False;

Emaxtra = Close[satb - 2];

Shift=satb-3;

while(Shift>=0) {

TR = spread+ High[Shift] - Low[Shift];

if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);

if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR) TR = MathAbs(Low[Shift] - Close[Shift + 1]);

if (Shift == satb - 3 ) {

for(J=0;Shift<=artp-1;J++) {

Values[J] = TR;

}

}

Values[glava] = TR;

ATR = 0;

Weight = artp;

Curr = glava;

for (J = 0;J<=artp - 1;J++) {

ATR += Values[Curr] * Weight;

Weight -= 1.0;

Curr--;

if (Curr == -1) Curr = artp - 1;

}

ATR = 2.0 * ATR / (dartp * (dartp + 1.0));

glava++;

if (glava == artp) glava = 0;

widcha = cecf * ATR;

if (river && Low[Shift] < Emaxtra - widcha) {

river = False;

Emaxtra = spread+ High[Shift];

}

if (!river && spread+ High[Shift] > Emaxtra + widcha) {

river = True;

Emaxtra = Low[Shift];

}

if (river && Low[Shift] > Emaxtra) {

Emaxtra = Low[Shift];

}

if (!river && spread+ High[Shift] < Emaxtra ) {

Emaxtra = spread+ High[Shift];

}

Range1 = iATR(NULL,0,10,Shift);

val1 = 0;

val2 = 0;

if (river) {

if (p != 1) r1 = Low[Shift] - Range1 * s / 3.0;

if (p == 1) r1 = -1.0;

if (r1 > 0) {

val1 = r1;

val2 = 0;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer1[Shift]=val1;

p = 1;

} else {

if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;

if (p == 2) r1 = -1.0;

if (r1 > 0) {

val1 = 0;

val2 = r1;

} else {

val1 = 0;

val2 = 0;

}

ExtMapBuffer2[Shift]=val2;

p = 2;

Shift--;

}

}

if (EnableAlerts == 1)

{

if (val1 > 0 && tsig != 1)

{

tsig = 1;

// a1 = FileOpen("alert1" + SignalID,";");

Alert("BrainTrend2Sig", "Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

//a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

// FileClose(a1);

}

if (val2 > 0 && tsig != 2)

{

tsig = 2;

Alert("BrainTrend2Sig", "Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//a1 = FileOpen("alert1" + SignalID,";");

// a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

// FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());

//FileClose(a1);

}

}

//----

return(0);

}

//+------------------------------------------------------------------+
 

Todavía tengo la esperanza de que tendremos EA para este sistema para la alarma, la confirmación y para todo (no para el comercio). En este caso será muy fácil operar con este sistema. Creo que lo tendremos pronto.

Pero ahora estoy pensando en cómo utilizar este sistema sin confirmación M15 y en el marco de tiempo menos de H1.

Ahora mismo estoy buscando en los gráficos M30 y espero que funcione.

De todos modos voy a hacer la prueba de avance a partir de mañana. Pero creo que será necesario cambiar algunas reglas para esta estrategia de comercio.

Archivos adjuntos:
1_23.gif  30 kb
2_16.gif  31 kb
3_6.gif  32 kb
4_4.gif  30 kb
 

Por favor, encontrar los indicadores y la plantilla que quiero evaluar.

Todavía espero encontrar algunas reglas para este sistema de comercio en M15 o M30 marco de tiempo.

Archivos adjuntos:
indicators.zip  16 kb
bt7_m30.zip  4 kb
 

Bueno.

Sólo quiero ver cómo funciona.

Las reglas #1.

Entrar en BT1sig y BT2 sig. No debe estar en la misma barra especialmente. Y debe ser confirmado por el SAR y el indicador I-XO. Podemos esperar una barra más después de la señal para la confirmación de I-XO. BT1sig y BT2sig deben ser confirmados por el SAR en las mismas barras con las señales. Por ejemplo, si tenemos una señal de compra de BT1sig (por ejemplo) buscamos el SAR. Si se trata de una tendencia alcista para el SAR en la misma barra con la señal estamos esperando BT2sig (por ejemplo). La segunda señal debe ser confirmada por el SAR también. Si todo está bien, esperamos la confirmación de I-XO (no más de 1 barra después de la última señal). Es el caso más difícil. Por supuesto, si tenemos todo (dos señales y dos confirmaciones en la misma barra) es perfecto.

Estamos tomando en cuenta las barras completas solamente.

El caso más difícil ya lo he descrito y se puede ver en la imagen 1.

La salida es en SAR muy simple (imagen 2).

Son reglas muy simples y flexibles.

¿Por qué las reglas #1?

Porque no estoy seguro de que vayamos a tener estas reglas finalmente. Todo el mundo puede sugerir otras reglas, o yo puedo cambiar esta.

Archivos adjuntos:
2_17.gif  28 kb
1_24.gif  28 kb
 

A partir del viernes por la mañana deberíamos tener lo siguiente:

EURUSD.

comprar 1,2127 a las 19:30 (20/01) y salir de 1,2233 a las 06:30 (23/01): +106 p.

comprar 1,2259 a las 10:30 (23/01) y salir de 1,2285 (la orden puede estar aún abierta): +26 p.

USDCHF.

vender 1,2820 a las 14:30 (20/01) y salir de 1,2666 a las 07:30 (23/01): +154 p.

vender 1,2628 a las 10:30 (23/01) y salir de 1,2233 (la orden puede seguir abierta): +54 p.

GBPUSD.

comprar 1,7583 a las 10:30 (20/01) y salir de 1,7794 a las 05:00 (23/01): +214 p.

vender 1,7763 a las 08:30 (23/01) y salir de 1,7798 a las 10:30 (23/01): -35 p.

comprar 1,7798 a las 10:30 (23/01) y salir de 1,7866 (la orden puede seguir abierta): +68 p.

USDJPY.

comprar 155,32 a las 16:30 (20/01) y salir de 155,14 a las 00:00 (23/01): -18 p.

vender 114,79 a las 02:00 (23/01) y salir de 114,78 a las 10:00 (23/01): +1 p.

vender 114,30 a las 10:30 (23/01) y salir 114,62 a las 16:00 (23/01): -32 p.

538 p en total.

Creo que esta regla #1 es demasiado flexible.

Puede ser.

 

Sería muy bueno si alguien estimara otras reglas (con otro posible indicador si lo hubiera). Pero creo que las reglas deben ser realistas. Por ejemplo yo conté el beneficio en datos históricos (eso no es bueno por supuesto porque debería ser una prueba a futuro) pero lo conté como un robot (como un EA por ejemplo) siguiendo completamente las reglas. Utilicé datos históricos sólo para estar seguro de que funciona.

 

hola newdigital

gracias por tu esfuerzo.tengo algunas preguntas

1.¿Qué es el deber indicador estocástico en su sistema?

2. ¿Debemos obtener primero la señal bt1 y luego la señal bt2 o puede ser de cualquier tipo?

3. ¿Qué es exactamente las zonas llenas? Creo que quieres decir que no debemos operar en las zonas.

gracias

 

mencionaste que las señales de bt no deben estar en la misma barra.por lo que entendí no debemos operar en este caso.lo describiste.estoy en lo cierto?

 
newdigital:
Estaría muy bien si alguien estimara otras reglas (con otros posibles indicadores si los hubiera). Pero creo que las reglas deben ser realistas. Por ejemplo, conté el beneficio en los datos históricos (que no es bueno, por supuesto, porque debe ser la prueba de futuro), pero lo conté como un robot (como un EA, por ejemplo) siguiendo plenamente las reglas. Utilicé datos históricos sólo para estar seguro de que funciona.

Actualmente estoy probando una nueva estrategia en Eur/Usd 1HR usando Braintrend2, Stochastics, y 2 indicadores de color LSMA. Hasta el momento repasando los gráficos históricos, los resultados parecen ser bastante valiosos. Las reglas son bastante simples de usar. Si tuviera BraintrendSig2 con alertas, podría hacer pruebas más frecuentes. Seguiré probando la estrategia y publicaré los resultados pronto.