[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 700
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
La domanda può essere banale, l'Expert Advisor sta facendo trading su M1, è arrivato il segnale per aprire un ordine, supponiamo che lo stop sia corto e che l'ordine si sia chiuso sullo sl. ma la condizione per aprire esiste ancora.
Qual è il modo migliore per assicurarsi che l'ordine non venga aperto di nuovo nello stesso minuto?
Il conteggio dei numeri in OrderSelect() parte da zero. E tu hai 1, il che significa che stai cercando un secondo ordine, anche se ne hai solo uno sul mercato, per questo non funziona.
Boris, una piccola correzione nel codice, ho dimenticato di aggiungere il ripristino della posizione dell'array, quando si ritorna al lotto originale:
Non sono sicuro di averla messa nel posto giusto. Dopo una perdita può aprire il lotto iniziale, se anche questo è in perdita, può aprire di nuovo il lotto iniziale.
E a volte dopo la prima perdita ci vuole 0,4.
Devo aver messo qualcosa nel posto sbagliato?
Ho un modo molto strano di lavorare con questo codice. Dopo averne perso uno può aprire il primo lotto e se questo perde di nuovo, può aprire il primo lotto.
E a volte dopo la prima perdita prende 0,4.
Devo aver messo qualcosa nel posto sbagliato?
Boris, una piccola correzione nel codice, ho dimenticato di aggiungere il reset della posizione dell'array, quando si ritorna al lotto originale:
Ti ho detto perché non funziona correttamente - l'hai messo nel posto sbagliato... :) Penso che se svitate le ruote e lo mettete nel bagagliaio, non andrete lontano, anche se sembra che le ruote siano lì e le porte si chiudano... :)
Sono assolutamente d'accordo con te. Ma non sto criticando il tuo codice, ho solo detto che ho avuto un problema con esso), a proposito, ho di nuovo un problema con esso, se non ti dispiace - dimmi cosa c'è di sbagliato, mi piacerebbe davvero capire cosa sto facendo male.
extern colorOpenBuy = Blue;
extern colorCloseBuy = Aqua;
extern colorOpenSell = Red;
extern colorCloseSell = Aqua;
void deinit() {
Comment(");
}
double Lots_New = Lot;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start(){
if (lFlagUseHourTrade){
if (!(Hour()>=nFromHourTrade && Hour()<=nToHourTrade)) {
Comment("Il tempo del commercio non è ancora arrivato!");
return(0);
L'ho incollato qui, come hai detto tu, prima della funzione Start, ma alla compilazione dice 'Lot' - initialization expected D:\MetaTrader\experts\Prostoj_2.mq4 (39, 20)
Per favore, ditemi cosa può essere.
Controllare l'apertura di una nuova candela. Se nuovo, si apre, se vecchio, no...
Sono assolutamente d'accordo con te. Ma non sto criticando il tuo codice, sto solo dicendo che ho alcuni problemi con esso. A proposito, ho un altro problema con esso, se non ti dispiace - dimmi cosa c'è di sbagliato, mi piacerebbe davvero sapere cosa sto facendo male.
extern colorOpenBuy = Blue;
extern colorCloseBuy = Aqua;
extern colorOpenSell = Red;
colore esterno colorCloseSell = Aqua;
void deinit() {
Commento(");
}
doppio Lotti_Nuovo = Lotto;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start(){
se (lFlagUseHourTrade){
if (!(Hour()>=nFromHourTrade && Hour()<=nToHourTrade)) {
Comment("Il tempo del commercio non è ancora arrivato!");
ritorno(0);
L'ho inserito qui, come hai detto tu, prima della funzione Start, ma quando si compila dice 'Lot' - initialization expected D:\MetaTrader\experts\Prostoj_2.mq4 (39, 20)
Per favore, ditemi cosa può essere.
Dove viene inizializzato Lot nel vostro codice?
Poi, solo dopo aver controllato l'alce, cambiate Lots_New come scritto prima, o assegnategli il valore = Lot;
Già... Sto avendo difficoltà con gli array... Cercando di riempire un array con i dati dell'induttore, la piccola funzione è un buco nell'acqua... Puoi dirmi cosa sto sbagliando?
Io lo chiamo così:
SaveDataIND(TempIND, 20);
Dov'è il problema?Già... Sto avendo difficoltà con gli array... Cercando di riempire un array con i dati dell'induttore, la piccola funzione è un buco nell'acqua... Puoi dirmi cosa sto sbagliando?
Io lo chiamo così:
Dove diavolo è il problema?il vostro cane nel passare i parametri alla funzione, se passate come SaveDataIND(double TempIND[])
double TempIND[ ] è in effetti un nuovo array per la funzione ma senza il diritto di cambiare i parametri, prova SaveDataIND(double & TempIND[])