Ayuda a la codificación - página 628

 
annbeea:
Gracias

pero soy bastante novato en la codificación

puedo cambiar a si un indicador mt4 llamado xyz tiene los siguientes parámetros:

extern int A=9;

extern int B=14;

extern int D=10;

y la parte icustom asE= iCustom(Null,timeframe, "xyz",A,B,D,BufferNumber,Shift); ?pero no entiendo mucho BufferNumber y Shift? ¿qué significa eso? gracias

annbee

Mira este hilo para más detalles : https://www.mql5.com/en/forum/173108

 

hola mladen,

puede ser que creo que he hecho algunos errores anteriormente,

xyz debería ser así:

extern int A=9;

extern int B=14;

extern double D = 10;

pregunta1:y la parte icustom asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); ¿es correcto?? gracias

pregunta2: y la parte de icustom asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); ¿que tal si intencionalmente o por error omito la D en la frase de icustom, está bien el trabajo o falta algo en la visualización o el cálculo o es totalmente incorrecto? gracias por los comentarios.

 
annbeea:
Hola mladen,

puede ser que creo que he hecho algunos errores anteriormente,

xyz debería ser así:

extern int A=9;

extern int B=14;

extern double D = 10;

pregunta1:y la parte icustom asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); ¿es correcto?? gracias

pregunta2:y la parte de icustom comoE=iCustom(Null,timeframe, "xyz",A,B,0,pos); ¿que tal si intencionalmente o por error omito la D en la frase de icustom, funciona bien o falta algo en la visualización o el cálculo o es totalmente incorrecto? gracias por los comentarios.

Si omites un parámetro de la cola de la lista de parámetros, se utilizará el valor por defecto del parámetro, pero por favor, lee ese hilo para conocer los detalles de cómo se utiliza la función iCustom() y cuáles son los parámetros exactos de la función iCustom()

 

hola mladen

mi nivel de codificacion es muy bajo porque solo tengo un aprendizaje de computacion muy crudo antes, solo quiero hacer algo que funcione para mi sin codificacion demasiado sofisticada, la mayoria de las cosas no las entiendo muy bien aun leyendo el hilo,

porque ni siquiera tengo clara la diferencia entre el concepto de double, string, etc.

pero mi pregunta es justo esa, parece que la clave aquí es D, así que mi pregunta es: ¿es si : extern int D=10 o extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); está bien/ es correcto?? gracias

 
annbeea:

hola mladen

mi nivel de codificacion es muy bajo porque solo tengo un aprendizaje de computacion muy crudo antes, solo quiero hacer algo que funcione para mi sin codificacion demasiado sofisticada, la mayoria de las cosas no las entiendo muy bien aun leyendo el hilo,

porque ni siquiera tengo clara la diferencia entre el concepto de double, string, etc.

pero mi pregunta es justamente esa, parece que la clave aquí es D, entonces mi pregunta es: ¿es si : extern int D=10 o extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); está bien/ es correcto?? gracias

anbbeea,

Sí, es correcto

 

Hola Mladen ,

¿Puedo saber si el rayo en el gráfico puede ajustarse a la derecha en la medida que yo quiera?

Como cambiar esto >

ObjectSet("mMyLine", OBJPROP_RAY, false);
extern color mCol = Red, mCol2 = Blue, mCol3 = White;
extern int mWid = 2, mHist = 100, mDays = 5;

