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

 
nadya:
E se la scrivo come variabile globale, devo assegnare un valore direttamente lì?

In questi, tanto più che non resettano il loro stato allo 0 desiderato dopo deinit().

è meglio inizializzarli in init().

 
nadya:
Devo cambiare l'ideologia del programma. quando il middleSL viene inviato allo stoploss, viene normalizzato, cioè arrotondato ad un certo segno, quando diviso per 2 succederà così, è inevitabile.
int z;
z=MathMod(Close[0]*10000,2.0);
if ((z==0)&&High[0]>H)
{
H=High[0];
middleSL=OrderOpenPrice()+(Close[0]-OrderOpenPrice())/MIDDLESL;
}

Ho leggermente complicato il codice, per l'intera transazione dall'apertura alla chiusura solo 3 volte ha dato un errore, ora in tempo reale guarderò le condizioni in cui si verificano, fondamentalmente non mi danno fastidio, tutto funziona come un orologio, ma ho paura che il server banna quando vado a un conto reale

 
nadya:
e se lo scrivo come variabile globale, devo assegnare il valore direttamente lì?


Si può, ma non ha senso, perché non sarà lo stesso di una variabile normale. Quando trascini lo svetnic sul grafico, apparirà una finestra, vai alla scheda successiva "Input parameters" dove specifichi i valori desiderati e lo svetnic li memorizzerà

Se vuoi che il valore sia costante per ogni ciclo dell'EA, inseriscilo subito dopo l'inizio, per esempio

int N=5; //одновременно объявляется переменная и присваивается ей значение
double K=3,5; //то же самое
 

per favore ditemelo, o scoppio subito!!!

un EA può cancellare gli ordini in sospeso perché non ha fondi sufficienti?

 
nadya:

per favore ditemelo, o scoppio subito!!!

un EA può cancellare gli ordini in sospeso perché non ha abbastanza fondi?


se si richiede di controllare il saldo e chiudere l'ordine in caso di insufficienza, allora sì, altrimenti emetterà un errore o qualcos'altro, e forse si chiuderà, ma è sempre meglio fornire tutte le opzioni e prescriverlo nel codice

"ERR_NOT_ENOUGH_MONEY 134 Non ci sono abbastanza soldi per eseguire una transazione" questo può darlo, ma l'ordine sarà cancellato o rimarrà in giro non lo so

 
LazarevDenis:

Ho reso il codice un po' più complicato, per tutta la transazione dall'apertura alla chiusura ha dato solo 3 errori, ora in tempo reale guarderò le condizioni in cui si verificano, non mi preoccupano in linea di principio, tutto funziona come un orologio, ma ho paura che il server si blocchi quando vado su un conto reale

Sì, è troppo complicato, esiste un approccio di principio?
 
LazarevDenis:

Se si richiede che controlli il saldo e chiuda l'ordine se c'è un ammanco, allora sì, altrimenti darà un errore o qualcos'altro, o forse lo chiuderà, ma è sempre meglio considerare tutte le opzioni e prescriverlo nel codice.
Non ne ho davvero bisogno, ma i miei ordini vengono cancellati in modo strano, continuo a cercare un errore per tutta la sera.
 
nadya:
Il fatto è che non ne ho davvero bisogno, ma i miei ordini vengono cancellati in modo strano, sto cercando un errore per tutta la sera.


sono sicuro che si tratta di un grande lotto e non abbastanza denaro libero, o molti ordini sono già stati aperti (se si lascia aprire più di uno).

Se stai lavorando in un tester o su una demo, prova ad aumentare la quantità di denaro e a impostare un lotto minimo

 
nadya:

per favore ditemelo, o sto per scoppiare!!!

un EA può cancellare gli ordini in sospeso perché non ha fondi sufficienti?


Sì, date un'occhiata al registro.
 
LazarevDenis:


Più che sicuro che è impostato un lotto troppo grande e non ha abbastanza denaro libero, o un lotto è già aperto (se gli permetti di aprire più di un ordine)

se stai lavorando in un tester o demo, cerca di aumentare la quantità di denaro e metti il lotto minimo

L'ho già fatto e ha funzionato subito! evviva!
Motivazione: