Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 336

 
Maxi-M:
Per favore. Lo screenshot contiene il log e le impostazioni.
E nel log del tester in modalità visualizzazione, cosa dice?
 
Tapochun:
E nel log del tester in modalità visualizzazione, cosa dice?

Non si scrive niente di nuovo... Il grafico sta scorrendo, ma non vengono effettuate compravendite. Il registro è silenzioso.

Come se non ci fosse nessun segnale per fare trading, tuttavia, ho messo Alert() nel codice dopo questa sezione:

Commercio CTrade;

trade.SetExpertMagicNumber(MAGICMA);

trade.PositionOpen(_Symbol,signal,TradeSizeOptimized(), SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL ? SYMBOL_BID:SYMBOL_ASK), 0,0);

e Alert() mostra un messaggio, di conseguenza, il momento, secondo la logica, dopo il quale un affare dovrebbe essere eseguito, è passato.

 
Maxi-M:

Non si scrive niente di nuovo... Il grafico sta scorrendo, ma non vengono effettuate compravendite. Il registro è silenzioso.

Come se non ci fosse nessun segnale per fare trading, tuttavia, ho messo Alert() nel codice dopo questa sezione:

Commercio CTrade;

trade.SetExpertMagicNumber(MAGICMA);

trade.PositionOpen(_Symbol,signal,TradeSizeOptimized(), SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL ? SYMBOL_BID:SYMBOL_ASK), 0,0);

e Alert() mostra un messaggio, di conseguenza, il momento, dopo il quale un trade sarebbe stato eseguito, logicamente passato.

Interessante... Posso suggerire di provare ad aprire un conto demo sul server MetaQuotes-Demo e provare ad eseguire nuovamente il test. Oppure scrivere al Service Desk.
 
Tapochun:
Interessante... Posso suggerirti di provare ad aprire un conto demo sul server MetaQuotes-Demo e provare ad eseguire nuovamente il test. Oppure scrivere al Service Desk.

Ho un conto demo con BCS... E il servizio di assistenza a chi?

C'è però un'altra possibilità - ho installato MT sul mio portatile di casa, e qui (dove sto testando, al lavoro) ho solo la cartella copiata.

Forse è questa la ragione... Qualcosa non funziona bene. Dovrò riprovare a casa, per essere sicuro.

 
Maxi-M:

Ho un conto demo con BCS... E il servizio di assistenza a chi?

C'è però un'altra possibilità - ho installato MT sul mio portatile di casa, e qui (dove sto testando, al lavoro) ho solo la cartella copiata.

Forse è questa la ragione... Qualcosa non funziona bene. Dovrò riprovare a casa, per essere sicuro.

Potrebbe essere...

Cerca Service Desk nel tuo profilo, fai una richiesta lì. Ma prima di tutto cercate di eseguirlo da casa.

Date un'occhiata anche qui. Buona fortuna!

P.s. Si prega di scrivere quando funziona in che cosa era il motivo. Può aiutare gli altri.

 
Buon giorno, consigliare come fare le linee sono stati mostrati su tutti i grafici coppia, quando si apre un nuovo grafico sono stati immediatamente visibili.... consigliare nelle proprietà di quale operatore o funzione?
 
Students:
Buon giorno, consigliare come fare che le linee sarebbe mostrato su tutti i grafici coppia, quando si apre un nuovo grafico erano immediatamente visibile....podkat nelle proprietà di quale operatore o funzione?

Disegna la linea una volta e salva il modello. Su un nuovo grafico, applica semplicemente il modello salvato. Oppure salva il modello come default.tpl e questo modello predefinito sarà applicato a tutti i nuovi grafici aperti.

Lavorare con i grafici: modelli e profili - terminale client

Документация по MQL5: Операции с графиками / ChartOpen
Документация по MQL5: Операции с графиками / ChartOpen
  • www.mql5.com
Операции с графиками / ChartOpen - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Maxi-M:

Buona giornata a tutti.
Per favore, consigli su come testare gli EA.

Sto appena iniziando a imparare come scrivere gli EA.

Ho scaricato questo EA: https://www.mql5.com/ru/code/1812, l'ho aperto nell'editor, l'ho eseguito per il debug, ho iniziato i test e non succede nulla. Le offerte non si aprono e quindi nessun risultato.

Ho provato anche altri EA, compreso quello più semplice preso da qui, che dovrebbe semplicemente aprire e chiudere i trade. Stessa cosa - non succede niente.

Ho provato a mettere un breakpoint. Funziona solo in OnInit. Il resto del codice non funziona, il che è molto strano.

Ho capito che OnTick funziona aggiungendo un Alert. Tuttavia, non viene aperto alcun trade e non viene aperto nemmeno se le condizioni richieste sono soddisfatte.

Ho aggiunto un Alert(GetLastError(). Viene visualizzato l'errore 4753.

La domanda è questa: forse sto facendo qualcosa di sbagliato? Una delle condizioni richieste per il test non è soddisfatta?

Grazie in anticipo per la vostra risposta.

Aggiungere anche dopo aver provato ad aprire una posizione:

Print( "retcode = ",result.retcode );

Dove risultato - dati della struttura del risultato della richiesta di scambio. Quale codice viene restituito?

 
Tapochun:

Еще добавьте после попытки открыть позицию: 

где result - данные структуры результатов торгового запроса. Какой возвращается код?

Puoi per favore elaborare come creare questa struttura? Dopotutto, deve essere creato e compilato prima di potervi accedere, a quanto ho capito.

Non ho ancora molta familiarità con esso - sto appena iniziando a prenderci confidenza.

Per quanto riguarda la mia ricerca:

Ho già provato tutto quello che potevo. Ho anche eseguito un terminale normalmente installato. Il risultato è lo stesso.

Forse dovrei provarlo su qualche robot semplice e funzionante al 100%, con parametri noti di tutte le variabili?

Allora posso essere sicuro che l'EA non funzionerà come dovrebbe e solleverò il caso nel service desk.

Per favore consigliatemi un mega semplice Expert Advisor, scaricatelo voi stessi e ditemi con quali parametri e con quale coppia dovrebbe essere eseguito?

Poi possiamo controllare i risultati.

 
Maxi-M:
Non è il robot... Funziona senza alcun errore. La struttura del risultato della negoziazione è MqlTradeResult, è il secondo parametro della funzione OrderSend(). Il codice è stato scritto usando OOP, non ho familiarità con esso... Dovete trovare un metodo che invii una richiesta di compravendita usando OrderSend() e dopo chiamare Print( result.retcode ) dove result è un oggetto della struttura MqlTradeResult.
Motivazione: