[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 298

 
Roger:

Forse perché lo script è stato scritto molto tempo fa e aveva 4 cifre, ora ne ha 5. Ho bisogno di aumentare lo stop e prendere ordini di 10 volte.


Grazie per la risposta, ma sono un po' confuso. Quando richiedo iOpen(Symbol(),PERIOD_H4,0) mi dà un prezzo con 4 cifre decimali.

Se posso, si prega di consigliare come prescrivere il numero di lotti, che dovrebbe utilizzare l'ordine di aprire (assunto di utilizzare il 10% dei fondi disponibili per il commercio sul conto)?

Te ne sarei molto grato.

 

Puoi dirmi, per favore, che quando provo un EA - qualunque periodo io scelga, prova solo le ultime 2-3 settimane... Perché è così?

Voglio testare un anno =((

 
kon12:
È giusto?

Sembra che sia così. Ricordatevi solo di controllare con un tester.
 
Boneshapper:


Grazie per la risposta, ma sono un po' confuso. Quando richiedo iOpen(Symbol(),PERIOD_H4,0) mi dà un prezzo con 4 cifre decimali.

Se posso, si prega di consigliare come prescrivere il numero di lotti, che dovrebbe utilizzare l'ordine di aprire (assunto di utilizzare il 10% dei fondi disponibili per il commercio sul conto)?

Te ne sarei molto grato.


Il prezzo che dà con 5 cifre, tu ne vedi solo 4, ma non è questa la parte difficile. Di solito, quando si aprono ordini per impostare un prezzo di stop si usa un valore relativo in pip e poi lo si moltiplica per il valore di un pip. Pertanto, se impostate uno stop di 50 pip e avete uno stop a 4 cifre a 0,0001, otterrete la differenza tra il prezzo aperto e lo stop a 0,005, ma se avete uno stop a 5 cifre, sarà 0,00001 e sarà solo 0,0005, il che non vi permetterà di aprire un ordine con uno stop troppo basso.

La dimensione del lotto è calcolata dal valore del lotto e dal tasso di cambio della valuta di base con la valuta del tuo deposito. Ma fondamentalmente è semplice aritmetica, provate a risolvere la formula da soli.

 
w_ersoc:

Puoi dirmi, per favore, che quando provo un EA - qualunque periodo io scelga, prova solo le ultime 2-3 settimane... Perché è così?

Voglio testare un anno =((


Deve mancare la storia. Tirate indietro il grafico con il mouse in modo da pompare i dati dal server.
 
Roger:


Il prezzo è dato con 5 cifre, tu ne vedi solo 4, ma non è questa la parte difficile. Di solito, quando si aprono gli ordini per impostare un prezzo di stop, usiamo un valore relativo in pip e poi lo moltiplichiamo per il valore di un pip. In altre parole, se imposti uno stop di 50 pip e hai uno stop a 4 cifre a 0,0001, avresti una differenza di 0,005 tra il prezzo aperto e lo stop, ma se hai uno stop a 5 cifre, avresti uno stop a 0,00001 e sarebbe solo 0,0005, il che renderebbe il tuo stop troppo corto.

La dimensione del lotto è calcolata dal valore del lotto e dal tasso di cambio della valuta di base con la valuta del tuo deposito. Ma fondamentalmente è semplice aritmetica, provate a risolvere la formula da soli.


Ok, lo proverò sicuramente, grazie mille per le vostre risposte!
 

La funzione MarketInfo(Symbol (),MODE_POINT) restituisce sempre 0. E anche lavariabile Point restituisce sempre 0.

Ho un'altra domanda, l'ordine non viene aperto, anche se l'ho prescritto correttamente.

OP1H = iOpen(Symbol(),PERIOD_H1,0);
OP_D = iOpen(Symbol(),PERIOD_D1,0);
SL = OP_D-0.0055;
TP = OP1H+0.0050;
OrderSend (Symbol (), OP_BUY, 0,01,OP1H, 2, SL, TP,Lime);

 

Potete dirmi se c'è una funzione interna o esterna che restituisce la dimensione del lotto dell'ultima posizione chiusa?

 
david2:

Potete dirmi se c'è una funzione interna o esterna che restituisce la dimensione del lotto dell'ultima posizione chiusa?


vedere qui - è sicuramente lì. Sotto - lavorare con ordini e posizioni...
 
Boneshapper:

La funzione MarketInfo(Symbol (),MODE_POINT) restituisce sempre 0. E anche la variabile Point restituisce sempre 0.

Vi prego di consigliarmi come aprire l'ordine, anche se l'ho prescritto correttamente.

OP1H = iOpen(Symbol(),PERIOD_H1,0);
OP_D = iOpen(Symbol(),PERIOD_D1,0);
SL = OP_D-0.0055;
TP = OP1H+0,0050;
OrderSend (Symbol (), OP_BUY, 0,01,OP1H, 2, SL, TP, Lime);


Ci potrebbero essere molti errori qui - leggete attentamente il tutorial - questa sezione - in modo che tutte le condizioni di apertura dell'ordine corrispondano a quelle specificate in questa sezione, e inoltre - non dimenticate di normalizzare i prezzi.

Per esempio, guardate normalize TP. Inoltre, premete F1 sulla funzione di normalizzazione e leggete attentamente il suo aiuto - NormalizeDouble ().

Inoltre, controlla la dimensione del lotto 0.01 - questo è un micro lotto; prova a inserire 0.1 - il tuo conto potrebbe non essere un micro conto.

..........
TP = NormalizeDouble ((PRICE + Mul1*iATR(Symbol(), 0, ATRPeriod_3, 1)), Digits) ;      // TakeProfit (цена)
         
         if (TP<Level_new*Point) TP=Level_new*Point;   // Если меньше допустимого, то допустимый  
         
         Ticket=OrderSend(Symbol(),4,Lots_New,PRICE,5,SL,TP,"Classiс_3_screen",Magic,0,Green); 
...........