//+------------------------------------------------------------------+
int init()
  {
      ObjectCreate("mMyLine", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine", OBJPROP_COLOR, mCol);
      ObjectSet("mMyLine", OBJPROP_RAY, false);

      ObjectCreate("mMyLine2", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine2", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine2", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine2", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine2", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine2", OBJPROP_COLOR, mCol2);
      ObjectSet("mMyLine2", OBJPROP_RAY, false);
      
      ObjectCreate("mMyLine3", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine3", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine3", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine3", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine3", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine3", OBJPROP_COLOR, mCol3);
      ObjectSet("mMyLine3", OBJPROP_RAY, false);

   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("mMyLine");
   ObjectDelete("mMyLine2");
   ObjectDelete("mMyLine3");
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
   double mH = 0, mL=0, mM = 0;
   
   mH = iHigh(NULL, 1440, iHighest(NULL, 1440, MODE_HIGH, mDays, 1));
   mL = iLow(NULL, 1440, iLowest(NULL, 1440, MODE_LOW, mDays, 1));
   mM = mL + (mH - mL) / 2;
   ObjectSet("mMyLine", OBJPROP_PRICE1, mH);
   ObjectSet("mMyLine", OBJPROP_PRICE2, mH);
   ObjectSet("mMyLine2", OBJPROP_PRICE1, mL);
   ObjectSet("mMyLine2", OBJPROP_PRICE2, mL);
   ObjectSet("mMyLine3", OBJPROP_PRICE1, mM);
   ObjectSet("mMyLine3", OBJPROP_PRICE2, mM);


   return(0);
  }
 

por favor, he tratado de hacer que la flecha aparezca después del cierre de la vela de la señal en otros para evitar el repintado, pero todo en vano.

por favor ayudenme MR. TOOLS y MLADEN, abajo están los adjuntos.
 

mladen & mrtools

Tengo un EA que se autoexplota con operaciones. Necesito ayuda para construir un vacío o función que se puede añadir a un EA existente. Esta función tiene que abordar:

input bool doBasketExit = true; // Comprobar las condiciones de salida de la cesta
input double BasketTP = 250.0; // Basket Take Profit(Moneda de la cuenta) El par del gráfico
input double BasketSL = -100.0; // Basket Stop Loss (Moneda de la cuenta) El par del gráfico

Estoy ejecutando 9 pares/gráficos con un EA agresivo en el H1 y quiero operar con cestas específicas para cada uno de los 9 gráficos.
Esto es lo que me pasó. 9 gráficos que se ejecutan, 3 gráficos están en el comercio con, por supuesto, 3 pares separados, cada uno con 15 operaciones, sí 45 operaciones abiertas, 2 están en beneficio y uno está perdiendo mal. Estoy buscando una manera de sumar cada grupo/par de los 15 por separado y frotar cada grupo contra los límites de SL y TP de la cesta. He encontrado una cesta de configuración, pero por supuesto que necesita refinamiento. El truco es conseguir que el mismo par se sume desde la columna Order Profit Trade. Al estar en un Gráfico con un par específico pensé que se me ocurrió un vacío pero es algo complicado. La función debe leer de alguna manera el OrderProfit por par???

Ver mi código como un pobre ejemplo;

void closeTrades( CURRENCY* &currencies[] ) {
// Comprobar la salida de la cesta
if ( doBasketExit ) {
double basketProfit = getBasketProfit();
if ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) ||
( ( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ) ) {
closeAll();
}
}
double getBasketProfit() {
double basketProfit = 0.0;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ( OrderMagicNumber() == MagicNumber ) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
basketProfit += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
}
return(basketProfit);
}

void cerrarTodo() {
double closePrice;
string symbolName;
int resultado;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ( OrderMagicNumber() == MagicNumber ) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ? MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK );
result = OrderCloseReliable(OrderTicket(), OrderLots(), closePrice, 50 );
}
}



Realmente agradezco que se investigue esto

Gracias
Ray

 
stevenpun:

Hola Mladen ,

¿Puedo saber si el rayo en el gráfico puede ajustarse a la derecha en la medida que yo quiera?

Como cambiar esto >

Intenta hacer lo siguiente:

En lugar de

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
//
//
//   try this
//   use the NumberOfDaysToTheRight for the number of days to extend it to the right
//   you have to update this in the start procedure on every tick and for every ray that you created
//
//

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]+PERIOD_D1*60*NumberOfDaysToTheRight);
 
kapoo:

Por favor, he tratado de hacer que la flecha aparezca después del cierre de la vela de la señal en otros para evitar el repintado, pero todo fue en vano.

por favor ayudenme MR. TOOLS y MLADEN, abajo están los adjuntos.

kapoo

Actualmente las subidas no están funcionando por lo que no puedo ver sus archivos

En cuanto se solucionen esos problemas, retomaremos. ¿OK?