consulente esperto - domande varie - pagina 22

 
Marco vd Heijden:

Per favore usa lo styler, è sotto la scheda Strumenti.
Non ho idea di cosa tu stia cercando di realizzare, quindi devo indovinare cosa vuoi fare, il che non è mai un bene.
Ma puoi guardare l'esempio qui:
Così puoi vedere che puoi usare ObjectGetDouble direttamente, non c'è bisogno di copiare il valore in un altro doppio perché l'oggetto stesso tiene il valore, e quando trascini la linea quel valore cambia automaticamente, e sarà visto la prossima volta che lo leggi.

Prima di tutto grazie per i vostri commenti che è che i commenti mi mostrano la strada giusta.
Ho fatto un grossoerrore perché stavo provando nel file Test.mq4. Da quando ho iniziato a provare nel file principale mq4. Sto ottenendo il modo giusto. Entrambi i file sono molto diversi per me.

Sì, dopo aver provato diverse volte i vostri esempi per me potrebbe raggiungere il mio obiettivo in questa preoccupazione. Ma ho capito che dovrei solo usare OnChartEvent() per la creazione di oggetti "HLine" (e alcuni grafici).
E poi dovrei usare OrderModify() per la modifica del Take Profit, la modifica del Take Profit dovrebbe seguire l'oggetto "HLine". ( Primo: " HLine " ottiene attualmente il prezzo di Take Profit e Secondo: Take Profit segue l'oggetto " HLine " - e ma OrderModify() non dovrebbe aggiornarsi mentre trascino l'oggetto " HLine " )
E ora prima ho iniziato a fare ricerche su OrderModify().

Sento che potrei controllare il tuo esempio ancora una volta. Spero di poterlo fare.

Grazie per tutti i suoi aiuti signor Marco.

 

Signor Marco ancora una volta grazie mille per tutto.

Allora, ho appena terminato la funzione OM (Orders Modification)
Ho visto alcuni problemi nella mia funzione OM che ho risolto da solo.
Ma continuamente vedo che la funzione OM ha bisogno di alcuni aggiornamenti, perché sto cercando di testare la funzione OM con Take Profit modifica.

Quindi vorrei menzionare che sto ancora affrontando nuovi problemi (ora il mercato è chiuso).

#1 Quale parte del codice potrei mantenere?
Ho già provato entrambe le parti del codice. Ma non ho visto alcuna differenza tra loro. Sembra che entrambi funzionino bene per me.

// I learned this Calculation from thread of @Simon's
for ( i = OrdersTotal() - 1; i >= 0; i-- ){}

// This is from yours Mr. Marco
for ( i = OrdersTotal(); i >= 0; i-- ){}

#2 E' sbagliato?
Io uso 7 volte la parte di codice sottostante nel mio singolo script EA. Solo 2x per il calcolo delle funzioni Sell e Buy. E 2x per la loro chiusura. Li chiamo con OnChartEvent() e OnTick()

for ( i = OrdersTotal() - 1; i >= 0; i-- )
  {
   if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
   if(closeothers==false && OrderSymbol()!=Symbol()) continue;
//...
  }



Ho anche altri problemi ma ci sto lavorando per risolverli da solo.

Grazie in anticipo.

 

La numerazione parte da 0 e non da 1.

Supponiamo che tu abbia 3 ordini. Essi sono:

  • 0
  • 1
  • 2

Quindi dovreste usare questo:

for ( i = OrdersTotal() - 1; i >= 0; i-- ){}

Se non lo fai, non è un disastro; l'OrderSelect fallirà al primo passaggio (i==3) e passerà all'iterazione successiva.

Scusa, non capisco la tua 2a domanda.

 

Per la seconda domanda.

Di solito tendo a comprimere tutto in un solo ciclo, ma naturalmente è possibile usarne diversi.

 
honest_knave:

Se non lo fai, non è un disastro; l'OrderSelect fallirà al primo passaggio (i==3) e passerà alla prossima iterazione.

Marco vd Heijden:

Di solito tendo a comprimere tutto in un solo ciclo, ma ovviamente puoi usarne diversi.

Grazie per i vostri commenti. Lo apprezzo molto!

 

Ho già speso qualche ora per questo problema che potrei capire da dove viene?
D: Per favore fatemi capire cos'è quello? (Allego file immagine)

Uso il tuo utilissimo esempio " Stealth 4.mq4 " per trascinare Stop Loss e Take Profit, e questo stava funzionando perfettamente l'ultimo venerdì.
Ora il mercato è chiuso e vedo questi messaggi dalla finestra Journal. Quando rimuovo i blocchi di codice OrderModify() i messaggi si fermano.

Buon fine settimana.

File:
 

Beh, si può modificare un ordine quando i mercati sono chiusi, quindi questo è il tipo logico...

Ci vorrebbe un po' più di codice per farlo smettere.

 

Max Enrik: Quando rimuovo i blocchi di codice OrderModify() i messaggi si fermano.
  1. Questo è il motivo per cui raccomando
    Non scambiare più valute in un EA
  2. Se scambi solo una coppia/carto in OnTick, non avresti il problema.
 

È perfettamente possibile negoziare tutte le valute in un EA.

 
Marco vd Heijden: È perfettamente possibile commerciare tutte le valute in un EA.
Non ho mai detto che non lo fosse. Ho detto che non lo consiglio a causa di tutti i problemi. Una coppia/un grafico semplifica tutto. Non rendere le cose più difficili del necessario.