[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 559

 
T-G:
Por favor, denme una función para calcular el lote de apertura máximo permitido en un depósito, teniendo en cuenta las posiciones abiertas (capital). Gracias de antemano.

double maxlot = MarketInfo(Symbol(), MODE_MAXLOT);

double requiredlots = AccountFreeMargin() / MarketInfo(Symbol(), MODE_MARGINREQUIRED);

maxlot = MathMin(maxlot, requiredlots); // Максимальный объем, на который можно открыться

// Далее необходимо maxlot нормализовать под спецификацию контрактов, прежде чем вставлять в приказ
 

Saludos.

Ayúdame a identificar este pavo: http://findicators.com/wp-content/uploads/2009/04/heiken-ashi.jpg

Se afirma que es un heiken ashi, pero incluso un cálculo superficial rompe el patrón. ¿Quizás alguien sepa qué es?

Respetuosamente.

 
ns88ns:

Saludos.

Ayúdame a identificar este pavo: http://findicators.com/wp-content/uploads/2009/04/heiken-ashi.jpg

Se afirma que es un heiken ashi, pero incluso un cálculo superficial rompe el patrón. ¿Quizás alguien sepa qué es?

Respetuosamente.


El mismo, o más bien una modificación del mismo. Está construido por los mashqs
 
Vinin:

Lo es, o más bien su modificación. Se basa en las escalas.


Gracias...

Me lo imaginé... Es que no entiendo, en este caso el HA está untado en el MA, o de alguna otra manera... Bueno, no es importante.

 
Ayúdame a modificar el indicador a un semiautomático.

Dibujo una línea simple manualmente y la nombro Trendline 42864 por ejemplo. Cómo puedo hacer para que cuando cree otra línea, el código cambie el nombre de cada línea creada, la vuelva a pintar, establezca el grosor, etc.

¿Para qué lo necesito? Tengo un indicador, necesito convertirlo en un indicador semiautomático. Es decir, si dibujo una línea de tendencia manualmente, el código debería repintarla y dibujar otras líneas dev, vertical y horizontal. También lo necesito para dibujar cada uno de ellos.

Se adjunta el indicador. El principio, trazamos una línea sobre dos puntos, cuando se pasa la doble distancia a través de estos dos puntos, la línea termina y la tendencia se detiene y pasa a la incertidumbre. Quiero decir de inmediato que no debemos intentar crear una máquina automática por esta vía en esta etapa. Necesito una semiautomática por ahora.

Archivos adjuntos:
 

Por la tarde. Al tratar de modificar dos órdenes simultáneamente, para la venta - set sl..,

Si intento modificar sólo una orden de venta y una de compra, no puedo ver la orden de compra. Por favor, aconséjeme cuál puede ser el

¿es la razón?

void FirstSellLockBuyModifi()
{
 double lock_buy_tp = NormalizeDouble((FirsSellLockBuyAvP()+TakeProfit*Point),Digits);
 int spread = MarketInfo(Symbol(),MODE_SPREAD);
 double first_sell_sl = NormalizeDouble((lock_buy_tp+spread*Point),Digits);        
 for (int i = 0; i <= OrdersTotal(); i ++)
    {
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()!=Symbol())continue;
     if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
     if (OrderType()==OP_SELL && OrderOpenPrice()==FirstSellPrice())
       {Print("Мод-ция ордера FIRST SELL");
        OrderModify(OrderTicket(),OrderOpenPrice(),first_sell_sl,OrderTakeProfit(),0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера FIRST SELL № ",OrderTicket()," ошибка № ",error);
       }
     if (OrderType()==OP_BUY)
       {Print("Мод-ция ордера LOCK BUY");
        OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),lock_buy_tp,0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера LOCK BUY № ",OrderTicket()," ошибка № ",error);
       }
    }
 return(0);
}
 
TEXX:

Por la tarde. Al tratar de modificar dos órdenes simultáneamente, para la venta - set sl..,

Si intento modificar sólo una orden de venta y una de compra, no puedo ver la orden de compra. Por favor, aconséjeme cuál puede ser el

¿es la razón?

Es muy posible que esté aquí...

for (int i = 0; i <= OrdersTotal(); i ++)

No está claro por qué hay un espacio antes de ++?

Pero el principal error es modificar más de una orden al mismo tiempo. El servidor no podrá ejecutarla, ya que al intentar modificar la segunda orden, el hilo comercial se cerrará. Aunque en el probador, tal situación puede ser manejada sin problemas.

 
TEXX:

Por la tarde. Al tratar de modificar dos órdenes simultáneamente, para la venta - set sl..,

Si intento modificar sólo una orden de venta y una de compra, no puedo ver la orden de compra. Por favor, aconséjeme cuál puede ser el

¿es la razón?

     
 for (int i = 0; i <= OrdersTotal(); i ++)  // 1 ошибка
  
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()!=Symbol())continue; // нет смысла
     if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)  // после неё нет открывающейся скобки
  
   if (OrderType()==OP_SELL && OrderOpenPrice()==FirstSellPrice())
       {Print("Мод-ция ордера FIRST SELL");
        OrderModify(OrderTicket(),OrderOpenPrice(),first_sell_sl,OrderTakeProfit(),0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера FIRST SELL № ",OrderTicket()," ошибка № ",error);
       }

     if (OrderType()==OP_BUY)
       {Print("Мод-ция ордера LOCK BUY");
        OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),lock_buy_tp,0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера LOCK BUY № ",OrderTicket()," ошибка № ",error);
       }

¿Qué error da?
 
sergeev:
¿Qué error da?


esa es la cuestión, no hay errores, simplemente comprar no modifica y ya está, pero si se comenta vender, entonces modifica....
 

El resultado negativo también es un resultado y no es menos importante, pero si ve la siguiente imagen (en la libra, la pérdida total de 100 000 a 2000 con 1 lote) ...... ¿tiene algún sentido reescribir la compra en la venta, el stop en el beneficio, etc.?

¿Su opinión?