[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 235

 
Zhunko:
Se il codice sorgente c'è, ma è stato cambiato, questo è possibile. Cioè cambiare il contenuto della fonte. Se la fonte viene persa o rinominata, non verrà trovata.

Grazie Vadim. Capisco.
 
ikatsko:

Come calcolare il margine (fondi necessari per aprire un ordine con lotto N) a diversi valori di AccountFreeMarginMode


Il margine per un ordine di 1 lotto è uguale:

   double OneLotMarg =MarketInfo(Symbol(),MODE_MARGINREQUIRED);

Lo capirete più tardi.

E dovete anche controllare se avete abbastanza fondi liberi:

   double Free = AccountFreeMargin();
   
   if(Lts*OneLotMarg>Free) return(0);
 
DhP:


E dovreste anche controllare se ci sono abbastanza fondi disponibili:

   double Free = AccountFreeMargin();
   
   if(Lts*OneLotMarg>Free) return(0);

Questa condizione è necessaria, ma non sufficiente... Da quanto ho capito, devi anche considerare il valore dello spread, cioè devi prendere in considerazione la perdita che subirà immediatamente quando aprirai l'ordine corrispondente! :))) O ho dimenticato qualcos'altro?
 

Mi è piaciuto lo script di questo indicatore, la sua semplicità. per favore aiutatemi a creare uno script che si fermi su queste linee, passando attraverso gli ordini.

https://www.mql5.com/ru/code/9588

 
MaxZ:
Questa condizione è necessaria, ma non sufficiente... Da quanto ho capito, devi anche considerare il valore dello spread, cioè devi considerare la perdita che subirà immediatamente quando aprirai l'ordine corrispondente! :))) O ho dimenticato qualcos'altro?
Penso che tu abbia ragione, ma non ha quasi importanza nella pratica.
 
DhP:
Penso che tu abbia ragione, ma non ha quasi importanza nella pratica.

Per esempio, mi esercito in varie competizioni. E ci sono state situazioni simili. Verrebbe fuori l'errore 134. Ma non ho ancora perfezionato la funzione di calcolo del lotto. Ero troppo pigro... Poco dopo la richiesta viene ripetuta e l'ordine viene aperto. E un po' più tardi uniamo il deposito demo! :)))

Inoltre, questa condizione non funziona quando si aprono i controordini, quando non c'è abbastanza denaro, ma il lotto aperto può essere compensato da un controordine.

Qualche sfumatura e niente di più.

 
DhP:
MaxZ:
Questa condizione è necessaria, ma non sufficiente... Da quanto ho capito, bisogna anche considerare il valore dello spread, cioè bisogna considerare la perdita che si subirà immediatamente quando si apre l'ordine corrispondente! :))) O forse ho dimenticato qualcos'altro?
Penso che tu abbia ragione, ma non ha quasi importanza nella pratica.

Si scopre che il fatto che un ordine si apre con una perdita pari allo spread non ha alcun effetto. Se impostiamo Risk = 100%, l'ordine viene aperto con il massimo volume possibile, e AccountFreeMargin() mostra o "+" o "- " (nel "Strategy Tester") subito dopo l'apertura...

Ma, quando si aprono diversi ordini, l'errore 134 si verifica di tanto in tanto. Non ho ancora capito a cosa è legato l'errore... Prendo in considerazione i fondi necessari per aprire ordini opposti secondo la stessa condizione. Questo significa che l'ordine opposto sarà aperto solo quando siamo nel più e la condizione corrispondente si innesca.

Il codice è usato per calcolare il lotto:

double Free    = AccountFreeMargin();
double One_Lot = MarketInfo(Symbol(), MODE_MARGINREQUIRED);      
double Step    = MarketInfo(Symbol(), MODE_LOTSTEP);
newLots = MathFloor(Free*Risk/100/One_Lot/Step)*Step;

p.s.: non mi piace lasciare i miei bloopers...

 

Saluti Signori!

Per favore, aiutatemi a inserire nel mio EA la funzione di chiusura degli ordini.

L'idea è la seguente:

1) se il prezzo di un ordine SELL aperto diventa inferiore al prezzo del TP esposto di questo ordine, allora questo ordine viene chiuso.

2) se il prezzo di un ordine BUY aperto è superiore al prezzo di TP impostato per questo ordine, verrà chiuso.

Se siete in grado di aiutare, scrivete a oniava@gmail.com, non vedo l'ora di sentirvi.

Molte grazie in anticipo.

Cordialmente Oleg.


P.S. Puoi fare un assistente EA separato con un numero magico.

 
belck:

Mi è piaciuto lo script di questo indicatore, la sua semplicità. per favore aiutatemi a creare uno script che posizionerà gli stop su queste linee.

https://www.mql5.com/ru/code/9588

Iniziate a farlo e noi vi aiuteremo. Questo lo fa sembrare un "fallo per me". C'è praticamente tutto quello di cui hai bisogno lì dentro. Tutto quello che resta da fare è entrare e uscire dai vostri ordini.
 

Ciao a tutti. Potete dirmi come prescrivere nell'EA,

Quando viene raggiunto un certo profitto, l'EA non apre più una posizione,

Si apre solo quando l'EA viene avviato o riavviato successivamente.

Motivazione: