[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 894

 
artmedia70:
Qual è il punto? È come se si potesse chiedere l'ora... o la salute... :))))))

Questo è solo un promemoria. Leggo il libro, ma ci sono punti che devono essere chiariti - così li scrivo. e a volte non c'è risposta.

Per favore - non prendetelo in modo aggressivo, lo dico in buona fede!

 
belck:

Questo è solo un promemoria. Leggo il libro, ma ci sono punti che devono essere chiariti, quindi li scrivo. e a volte non c'è risposta.


Paghi per le risposte? No? O vieni ignorato? O qualcuno ti deve un favore?

SZS: guardo spesso in questo thread, come posso aiutare, ma a condizione che la persona che ha fatto una domanda, almeno capisce quello che ha chiesto, mentre tu hai la tua montagna di domande sembra pigro a leggere - spiegami

 
Ciao! Non riesco a capire cosa c'è di sbagliato in ???? Non modifica gli ordini a mercato
slb =NormalizeDouble(Bid - (StopLoss * Point),Digits); // calcola lo stop per le posizioni di acquisto//
tpb =NormalizeDouble(Ask + (TakeProfit* Point),Digits); // calcola il profitto per le posizioni di acquisto//
sls =NormalizeDouble(Ask + (StopLoss * Point),Digits) // calcolo dello stop per le posizioni di vendita//
tps =NormalizeDouble(Bid - (TakeProfit* Point),Digits);

//================================================== ==================//
int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
{
n++;
}}}
if ( total == 1 )
{
for (int k=total-1; k>=0; k--)
{
if(OrderSelect(k, SELECT_BY_TICKET)
Alert("order is", k);
{
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(O rderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error", GetLastError());

}}}}
return(0);}

QUAL È IL PROBLEMA PER FAVORE AIUTATE ...........?????
 
IgorM:


Pagate le risposte? No? O siete ignorati? O dovete qualcosa a qualcuno?

ZS: guardo spesso in questo thread, quello che posso, aiuto, ma a condizione che la persona che ha fatto una domanda, almeno capisce quello che ha chiesto, mentre hai la tua montagna di domande sembra pigro per leggere - dimmi

Ti avevo detto di non prenderla troppo male, non siamo qui per litigare. Non mi piace nemmeno quando qualcuno si rifiuta di aiutare - cioè, decide per me di dare consigli o leggere un libro. Come si dice - intelligente!

Ancora una volta, ragazzi, per favore non prendetelo in modo aggressivo o la mia richiesta è ancora una contraddizione, se è così, allora non lo scriverò più.

 
int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i--)
  {
    if(OrderSelect(i, SELECT_BY_POS))
      {
        if(OrderSymbol()==Symbol())
            n++;
      }
  }
if (total == 1)
  {
    for (int k=total-1; k>=0; k--)
      {
        if(OrderSelect(k, SELECT_BY_TICKET))
          {
            Alert("ордер есть ", k);
            if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
              {
                OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
                Alert("ошибка ", GetLastError());
              }
          }
      }
  }
return(0);
Prova questo codice.
 

Qualcuno conosce uno script "trailing stop" attivato da livelli, cioè prezzo raggiunto 150 - stop 130, poi raggiunto 180 - stop 170 (per esempio) (livelli digitati da te).

Grazie in anticipo.

 
VOLDEMAR:
Ciao! Non riesco a capire qual è il problema ???? Non modifica l'ordine di mercato
slb =NormalizeDouble(Bid - (StopLoss * Point),Digits); // calcola lo stop per le posizioni di acquisto//
tpb =NormalizeDouble(Ask + (TakeProfit* Point),Digits); //calcolare il profitto per le posizioni di acquisto//
sls =NormalizeDouble(Ask + (StopLoss * Point),Digits); //calcolare lo stop per le posizioni di vendita//
tps =NormalizeDouble(Bid - (TakeProfit* Point),Digits);

//================================================== ==================//
int total=OrdersTotal();
int n=0;
per (int i=totale-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
se(OrderSymbol()==Symbol())
{
n++;
}}}
se ( totale == 1 )
{
per (int k=totale-1; k>=0; k--)
{
if(OrderSelect(k, SELECT_BY_TICKET))
Alert("l'ordine esiste", k);
{
se ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error", GetLastError());

}}}}
return(0);}

QUAL È IL PROBLEMA AIUTARE ...........?????

Stai selezionando una posizione sul biglietto. Ma non si controlla DOVE è... La posizione può essere in quelle già chiuse:

bool OrderSelect( int index, int select, int pool=MODE_TRADES)

Questa funzione seleziona un ordine per ulteriori manipolazioni. Restituisce TRUE se la funzione si completa con successo. Restituisce FALSE se la funzione fallisce. Per ottenere informazioni su un errore, è necessario chiamare la funzione GetLastError().

Il parametro pool è ignorato se l'ordine è selezionato dal numero del biglietto. Il numero del biglietto è un identificatore unico per l'ordine. Per determinare da quale lista viene selezionato un ordine, bisogna analizzare il suo orario di chiusura. Se il tempo di chiusura dell'ordine è 0, allora l'ordine è aperto o in sospeso e viene preso dalla lista delle posizioni aperte del terminale. Una posizione aperta può essere distinta da un ordine pendente per il suo tipo. Se il tempo di chiusura non è uguale a 0, allora l'ordine è chiuso o in sospeso ed è stato selezionato dalla storia del terminale. La distinzione tra un ordine chiuso e un ordine pendente cancellato può essere fatta anche per tipo di ordine.
 
AlexAlex:

Qualcuno conosce uno script "trailing stop" attivato da livelli, cioè prezzo raggiunto 150 - stop 130, poi raggiunto 180 - stop 170 (per esempio) (livelli digitati da te).

Grazie in anticipo.

Cerca sul sito "trailing" o "trawl" - lo troverai.
 
VOLDEMAR:
Ciao! Non riesco a capire qual è il problema ???? Non modifica l'ordine di mercato

Prova così:

slb = 25; // расчёт стопа для бай позиций//
tpb = 25; // расчёт профита для бай позиций//
sls = 25; // расчёт стопа для селл позиций//
tps = 25; 

//================================================== ==================//
int start {
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-slb*Point,Ask+tpb*Point,"My order #"+counter,16384,0,Green);
     if(ticket<0)
       {
        Print("OrderSend failed with error #",GetLastError());
        return(0);
       }

}
 
AlexAlex:

Qualcuno conosce uno script "trailing stop" attivato da livelli, cioè prezzo raggiunto 150 - stop 130, poi raggiunto 180 - stop 170 (per esempio) (livelli digitati da te).

Grazie in anticipo.

https://www.mql5.com/ru/code/7108 .No.4
Motivazione: