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

 
chief2000:

Non esattamente - per un ordine Stop, il prezzo di apertura potrebbe essere, per esempio nel caso di Buy,

massimo di un frattale precedente (=OpenPrice) + Spread

(a condizione che l'Ask sia inferiore al frattale per lo Stop_Level o più). Cioè, l'ordine non è posto sull'Ask, ma su qualche condizione "esterna".

Ma più precisamente vorrei sapere come contabilizzare lo spread in TakeProfit e StopLoss:

- Nel caso di Buy:

OrderSend(Symbol (), OP_BUYSTOP, Lotti, OpenPrice+Spread, Slippage, OpenPrice-StopLoss, OpenPrice+TakeProfit+Spread, ...)

- Vendere:

- Corretto o mi manca qualcosa?

Bene, mi sto già addormentando, e sono esausto dalle più dure negoziazioni con il cliente, ma dirò solo una cosa: apriamo la posizione Buy su Asc, la chiudiamo su Bid.
E la differenza tra Asc e Bid è lo spread... È così che facciamo...
 
Devo premere "rispondi" per scrivere un messaggio? Come posso aggiungere un messaggio a una discussione senza premere "rispondi"?
 
 
peshihod:
Devo premere "rispondi" per scrivere un messaggio? Come posso aggiungere un messaggio a una discussione senza premere "rispondi"?

Nella parte inferiore della finestra dell'editor e il pulsante "Aggiungi commento
 

Leggo e cerco di capire, ma mi imbatto in abbreviazioni e parole incomprensibili. TK, TF, flotsam, ecc.

C'è qualcosa come un dizionario delle abbreviazioni di base, delle parole poco comprese?

Un uomo saggio una volta disse: "Dai una definizione precisa ad ogni parola e libererai l'umanità dalla metà delle sue idee sbagliate!"

 

Ai prezzi attuali, non è un ordine pendente, quindi:

Comprate:

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Bid-StopLoss, Bid+TakeProfit, ...)

Vendere:

OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, Ask+StopLoss, Ask-TakeProfit, ...)

Per gli ordini pendenti - dipende dal programmatore, su quali prezzi viene tenuto il conto.

In ogni caso StopLoss e TakeProfit sono conteggiati a partire da un prezzo, e OpenPrice differisce da esso (il prezzo) di uno spread.

 

Ciao, sono nuovo di MQL4 e della programmazione in generale, quindi ho questa domanda:

Ho scritto del codice che entro una certa ora, diciamo le 21.15, chiude tutte le posizioni aperte da 0 a 3 nella lista:

if((TimeHour(TimeCurrent()) == MyHour)&&(TimeMinute(TimeCurrent())== MyMinute))
{
for(int j=0;j<4;j++)
{
if((OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==true))
{
Print("Order:",OrderTicket());
OrderClose(OrderTicket(),MyLots,Bid,5,color3);
}
else
Print("OrderSelect() vernul oshibku - ",GetLastError());
}

Sul tester succede quanto segue: gli ordini 0 e 1 vengono chiusi all'ora specificata, e gli ordini 2 e 3 vengono chiusi alla stessa ora, ma un giorno dopo.

Ho anche scritto una sezione di codice che modifica lo stop loss per tutti gli ordini da 0 a 3 nella lista:

if(Diff2 <= 0.0012)
{
int pos1;
int total = OrdersTotal();
for(pos1=0; pos<total; pos1++)
{
if(OrderSelect(pos1,SELECT_BY_POS,MODE_TRADES)==true)
{
Print("Order1:",OrderTicket());
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),Ask-Point*TakeProfit,0,color3);
}
else
Print("OrderSelect() vernul oshibku - ",GetLastError());
}
}

Sul tester, succede quanto segue: nella scheda "Risultato", il tester scrive tutti gli ordini, poi si blocca e il

"OrderSelect() vernul oshibku - 0".

Per favore consigliate cosa c'è di sbagliato qui o quale può essere la ragione di questo comportamento?

 

chief2000:

Voglio solo chiarire una domanda - si tratta di aprire un ordine Stop. ...

Grazie a tutti voi!

 
chief2000:

chief2000:

Voglio chiarire una domanda - si tratta di aprire un ordine Stop. . ..
Potrebbe essere utile!!! Cercate di basarvi su un prezzo: diciamo Bid. Il prezzo di apertura di OP_SELLSTOP sarà Bid , e per OP_BUYSTOP - Bid+87*Point (o quello che ti serve).
 
temkin:

>>Ho scritto un codice che chiude tutte le posizioni aperte da 0 a 3 nella lista entro una certa ora, diciamo le 21.15:

>>Sul tester succede quanto segue: gli ordini 0 e 1 vengono chiusi all'ora specificata, e gli ordini 2 e 3 vengono chiusi alla stessa ora, ma 24 ore dopo.

OrderClose() chiude solo gli ordini aperti. OrderDelete() è usato per cancellare gli ordini in sospeso. Gli altri due ordini devono essere in sospeso. Dopo un giorno vengono aperti e poi chiusi OrderClose()?

>>La sezione di codice che modifica uno stop loss per tutti gli ordini da 0 a 3 è anche scritta


for(pos1=0; pos<total; pos1++)

Для "pos1" в условии цикла пропустил единицу:

for(pos1=0; pos1<total; pos1++)