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

 
belck:

Ti avevo detto di non prenderla troppo, non siamo qui per litigare. Non mi piace nemmeno quando qualcuno si rifiuta di aiutare - cioè, decide per me, ho bisogno di consigli o ho bisogno di 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ù.

Nessuno ha il diritto di proibirvi di scrivere e fare domande... Ma è utile leggere ciò che molti di voi hanno iniziato. E anche noi facciamo domande, ma, IMHO, molto diverse...

Non vi viene rifiutato l'aiuto - vi viene data una fonte di conoscenza. In cosa non può aiutarvi il libro di SC???????????????

Cosa non ti è piaciuto di Igor Kim's fully working features??????????

Prima ti ho dato un link al thread di Igor - prendere o lasciare... Usatelo, inseritelo nel vostro codice. È possibile assemblare da loro, come da mattoni, YUMO diversi Expert Advisors completamente funzionanti...

Cosa avete iniziato a fare con loro?

Il tuo post successivo era un costrutto completamente incomprensibile... ...Codice ammucchiato, in cui iniit e start e deinit e tutte le funzioni erano praticamente scritte in una riga...

Ti ho suggerito di familiarizzare con la programmazione modulare, ti ho dato un link a un tutorial...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Mi hai chiesto in risposta di postare questo tutorial qui (!) in questo thread !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

QUANDO????????????????????

Hai un'enorme varietà di tutorial diversi davanti a te...

Ma, secondo lei, tutti dovrebbero urgentemente abbandonare quello che stanno facendo e mettersi in fila per una risposta alla sua domanda. E la risposta è, infatti, proprio davanti ai vostri occhi

 

Grazie.

 
artmedia70:

Nessuno ha il diritto di proibirvi di scrivere e chiedere... Ma vale la pena leggere quello che molti di voi hanno iniziato. E anche noi facciamo domande, ma, IMHO, molto diverse...

Non vi viene rifiutato l'aiuto - vi viene data una fonte di conoscenza. Perché il libro di SC non può aiutarti??????????????? La risposta è aiuto!!!

Cosa non ti è piaciuto di Igor Kim's fully working functions?????????? La risposta è che ci vuole molto tempo per metterli insieme e passarli tutti.

Prima ti ho dato un link al thread di Igor - prendere o lasciare... Usatelo, incollatelo nel vostro codice. Puoi assemblare da loro, come da mattoni, UYMU di vari Expert Advisors completamente funzionanti...

Cosa avete iniziato a fare con loro?

Il tuo post successivo era un disegno completamente incomprensibile, ... Codice ammucchiato, dove iniit e start e deinit e tutte le funzioni erano praticamente scritte in una riga...

Ti ho suggerito di familiarizzare con la programmazione modulare e ti ho dato un link a un tutorial... La risposta - l'ho letto e non l'ho capito tutto

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! La tua risposta è stata quella di chiedermi di postare questo tutorial qui (!) in questo thread !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

QUANDO???????????????????? Perché pensi questo!

Hai un'enorme quantità di tutorial diversi davanti a te... La risposta è vostra.

Ma, secondo lei, tutti dovrebbero urgentemente abbandonare i loro casi e mettersi in fila per una risposta alla sua domanda. La risposta - tutto secondo te E la risposta, infatti, sta con te la risposta - di nuovo, davanti ai tuoi occhi

 
artmedia70:

Si seleziona una posizione dal biglietto. Ma non si controlla DOVE sia esattamente. 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. Chiama la funzione GetLastError() per ottenere informazioni sull'errore.

Il parametro pool è ignorato se l'ordine è selezionato dal numero del biglietto. Il numero del biglietto è l'identificatore unico dell'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.

Il bug 4051 riporta una funzione non valida !!!!!

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_POS, MODE_TRADES))
{
//Alert("l'ordine è ", k);
se ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}}

ritorno(0);


Diventerò grigio e morirò presto se non risolvo questo problema

 
VOLDEMAR:

L'errore 4051 è scritto con una funzione non valida !!!!!

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_POS, MODE_TRADES))
{
//Alert("l'ordine è ", k);
se ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}}

ritorno(0);


Diventerò grigio e morirò presto se non risolvo questo problema




ERRORE_INVALIDO_FUNZIONE_VALORE_PARAM. 4051 Valore del parametro della funzione non valido
 
artmedia70:

Ne avrai in abbondanza :)

Grazie mille, non avevo indovinato a guardare tra le costanti.

 
VOLDEMAR:

errore 4051 funzione errata !!!!!

perché

se (totale == 1)
{
per (int k=totale-1; k>=0; k--)
{

????

Non vedo alcuna logica - il ciclo all'interno della condizione non funziona sempre

 
VOLDEMAR:

errore 4051 funzione errata !!!!!

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_POS, MODE_TRADES))
{
//Alert("order exists ", k);
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}

ritorno(0);


Diventerò grigio e morirò se non risolvo questo problema.



Avete il numero di posizione nella variabile k, e dovete passare l'ordine TICKET nella funzione OrderModify() come primo parametro.

Prima di modificare, prendete il biglietto della posizione, per esempio, int ticket = OrderTicket(); e passate ticket invece di k

Qualcosa del genere da qualche parte. L'ho scritto in ginocchio, non ho controllato nulla - solo un'idea... Non è nemmeno entrato nel tuo codice.

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

return(0);
 
IgorM:

perché

if (total == 1)
{
for (int k=total-1; k>=0; k--)
{

????

Non ci vedo nessuna logica - il ciclo all'interno della condizione non terrà sempre.

Igor, il significato non è chiaro qui...

Se il numero totale di ordini è uno (totale==1), il ciclo da zero (totale-1) a zero k>=0

Capite qualcosa????? Anch'io... :))

 

Ciao.

Ecco una domanda: voglio prendere un take profit come questo:

double TakeProfit =  ((LineIndicator - Ask)/2); // но мне нужно указать, что если эта цифра меньше допустимого значение, то выставляется автоматом минимальное допустимое 
значение, а это 10 пунктов.

Questo era il primo punto, ma ora ce n'è un altro:

La linea dell'indicatore cambia la sua posizione dopo un certo periodo di tempo. come faccio a fare in modo che il take profit non cambi, ma rimanga lo stesso impostato quando l'ho aperto?

Motivazione: