Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 962
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Per favore, chiarite, sono totalmente confuso:
Ho trovato uno script che chiude gli ordini con profitto o con meno, ma non capisco la logica - nelle variabili esterne è impostato il bool close_only_profit_orders=false, e poi in f-i start è controllato dalla negazione: if(OrderType()==OP_BUY && (!close_only_profit_orders || order_prof>0). Cioè, se non è falso o ci sono ordini con un profitto, allora segue la funzione OrderClose(). Ma da nessuna parte nel codice, non ci sono condizioni sotto le quali la variabile close_only_profit_orders diventa vera. Allora a cosa serve?
Non c'è niente da trovare con questa variabile. Questo è un parto dell'immaginazione del programmatore; solo lo sviluppatore sa cosa c'è nel vostro EA. Posso solo ipotizzare per quale motivo questo possa accadere e come verificarlo. Ho appena incontrato un EA che stupidamente ha chiuso tutti gli ordini su tutte le coppie prima di iniziare a lavorare. Beh, questo è un parto dell'immaginazione del programmatore. Quindi, se il vostro Expert Advisor funziona come dovrebbe, dobbiamo cercare dove è stato scritto di chiudere gli ordini e per quale motivo. Forse, maghi diversi aiuteranno.
Per favore, aiutatemi a risolvere il problema.
int n1=.....;
int n2=.....;
M1[i]=iMA(NULL,0,n1,n2,MODE_SMA,PRICE_CLOSE,i);
Mostro i valori di n1 e n2 nel commento, i valori sono corretti, ma il mouse non è disegnato correttamente, non su tutto il grafico. Ma se digito a mano i valori di n1 e n2 al posto di queste variabili, tutto viene disegnato come dovrebbe essere. Non capisco come sia possibile quando i valori delle variabili sono corretti? Come posso fare in modo che il grafico sia disegnato con un offset a destra? Ora viene disegnato solo fino alla barra zero, cioè quella attuale.
Per favore, aiutatemi a risolvere il problema.
int n1=.....;
int n2=.....;
M1[i]=iMA(NULL,0,n1,n2,MODE_SMA,PRICE_CLOSE,i);
Mostro i valori di n1 e n2 nel commento, i valori sono corretti, ma il mouse non è disegnato correttamente, non su tutto il grafico. Ma se digito a mano i valori di n1 e n2 al posto di queste variabili, tutto viene disegnato come dovrebbe essere. Non capisco come sia possibile quando i valori delle variabili sono corretti? Come posso fare in modo che il grafico sia disegnato con un offset a destra? Ora viene disegnato solo fino alla barra zero, cioè quella attuale.
Se n1 non è uguale al valore TF, allora capisco perché non viene disegnato correttamente. E lo spostamento a destra farà n2 con meno.
Non capisco cosa c'entri TF, n1 è il periodo di media per il calcolo dell'indicatore. Ho una buona idea di cosa farci, non sono sicuro di cosa farci, ma non sono sicuro di cosa farci.
UPD. ho messo 0 al posto di n2 e lo shift è reso bene, ma n1 è un po' strano :(
Proprio così! Sono io che ho sbagliato, ma perché non dovrebbe funzionare se lo fai bene?!
Proprio così! Sono io che sbaglio, ma perché non può funzionare se lo fai bene?!
Sì, anche io sono perplesso da questo paradosso. Se riavvio il terminale, il carro viene reso come dovrebbe essere, ma riavviare ogni volta è scomodo.
UPD Ho risolto il problema premendo il tasto destro e selezionando "Refresh" dal menu, ma se premo compile nel codice, il disegno è incasinato... Ma questa è un'inezia, aggiornerò semplicemente :))
Anche questo paradosso mi lascia perplesso. Se riavvio il terminale, allora il carro viene disegnato come dovrebbe essere, ma è scomodo riavviare ogni volta.
UPD Il problema è stato risolto cliccando con il tasto destro del mouse e selezionando "Refresh" nel menu, ma se premo compile nel codice, il carro viene disegnato in modo errato... ma questa è un'inezia, aggiornerò semplicemente :))
L'ho risolto da solo, grazie per il tuo contributo :)
1. Un EA apre (in base all'incrocio con la MA) più (3) ordini a mercato allo stesso prezzo (es. COMPRA a 1,1180).
Prima che la MA fosse attraversata, gli ordini erano ordini Buy Stop.
2. Cos'è questo mod_Buy1/2/3? - Avete capito lo scopo del ciclo di cui sopra?