BrainSystem: Desarrollo de sistemas de trading y operaciones - página 15
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Me di cuenta de 1 minuto 0 segundos para el final de la barra.
¿Qué estás usando para mostrar esta información?
Graciasnada, 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?
¡¡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.
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.
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.
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?
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.