Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 352

 
Trader7777:

sólo puede haber una orden en el mercado. Por el momento esta función no funciona en absoluto... por alguna razón. Pero si va a funcionar correctamente, entiendo que se activará todo el tiempo, siempre y cuando el beneficio sea superior al número de pips establecido. Por supuesto, necesitamos que cierre la mitad de una posición una vez, y eso es todo. Pero me gustaría que funcionara al menos una vez).
Sobre un tiempo para cerrar - en la página anterior escribí
 
evillive:

Una biblioteca es una opción.

Gracias por la idea.
 
Trader7777:

sólo puede haber una orden en el mercado. Por el momento esta función no funciona en absoluto... por alguna razón. Pero si va a funcionar correctamente, entiendo que se activará todo el tiempo, siempre y cuando el beneficio sea superior al número de pips establecido. Por supuesto, necesitamos que cierre la mitad de una posición una vez, y eso es todo. Pero me gustaría que funcionara al menos una vez).


Estoy de acuerdo contigo en mi corazón en que debería haber una sola orden. Y entonces, cerramos parcialmente, ¿cuándo? ¿En cuántos segundos o en otros términos? De lo contrario, en algún momento todo se cerrará y sólo quedará la baba para escupir)))))

Su función debería funcionar, al menos en el probador. Otra cuestión es cuándo se debe llamar....

 
Sepulca:


En el fondo estoy de acuerdo contigo en que sólo debería haber un orden. Y luego, en parte, cerrar, ¿cuándo? ¿Después de cuántos segundos o por otras condiciones? De lo contrario, en algún momento todo cerrará y lo único que quedará será la baba)))))

Su función debería funcionar, al menos en el probador. Otra cuestión es cuándo se debe llamar....


extern int TP         = 200; // кол-во пунктов, после которых должно произойти частичное закрытие
extern int Magic      = 77;


void CloseHalfOrder(){ // функция вызывается в самом начале цикла Start

for (int i = 0; i<=OrdersTotal(); i++)
  {
    if (OrderSelect (i,SELECT_BY_POS,MODE_TRADES) == true)
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
          {
            if (OrderProfit() >= TP*Point)
              {
                 if (OrderType() == OP_BUY) 
                 double Lots = OrderLots(); 
                 double HalfLot  = NormalizeDouble (Lots*0.5,2);
                 OrderClose(OrderTicket(),HalfLot,Bid,0,HotPink);
          
                 if (OrderType() == OP_SELL)
                 double Lots1 = OrderLots(); 
                 double HalfLot1  = NormalizeDouble (Lots*0.5,2);
                 OrderClose(OrderTicket(),HalfLot1,Ask,0,HotPink);
               }
          }
        }
      }
    }
No funciona. ¿Por qué?
 
Trader7777:




if (OrderProfit() >= TP*Point)

¿Qué es esto?

if(Bid-OrderOpenPrice()>= TP*Point)//для покупок

if(OrderOpenPrice()-Bid>= TP*Point)//для продаж
Algo así.
 
Trader7777:


no funciona. ¿Por qué no?

Por eso:

if (OrderProfit() >= TP*Point)
¿Quieres puntos? Y tú estás mirando el dinero.
 
r772ra:

¿Qué es esto?

Algo como esto

Pregunte por las ventas
 
artmedia70:
Pregunte por las ventas


Así es, se tiene en cuenta el diferencial.
 
artmedia70:

Eso es todo:

¿Necesitas puntos? Y tú estás mirando el dinero.


r772ra:

¿Qué es esto?

Algo como esto

gracias!!! programación para exactamente la segunda semana) novato desatento
 
Por favor, aconséjeme sobre esto. Alpari está aumentando el spread en el fin de semana hasta el punto de que el EA siempre está perdiendo. DE ACUERDO. Puedo establecer el spread manualmente en el Probador de Estrategias. ¿Pero en qué unidades? 100, 50, 30, 10... ¿qué es? Porcentaje, puntos, ¿qué? Se lo agradezco de antemano.
Razón de la queja: