[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 572
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho provato a creare un EA basato su una moneta, testa compra, croce vende. Ma non funziona. Quando si prova in una finestra c'è una scritta: Quando si apre l'ordine errore 131, nell'applicazione guardato - non è il volume corretto. Ho guardato attentamente, non riesco a trovare alcun errore. C'è un punto ovunque, per separare la parte intera, non una virgola. Per favore, aiutatemi. Il codice è nel file.
Ho provato a creare un EA, basato su moneta, aquila comprare, croce vendere. Ma non ha funzionato. Durante il test, ho ottenuto il seguente messaggio nella finestra: Errore 131 all'apertura dell'ordine, l'ho cercato nell'applicazione, non è il volume corretto. Ho guardato attentamente, non riesco a trovare alcun errore. C'è un punto ovunque, per separare la parte intera, non una virgola. Per favore, aiutatemi. Il codice è nel file.
uso:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Dimensione minima possibile del lotto
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Passo minimo di cambio lotto
Il lotto dovrebbe essere >= MinLot e normalizzato usando Lot=NormalizeDouble(Lot,Dig);
dove Dig = Numero di cifre dopo il punto decimale StepLota, cioè StepLot=0,01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
Per esempio, con MinLot=0.1 e StepLot=0.01:
Il lotto può essere 0,1, 0,11, 0,12 ecc. Ma non può essere 0,99, 0,98 e certamente non può essere 0,998, 0,999, 0,111, 0,101.
uso:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Dimensione minima possibile del lotto
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Passo minimo di cambio lotto
Il lotto deve essere >= MinLot e normalizzato usando Lot=NormalizeDouble(Lot,Dig);
dove Dig = Numero di cifre dopo il punto decimale StepLota, cioè StepLot=0,01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
Per esempio, con MinLot=0.1 e StepLot=0.01:
Il lotto può essere 0,1, 0,11, 0,12 ecc. Ma non può essere 0,99, 0,98 e certamente non può essere 0,998,0,999, 0,111, 0,101.
Per esempio, con MinLot=0.1 e StepLot=0.01:
Il lotto può essere 0,1, 0,11, 0,12 ecc. Ma non può essere 0,99, 0,98.
Non ci credo... davvero?
88 o 89 volte aumentare il lotto del passo minimo. Per esempio - il lotto di ogni posizione successiva aperta deve essere aumentato del passo minimo. Cioè, aggiungere senza mezzi termini il passo minimo di cambio di lotto al lotto della posizione precedente. La 98a posizione da aprire avrà il lotto 0,98, rispettivamente, il lotto della 99a posizione sarà aumentato di un passo minimo 0,98+0,01=0,99...
Pensate che DT non si lascerà aprire con una tale quantità?
Per esempio con MinLot=0.1 e StepLot=0.01:
Il lotto può essere 0,1, 0,11, 0,12 ecc. Ma non può essere 0,99, 0,98
Non ci credo... davvero?
88 o 89 volte aumentare il lotto del passo minimo. Per esempio - il lotto di ogni posizione successiva aperta deve essere aumentato del passo minimo. Cioè, aggiungere senza mezzi termini il passo minimo di cambio di lotto al lotto della posizione precedente. La 98a posizione da aprire avrà il lotto 0,98, rispettivamente, il lotto della 99a posizione sarà aumentato di un passo minimo 0,98+0,01=0,99...
Pensi che le società di intermediazione non permetteranno l'apertura con un tale lotto?
Dannazione .... Sbagliato ovviamente. Non può essere 0,09, 0,08.
E stupido o non stupido - sta allo scrittore di EA decidere.
No, ovviamente devo aprire con un ordine di acquisto o di vendita all'apertura della prossima o di una delle barre successive. E ho anche intenzione di chiudere con un ordine, assegnandolo in base al numero di punti dall'apertura.
Più tardi (nel fine settimana) posterò qui il codice per aprire un ordine di mercato - sia di acquisto che di vendita (a vostra scelta), all'apertura di una nuova candela.
uso:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Volume minimo possibile del lotto
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Passo minimo di cambio lotto
Il lotto deve essere >= MinLot e normalizzato usando Lot=NormalizeDouble(Lot,Dig);
dove Dig = Numero di cifre dopo il punto decimale StepLota, cioè StepLot=0,01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
Per esempio, con MinLot=0.1 e StepLot=0.01:
Il lotto può essere 0,1, 0,11, 0,12 ecc. Ma non può essere 0,99, 0,98 e tanto meno 0,998,0,999, 0,111,0,101
A proposito, non ho intenzione di usare questo Expert Advisor, sto solo imparando il linguaggio di programmazione. Infatti, ho deciso per divertimento di vedere come funzionerà sul tester, ho appena letto che il generatore di numeri casuali non dà numeri così casuali, poiché si ripete. Il problema non sembra essere nell'ortografia sbagliata del numero, ma nell'algoritmo, proprio qual è il problema?
Aiuto per un problema.
La domanda è questa: ho un gufo martin, apre le ginocchia dopo un determinato numero di punti, ma con un nuovo majik. Risulta che il segnale apre uno o tre ordini con majic = 1, poi meno il prossimo ginocchio su un segnale2 apre uno o tre ordini con un majic 2 e così via.
Così ogni ginocchio va su 1-3 ordini con la propria maestria.
Ora il punto della domanda è come calcolare in un ciclo gli ordini di ogni majic, per esempio, ho provato a farlo in questo modo
Che ne dite di questo:
Non l'ho controllato, l'ho steso sul mio ginocchio...
Che ne dite di questo:
Non l'ho controllato, l'ho solo abbozzato sulle mie ginocchia...