if (RSI0<RSIDownLevel&&RSIDownLevel<=RSI1){ TP=NormalizeDouble(Ask+takeprofit*Point,Digits); if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TP,NULL,Magic)==-1)¡Print(GetLastError());
if (positionTPask1>lastTPask1){ if (takeprofit!=0)TPm=NormalizeDouble(Ask+takeprofit*Point,Digits); if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TPm,NULL,Magic)==-1) Print(GetLastError()); }}
Y abro 2 pedidos a un precio a la vez... ¿Es esto correcto? Compruébalo...
if (RSI0<RSIDownLevel&&RSIDownLevel<=RSI1){ TP=NormalizeDouble(Ask+takeprofit*Point,Digits); if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TP,NULL,Magic)==-1)¡Print(GetLastError());
if (positionTPask1>lastTPask1){ if (takeprofit!=0)TPm=NormalizeDouble(Ask+takeprofit*Point,Digits); if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TPm,NULL,Magic)==-1) Print(GetLastError()); }}
Abrí 2 pedidos a un precio ... ¿Es esto correcto? Por favor, compruebe...
No se debe bailar desde el Ask-40*Punto, sino desde el precio de apertura de 1 posición-40*Punto.
No he trabajado mucho con indicadores, así que puede ser una pregunta sencilla, ¿cómo desactivo la visualización del buffer gráfico enla ventana de Datos? Quiero eliminar el buffer 3 y 4, aquí está el código:
#property strict#property indicator_chart_window#property indicator_buffers4#property indicator_color1 Black
#property indicator_color2 Yellow
#property indicator_color3 Black
#property indicator_color4 Black
//---- input parametersinputint RSIPeriod=14;
inputint Levl=50;
inputENUM_TIMEFRAMES TF=PERIOD_CURRENT;
//---- buffersdouble RSIBuffer[];
double MABuffer[];
double PosBuffer[];
double NegBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init()
{
string short_name;
//---- 2 additional buffers are used for counting.IndicatorBuffers(4);
SetIndexBuffer(0,RSIBuffer);
SetIndexBuffer(1,MABuffer);
SetIndexBuffer(2,PosBuffer);
SetIndexBuffer(3,NegBuffer);
//---- indicator lineSetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_NONE);
SetIndexStyle(3,DRAW_NONE);
//----//---- name for DataWindow and indicator subwindow label
short_name="RSI("+IntegerToString(RSIPeriod,0,' ')+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Levl"+"_"+IntegerToString(Levl,0,' ')+" Price");
SetIndexLabel(2,"U");
SetIndexLabel(3,"D");
return(0);
}
Esto es RSI modificado - los buffers son necesarios allí, porque el cálculo se basa en datos pasados y no quiero cambiar el tamaño del buffer cada vez (si no es gráfico) y añadir nuevos datos allí, por lo que los buffers gráficos son convenientes para mis propósitos.
No he trabajado mucho con indicadores, así que puede ser una pregunta sencilla, ¿cómo desactivo la visualización del buffer gráfico enla ventana de Datos? Quiero eliminar el buffer 3 y 4, aquí está el código:
Este es un RSI modificado - los búferes son necesarios allí, porque el cálculo se basa en datos pasados y no quiero cambiar el tamaño del búfer cada vez (si no es gráfico) y añadir nuevos datos allí, por lo que los búferes gráficos son convenientes para mis propósitos.
No sé si te he entendido bien.
Pruébalo así:#property indicator_buffers2
#property strict#property indicator_chart_window#property indicator_buffers2#property indicator_color1 Black
#property indicator_color2 Yellow
Aleksey Vyazmikin: Gracias. Este movimiento le permitirá ver los búferes que no pueden salir en la ventana de datos a través de iCustom?
iCustom le permite ver sólo lo que está en la ventana de datos. El penúltimo parámetro de la función es exactamente el número del buffer visible en la ventana de datos
Quiero hacer lo siguiente:
Cuando abra la primera operación al precio, por ejemplo, 1,23455, quiero que la segunda operación se abra cuando el precio llegue a 1,23415
double lastTPask1=NormalizeDouble(Ask-40*Point,Digits);
if (RSI0<RSIDownLevel&&RSIDownLevel<=RSI1){
TP=NormalizeDouble(Ask+takeprofit*Point,Digits);
if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TP,NULL,Magic)==-1)¡Print(GetLastError());
if (positionTPask1>lastTPask1){
if (takeprofit!=0)TPm=NormalizeDouble(Ask+takeprofit*Point,Digits);
if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TPm,NULL,Magic)==-1) Print(GetLastError());
}}
¿Es esto correcto? Compruébalo...
sviter-pro:
Y tengo 2 pedidos abiertos a la vez al mismo precio...Здраствуйте еще раз! Помогите с этой банальностью для вас, ато я разобраться не могу....
Хочу сделать следующее!
Когда открывается первая сделка по цене к примеру 1.23455, то хочу что бы вторая сделка открывалась когда цена пойдет на 1.23415
¿Está bien hecho? ¿Mirarías esto...
En la primera línea, vi una cosa extraña. No busqué más.
¿Para qué es esto?
En una calculadora, multiplique Ask por Point
Tengo una muy buena idea de cómo pegar correctamente el código.
¡Hola de nuevo! Ayuda con esta trivialidad para ti, porque no puedo entenderlo....
¡Quiero hacer lo siguiente!
Cuando mi primera orden se abre en 1.23455, quiero que mi segunda orden se abra cuando el precio se vaya a 1.23415
double lastTPask1=NormalizeDouble(Ask-40*Point,Digits);
if (RSI0<RSIDownLevel&&RSIDownLevel<=RSI1){
TP=NormalizeDouble(Ask+takeprofit*Point,Digits);
if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TP,NULL,Magic)==-1)¡Print(GetLastError());
if (positionTPask1>lastTPask1){
if (takeprofit!=0)TPm=NormalizeDouble(Ask+takeprofit*Point,Digits);
if (OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),slippage,0,TPm,NULL,Magic)==-1) Print(GetLastError());
}}
¿Es esto correcto? Por favor, compruebe...
No he trabajado mucho con indicadores, así que puede ser una pregunta sencilla, ¿cómo desactivo la visualización del buffer gráfico enla ventana de Datos? Quiero eliminar el buffer 3 y 4, aquí está el código:
Esto es RSI modificado - los buffers son necesarios allí, porque el cálculo se basa en datos pasados y no quiero cambiar el tamaño del buffer cada vez (si no es gráfico) y añadir nuevos datos allí, por lo que los buffers gráficos son convenientes para mis propósitos.
No debe bailar desde el Ask-40*Point, sino desde el precio de apertura1posición-40*Point.
Así que lee el precio de apertura y baila....
No he trabajado mucho con indicadores, así que puede ser una pregunta sencilla, ¿cómo desactivo la visualización del buffer gráfico enla ventana de Datos? Quiero eliminar el buffer 3 y 4, aquí está el código:
Este es un RSI modificado - los búferes son necesarios allí, porque el cálculo se basa en datos pasados y no quiero cambiar el tamaño del búfer cada vez (si no es gráfico) y añadir nuevos datos allí, por lo que los búferes gráficos son convenientes para mis propósitos.
No sé si te he entendido bien.
Pruébalo así:#property indicator_buffers 2
No sé si lo he entendido bien.
Pruébalo así:#property indicator_buffers 2
Parece que tienes razón. Y por la bondad de mi corazón, pensé que había que declarar si se utilizaba un buffer gráfico para los cálculos.
Gracias.para desactivar la visualización en la ventana de datos, haga lo siguiente
Para desactivar la salida en la ventana de datos, haga lo siguiente
Gracias. ¿Permitirá este movimiento ver los buffers prohibidos en los datos de la ventana a través de iCustom?
iCustom le permite ver sólo lo que está en la ventana de datos. El penúltimo parámetro de la función es exactamente el número del buffer visible en la ventana de datos