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
Declaración actualizada.
Casi se duplica el capital en una semana.
v1.60
Voy a cambiar el tamaño del lote a 2 a partir de ahora.
Pantalla del ATR_normalizado
Igor se me olvidó adjuntar la pantalla del ATR_normalized a la respuesta anterior. Aquí la tienes.
Hola,
Traté de crear ATR normalizado pero creo que no es una tarea tan simple.
Así que puedes intentar jugar con las entradas.
Igor
PS. Lo siento, pero el error estaba en el código. Arreglado.Igor, muchas gracias por el ATR normalizado. Se ve bien, con la excepción de que nunca baja de 30 (escala 0-100). Si miras la pantalla adjunta verás que el iATR va a 0 mientras que el ATR_normalizado se mantiene alrededor de 35. En todos los casos en que iATR llega a cero aunque sea por un rato, ATR_normalized se mantiene por encima de 30. ¿Puedes arreglarlo, por favor? Además, ¿no sería más fácil crear usando el iATR y el iMA nativos? Tal vez eso sería más fácil y puedo usar el código en CT como un filtro.
Hola,
prueba este. Debe estar bien.
Hola, prueba esto. Debe estar bien.
Ok, voy a probar este. Además, he podido hacer este de forma muy sencilla:
double normATR=0;
double maxATR=iATR(Symbol(),Period(),14,0);
int i;
for(i=1;i<14;i++)
{
if(iATR(Symbol(),Period(),14,i)>maxATR)
{
maxATR=iATR(Symbol(),Period(),14,i);
}
}
normATR=(iATR(Symbol(),Period(),14,0)/maxATR)*100;
Esto parece funcionar bien también. ¡¡¡Gracias por tu ayuda!!!
Ahora mismo estoy probando la última versión y he encontrado algunos fallos, así que por favor, esperad a las actualizaciones.
Igor, ¿puedes publicar tu versión con las correcciones para el temporizador PIP? No funciona correctamente en la forma actual. Se inicia el PIPcounter en la entrada y se sale después de que el tiempo se ha terminado, independientemente de cualquier beneficio obtenido. Por favor, pruebe en ticks en lugar de segundos, ya que la segunda cuenta es asíncrona con los ticks que entran. Gracias por su contribución.
Aquí están las especificaciones de nuevo y también el código que tengo hasta ahora como lo escribiste originalmente con pocos mods:
1. Si EnablePIPTimer=true;
2. Cuando MinPIPProfit >=X activa TakePIPCountdown (SET a Input TakePipTimer). Esto comienza a contar hacia abajo a 0 en ticks.
3. TakePIPCountDown cuenta hacia abajo: 60, 59, 58..ticks etc.
4. Declare la variable global double BestPIPProfit=0; esta contiene el mejor beneficio PIP que la posición ha alcanzado hasta ahora.
5. Haga que BestPIPProfit=MinPIPProfit inicialmente;
6. Obtener BestPIPProfit=beneficio PIP actual
7. Si BestPIPProfit > MinPIPProfit haga MinPIPProfit = BestPIPProfit (este será el beneficio PIP mínimo ACTUALIZADO de ahora en adelante para esta posición abierta).
8. Cuando la condición anterior # 7 sucede reiniciar TakePIPCountDown al valor inicial (TakePipTimer) y habilitarlo para el conteo..es contar de nuevo 60, 59, 58 ticks etc. hasta 0 con el nuevo piso MinPIPProfit.
9. Una vez que el TakePIPCountDown llega a 0 CERRAR la orden abierta inmediatamente.
10. 10. Si el beneficio actual del PIP está por debajo de MinPIPProfit, detenga el TakePIPCountDown (y restablezca el valor original del TakePipTimer) hasta que el beneficio actual vuelva a ser >= MinPIPProfit (el suelo más alto alcanzado) durante esta ejecución.
CÓDIGO:
int CheckTakeProfitTimer()
{
double _point = MarketInfo(OrderSymbol(),MODE_POINT);
double PipProfit = 0;
if (EnablePipTimer==true)
{
for (int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
int mode=Tipo de orden();
if ( OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
si (mode==OP_BUY)
PipProfit = MathRound((Bid - OrderOpenPrice())/_point); // Calcular el beneficio/perdida de la apertura para la COMPRA
si no
si (mode==OP_SELL)
PipProfit = MathRound((OrderOpenPrice()-Ask)/_point); // Calcular la ganancia/pérdida abierta para la VENTA
MaxPipProfit = MathMax(PipProfit,MaxPipProfit); // Obtener el mayor beneficio, ya sea actual o máximo durante la operación
if (MaxPipProfit >= BestPipProfit) // comprobar si se ha alcanzado el beneficio PIP mínimo
{
if (!StartCount1 || ( StartCount1 && BestPipProfit > MinPipProfit)) // no hay recuento en curso y se ha alcanzado el beneficio PIP mínimo
{
BestPipProfit=MaxPipProfit; // restablecer el beneficio máximo actual alcanzado hasta el momento
TimerStart1 = CurTime()/1000; // congelar el tiempo actual
TakePipCountDown = TakePipTimer; // inicializar el contador al valor establecido
StartCount1=true; // iniciar el contador
}
else
if (TimerType == 0) // cuenta en curso..cuenta en segundos o tick
{
TakePipCountDown = TakePipTimer - (CurTime()/1000 - TimerStart1); // La opción elegida es el conteo en segundos
}
else
{
TakePipCountDown--; // La opción elegida es el conteo de Ticks
}
} // si (MaxPipProfit..
}// si (Order...
} // para
} // en EnablePipTimer
Arreglado el no comercio en CT 1.85
Lo siento pandilla...había un error en 1.85 que impedía que CT 1.85 negociara después de las horas malas de negociación. Lo he arreglado por ahora hasta que salga la nueva versión y la he llamado 1.85f (arreglada). Por favor, utilice esta versión con los preajustes de 1.85 publicados originalmente. Esta versión es idéntica a la 1.85 y sólo contiene el arreglo de no operar. Deberíamos haber detectado esto antes.
Lo siento pandilla... había un error en la 1.85 que impedía a la CT 1.85 operar después de las horas malas de negociación. Lo he arreglado por ahora hasta que salga la nueva versión y la he llamado 1.85f (arreglada). Por favor, utilice esta versión con los preajustes de 1.85 publicados originalmente. Esta versión es idéntica a la 1.85 y sólo contiene el arreglo de no operar. Deberíamos haber detectado esto antes.
¡No podía entender cómo todos los demás estaban obteniendo resultados tan fabulosos pero yo apenas recibía órdenes!
Hola,
He desarrollado por separado PipTimerExpert. Este Experto puede manejar el comercio de acuerdo a la técnica descrita por fxspeedster. Esta versión incluye un contador de segundos y ticks. Puede utilizarlo para CyberiaTrader.
Hola, he desarrollado por separado PipTimerExpert. Este Experto puede manejar el comercio de acuerdo a la técnica descrita por fxspeedster. Esta versión incluye un contador de segundos y ticks. Puede utilizarlo para CyberiaTrader.
Igor, gracias por tu gran trabajo. Voy a incluir este código y a probarlo. ¡Eres el mejor!