Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 352

 
Trader7777:

ci può essere solo un ordine nel mercato. Al momento questa funzione non funziona affatto... per qualche motivo. Ma se funzionerà correttamente, capisco che si attiverà sempre, finché il profitto sarà superiore al numero di pips stabilito. Naturalmente, ci serve per chiudere metà di una posizione una volta, e basta. Ma vorrei che funzionasse almeno una volta).
Circa un tempo per chiudere - nella pagina precedente ho scritto
 
evillive:

Una biblioteca è un'opzione.

Grazie per l'idea.
 
Trader7777:

ci può essere solo un ordine nel mercato. Al momento questa funzione non funziona affatto... per qualche motivo. Ma se funzionerà correttamente, capisco che si attiverà sempre, finché il profitto sarà superiore al numero di pips stabilito. Naturalmente, ci serve per chiudere metà di una posizione una volta, e basta. Ma vorrei che funzionasse almeno una volta).


In cuor mio sono d'accordo con te che ci dovrebbe essere un solo ordine. E poi, chiudiamo parzialmente, quando? In quanti secondi o in altri termini? Altrimenti a un certo punto tutto si chiuderà e rimarrà solo la bava da sputare)))))

La vostra funzione dovrebbe funzionare, almeno nel tester. Un'altra domanda è quando chiamarlo....

 
Sepulca:


In fondo sono d'accordo con te che ci dovrebbe essere un solo ordine. E poi, in parte chiudere, quando? Dopo quanti secondi o per qualche altra condizione? Altrimenti ad un certo punto tutto si chiuderà e tutto ciò che rimarrà sarà sbavare)))))

La vostra funzione dovrebbe funzionare, almeno nel tester. Un'altra domanda è quando chiamarlo....


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);
               }
          }
        }
      }
    }
Non funziona, perché?
 
Trader7777:




if (OrderProfit() >= TP*Point)

Che cos'è questo?

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

if(OrderOpenPrice()-Bid>= TP*Point)//для продаж
Qualcosa del genere.
 
Trader7777:


non funziona, perché no?

Ecco perché:

if (OrderProfit() >= TP*Point)
Vuoi dei punti? E tu stai guardando i soldi.
 
r772ra:

Che cos'è questo?

Qualcosa del genere

Chiedere le vendite
 
artmedia70:
Chiedere le vendite


Esatto, lo spread è preso in considerazione.
 
artmedia70:

Questo è tutto:

Hai bisogno di punti? E tu stai guardando i soldi.


r772ra:

Che cos'è questo?

Qualcosa del genere

grazie!!! programmazione per esattamente la seconda settimana) principiante disattento
 
Per favore, consigliatemi su questo. Alpari sta aumentando lo spread nel fine settimana al punto che l'EA è sempre in perdita. OK. Posso impostare lo spread manualmente nello Strategy Tester. Ma in quali unità? 100, 50, 30, 10 - che cos'è? Percentuale, punti, cosa? Vi ringrazio in anticipo.
Motivazione: