Este tipo de lógica se puede aplicar a cualquier algoritmo de comercio diario o comercio oscilante. Aquí está el código para la estrategia.
//working with 5 minute bars here
//should work with any time frame
input:startTradeTime(0930),numOfBarsHHLL(6),stopTradeTime(1200),maxLongEntriesToday(2);
vars: startTime(0),endTime(0),
barCountToday(0),totTrades(0),mp(0),longEntriesToday(0),
periodHigh(-99999999),periodLow(99999999);
startTime = sessionStartTime(0,1);
endTime = sessionStartTime(0,1);
if t = calcTime(startTime,barInterval) Then
begin
periodHigh = -99999999;
periodLow = 99999999;
barCountToday = 1;
totTrades = totalTrades;
end;
if barCountToday <= numOfBarsHHLL Then
Begin
periodHigh = maxList(periodHigh,h);
periodLow = minList(periodLow,l);
end;
barCountToday = barCountToday + 1;
longEntriesToday = totalTrades – totTrades;
mp = marketPosition;
if t <= stopTradeTime and barCountToday > numOfBarsHHLL Then
Begin
if longEntriesToday = 0 then
buy(“InitBreakOut”) next bar at periodHigh + minMove/priceScale stop;
if longEntriesToday = 1 Then
buy(“BetterBuy”) next bar at (periodHigh+periodLow)/2 stop;
end;
if mp = 1 then
if longEntriesToday = 0 then sell(“InitXit”) next bar at periodLow stop;
if longEntriesToday = 1 then sell(“2ndXit”) next bar at periodLow – (periodHigh – periodLow) stop;
SetExitOnClose;
Los conceptos clave aquí son las limitaciones de tiempo y cómo cuento las barras para calcular el primer canal de 30 minutos. He tenido problemas con la función de entradas Hoy de EasyLanguages , así que me gusta cómo lo hice aquí mucho mejor. En la primera barra del día, establecí mi variable totTrades en totalTrades integrado de EasyLanguages (¡observe la diferencia en la ortografía!) La palabra clave TotalTrades se actualiza inmediatamente cuando se cierra una operación.
Entonces, simplemente resto mis totTrades (el número total de transacciones al comienzo del día) de totalTrades. Si se incrementa totalTrades (se cierra una operación)entonces la diferencia entre las dos variables es 1. Asigno la diferencia de estos dos valores a longEntriesToday . Si longEntriesToday = 1, entonces sé que ingresé mucho tiempo y me detuve. Entonces digo, está bien, volvamos largos a un mejor precio: el punto medio. Uso la variable longEntriesToday nuevamente para determinar qué salida usar. Con un poco de suerte, el impulso inicial que nos llevó a posiciones largas al principio volverá al mercado para otra oportunidad.
Es fácil crear un indicador basado en la estrategia
Una vez que desarrolla una estrategia, el indicador que traza los niveles de entrada y salida es muy fácil de derivar. Ya ha hecho los cálculos, solo grafique los valores. Mira esto.
//working with 5 minute bars here
//should work with any time frame
input:startTradeTime(0930),numOfBarsHHLL(6);
vars: startTime(0),endTime(0),
barCountToday(0),periodHigh(-99999999),periodLow(99999999);
startTime = sessionStartTime(0,1);
endTime = sessionStartTime(0,1);
if t = calcTime(startTime,barInterval) Then
begin
periodHigh = -99999999;
periodLow = 99999999;
barCountToday = 1;
end;
if barCountToday <= numOfBarsHHLL Then
Begin
periodHigh = maxList(periodHigh,h);
periodLow = minList(periodLow,l);
end;
if barCountToday < numOfBarsHHLL Then
begin
noPlot(1);
noPlot(2);
noPlot(3);
noPlot(4);
End
Else
begin
plot1(periodHigh,”top”);
plot2((periodHigh+periodLow)/2,”mid”);
plot3(periodLow,”bot”);
plot4(periodLow – (periodHigh – periodLow),”2bot”);
end;
barCountToday = barCountToday + 1;
Entonces, así es como lo haces. Puede usar este código como base para cualquier sistema que quiera probar y volver a ingresar a un mejor precio. También puede usar este código para desarrollar su propia estrategia de ruptura basada en el tiempo. En mi nuevo libro, Easing Into EasyLanguage – the Daytrade Edition, discutiré temas muy similares a los de esta publicación.
Artículo escrito por George Pruitt
Canal de YouTube de Quantified Models
En nuestro canal de YouTube tenemos varios videos disponibles que pueden resultarle muy útiles para desarrollar sistemas de trading.
Esperamos que esta información te haya sido de utilidad.






