Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 489

 
Boris:
.... Lancia gli indicatori richiesti sul grafico e continua a testare....

Come si fa? La risposta è probabilmente ovvia, ma non funziona per me.

In generale, è necessario visualizzare esattamente i buffer che vengono calcolati nell'EA, perché:

1. è più facile fare il debug

2. l'Expert Advisor, a seconda del suo stato (se un affare è aperto o no), calcola l'indicatore con parametri diversi , ma nello stesso buffer. Di conseguenza, i valori saranno diversi dallo stesso indicatore appena lanciato sul grafico.

 
Shepot:

Come si fa? La risposta è probabilmente ovvia, ma non funziona per me.

In generale, è necessario visualizzare esattamente i buffer che sono calcolati nell'EA, perché:

1. è più facile fare il debug

2. l'Expert Advisor, a seconda del suo stato (se un affare è aperto o no), calcola l'indicatore con parametri diversi , ma nello stesso buffer. Di conseguenza, i valori saranno diversi dallo stesso indicatore, appena gettato sul grafico.

Visualizza le linee dell'indicatore nel grafico degli oggetti di visualizzazione OBJ_TREND dell'Expert Advisor secondo i dati calcolati nell'Expert Advisor della barra passata e di quella attuale.
 
Artyom Trishkin:
Visualizza le linee dell'indicatore sul grafico tramite gli oggetti OBJ_TREND dell'EA secondo i dati calcolati nell'EA per la barra passata e la barra corrente.
Grazie. Ho già pensato a una soluzione del genere, ma ha uno svantaggio: le prestazioni lasciano molto a desiderare, soprattutto perché ho 3 indicatori integrati. Forse ci sono altri modi?
 
Shepot:
Grazie. Ho già pensato a una soluzione del genere, ma ha uno svantaggio: le prestazioni lasciano molto a desiderare, soprattutto perché ho 3 indicatori integrati. Forse ci sono altri modi?
Emette le linee all'apertura della barra dei minuti e al ricalcolo dei valori dell'indicatore.
 
Shepot:
Grazie. Ho già pensato a una soluzione del genere, ma ha uno svantaggio: le prestazioni lasciano molto a desiderare, soprattutto perché ho 3 indicatori integrati. Forse ci sono altri modi?

1. Metti gli indicatori richiesti con i parametri appropriati sul grafico, salva il modello con il nome dell'EA o con il nome "tester" e poi quando avvii l'EA in modalità visualizzazione, tutti gli indicatori richiesti saranno visibili sul grafico.

2. I valori dell'indicatore possono essere disegnati nel Comment() ma questo rallenta i test e gli oggetti del grafico.

 
Grazie a tutti voi!
 
Non riesco a capire cosa significa il messaggio di log del terminale: 2015.12.28 18:30:39.718 '1656096': order #0 buy 0.00 at 0 was modified -> sl: 0 tp: 0

 
Petr_k:
Non riesco a capire cosa significa il messaggio di log del terminale: 2015.12.28 18:30:39.718 '1656096': order #0 buy 0.00 at 0 was modified -> sl: 0 tp: 0

l'ordine #0 compra a 0 a 0.00 è stato modificato -> imposta sl: 0 tp: 0
 

Ciao.

C'è una situazione confusa con la tolleranza di deviazione durante i test.

1) Ho impostato la deviazione =10 punti

mytrade.SetDeviationInPoints(dev);
mytrade.SetTypeFilling(ORDER_FILLING_RETURN);

2) Corsa

mytrade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lot,lastprice,lastprice-SL,lastprice+TP,"Test Buy");

o

mytrade.Buy(Lot,_Symbol,0.0,lastprice-SL,lastprice+TP,"Buy Trade");

Non importa se metto lastprice, o signal price, o solo 0.

3) Faccio il test

а)

Print("Разница: ",mytrade.ResultPrice()-цена сигнала);

Ottengo 20, che è più di 10

б)

QL      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   ---===Транзакция===---
QH      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип сделки: DEAL_TYPE_BUY
RN      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Состояние ордера: ORDER_STATE_STARTED
QO      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип ордера: ORDER_TYPE_BUY
CS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Цена: 70885
PS      0       08:57:35.302    Фракталы - неск,ТС,% (Si Splice,M5)     2015.01.29 14:15:32   Тип торговой транзакции: TRADE_TRANSACTION_DEAL_ADD

richiesta.deviazione

LM	0	08:57:35.303	Фракталы - неск,ТС,% (Si Splice,M5)	2015.01.29 14:15:32   Отклонение от запрашиваемой цены: 1

Ottengo il prezzo da MqlTradeTransaction - dopo il segnale (70865), ctrade compra per 70885.

в)

Print(mytrade.RequestDeviation());

= 10.

Quale potrebbe essere il problema? Certo, possiamo guardare l'ultimo scambio o offerta nello stack, ma basandoci sui primi risultati nel reale, è tutto inaffidabile.

Oppure mettere un ordine limite di prezzo+10 e rimuoverlo dopo un po' di tempo.

 
In generale, ho stabilito un prezzo limite d'offerta+rimborso per alcuni secondi. Sui Forti si otterrà l'equivalente del prezzo di mercato e il prezzo di esecuzione non andrà oltre il 100%.
Motivazione: