Spread trading in Meta Trader - pagina 16

 

Un'altra domanda per i presenti. Poiché l'Expert Advisor nel tema indicato calcola due strumenti, questa domanda sarà rilevante.

Per esempio. Se prendiamo due strumenti in tandem - ognuno di loro inizia in un momento diverso.

(Scambiati su piattaforme diverse o per altri motivi)

Le materie prime BRN e CL (in mt4 BR), per esempio, spesso iniziano ogni giorno, a 2-3 ore di distanza l'una dall'altra.

Lo stesso (dax+futsi), -differenza oraria.

In questi casi, il calcolo dello spread medio tra strumenti su piccoli timeframe sarà talvolta molto scorretto! Soprattutto se la sessione si è aperta con uno scarto!

Sarebbe auspicabile controllare - quanto le ultime barre coincidono nel tempo. Quelle ultime barre - sulle quali viene calcolato lo spread medio - per esempio, nella stessa funzione di Fduch - CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars).

In altre parole, voglio mostrare nel mio commento, - quante ultime barre di entrambi i simboli al timeframe specificato coincidono?

Potresti dirmi come fare?

 
rid >>:

Ещё один вопрос присутствующим. Поскольку советник в заявленной теме обсчитывает два инструмента, то этот вопрос будет актуален.

Например. Если мы берем в тандем два инструмента, - каждый из которых начинает работу в разное время.

(Торгуются на разных площадках или по др. причинам)

Сырьевые BRN и CL (в мт4 БР), например, ежедневно начинают работу зачастую, с разницей в 2-3 часа.

Тож самое (дакс+футси), -часовая разница.

В таких случаях расчет среднестат. спреда между инструментами на малых тф иногда будет оч. некорректным! Особенно, если сессия открылась гэпом!

Хотелось бы предусмотреть проверку, - насколько по времени совпадают последние бары. Те последние бары, - по которым ведется расчет среднестатич. спреда - например, в той же функции от Fduch-а - CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars)

Иначе говоря, хотелось хотя бы отобразить в комменте, - сколько последних баров обоих инструментов на заданном тф совпадают по времени ?

Подскажите, как это сделать ?

Cosa intendi per "quanto tempo coincidono le ...barre" ? Nella mia funzione, prendo le due barre le cui barre aperte coincidono nel tempo per calcolare lo spread:

 int symb2Shift = iBarShift( Symbol_2, Timeframe,iTime( Symbol_1, Timeframe, k),true);

Se lo chiami sul timeframe M1, puoi essere sicuro che lo spread sarà calcolato con coppie di barre che coincidono tra loro entro un minuto. Un'altra domanda è se usare iClose o iOpen per calcolare lo spread. In ogni caso, non mi sento sicuro della correttezza, quindi ora sto calcolando gli spread basati sui dati dei tick raccolti in tempo reale (corrispondendo al secondo più vicino).

 
Fduch писал(а) >>

Cosa intendi per "quanto tempo coincidono le ...barre" ? Nella mia funzione, prendo le due barre le cui barre aperte coincidono nel tempo per calcolare lo spread:

Se lo chiami sul timeframe M1, puoi essere sicuro che lo spread sarà calcolato con coppie di barre che coincidono tra loro entro un minuto. Un'altra domanda è se usare iClose o iOpen per calcolare lo spread. In ogni caso, non mi sento sicuro della correttezza, quindi ora sto calcolando gli spread sulla base dei dati dei tick raccolti in tempo reale (corrispondenza al secondo più vicino).

Esattamente: il modo più accurato per raccogliere la storia di diffusione da soli dalle zecche. È una forzatura contare per apertura/chiusura, ma sono fuori sincrono, anche se con una frequenza di tick sufficiente non dovrebbero differire molto nel tempo. Ma in nessun modo alto/basso - qui l'errore è massimo.

 
getch >>:

Хочется все же разобраться в терминологии.

Что такое ассет, коинтеграция и корреляция?

Attività, cointegrazione, correlazione -> Google.

Sconsiglio vivamente Wikipedia su questo argomento - articoli assolutamente scadenti. Sul trading a coppie, invece di un articolo, è solo una pubblicità per un sito inutile.

Consiglio vivamente di usare buoni libri di testo, per esempio Carol Alexander 'Market models'.

 

Ho paura di essere invadente. Ma un'altra domanda.

Sto cercando di dare la possibilità di testare (nel tester) l'Expert Advisor usando il metodo indicato nel ramo. Sono stati aperti almeno i trade del simbolo corrente, cioè di quello sul grafico in cui è installato l'EA.

L'imitazione virtuale dei commerci del secondo.

Tuttavia, ho scoperto che se il prezzo OCHL del secondo strumento nel tester è "scarsamente o principalmente" restituito, allora anche le attuali offerte e richieste del secondo strumento non vengono restituite - vengono visualizzati degli zeri!

Comment(Ask_Tiker2,"_",Bid_Tiker2);

È normale che sia così? O è possibile trovare questi prezzi in qualche modo?

 
Reshetov >>:

Запросто можно залезть в свойства зацикленного советника. Временно отключить кнопку "Советники" и подредактировать свойства. Самое главное, потом не забыть обратно включить кнопку.

Grazie :)

rid ha scritto (a) >>.

Sto cercando di rendere possibile testare (nel tester) l'EA utilizzando il metodo indicato nel ramo. Se solo per aprire operazioni di uno, - lo strumento corrente, cioè quello sul cui grafico è stato installato l'EA.

Non ha alcun effetto.

Tuttavia, ho scoperto che se il prezzo OCHL del secondo strumento della "copertura" nel tester viene restituito "poco o per lo più", allora anche le attuali offerte e richieste del secondo strumento non vengono restituite - vengono visualizzati degli zeri!

Controlla la storia e l'errore dopo la funzione.

 
TheXpert >>:


Проверьте наличие истории и ошибку после функции.


La storia è presente.

//Валютная версия
extern string  Symbol_1 = "USDJPY";
extern string  Symbol_2 = "EURJPY";
///----------------------
int start()
{
//--------Задаем текущие цены инструметов -- 
double Ask_Tiker1 = MarketInfo( Symbol_1,MODE_ASK);
double Bid_Tiker1 = MarketInfo( Symbol_1,MODE_BID); 
double Ask_Tiker2 = MarketInfo( Symbol_2,MODE_ASK);
double Bid_Tiker2 = MarketInfo( Symbol_2,MODE_BID);

Comment( Ask_Tiker1,"_", Bid_Tiker1, "\n",
        Ask_Tiker2,"_", Bid_Tiker2, "\n",
"Ошибка  = ",GetLastError());

Viene visualizzato l'errore 4059

ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE 4059 Funzione non consentita in modalità test

Questo è strano. Dopo tutto, sia il primo che il secondo strumento sono impostati tramite Marketinfo. Il primo istr. - viene visualizzato normalmente (92_91.98 - USDJPY), ma EURJPY no.

E se metto l'EA sul secondo strumento, cioè sul grafico EURJPY - al contrario, il primo simbolo dà degli zeri nel commento, ma i prezzi del secondo - EURJPY - sono visualizzati normalmente
.


 

rid писал(а) >>

Viene visualizzato l'errore 4059

Potrei avervi fuorviato. MarketInfo è "sicuro", cioè non genera errori lungo il percorso.
 
TheXpert >>:


Бесполезно.


Penso che non sia completamente inutile. Se il lavoro dell'Expert Advisor è realizzato da prezzi di apertura, - comprese le posizioni di chiusura, - per esempio su piccoli timeframes (M1-M5). Allora possiamo ottenere un test approssimativo.

Dopo tutto, i prezzi OHLC Marketinfo sono normalmente restituiti dal tester. Significa che possiamo ottenere (quasi) un profitto reale di un simbolo a prezzi OPEN e calcolare un "profitto virtuale" dell'altro. E poi è viceversa.

Non è così?

E otterremo un'apertura e una chiusura abbastanza corretta delle posizioni del simbolo corrente durante ogni esecuzione di questo tipo.

 

rid писал(а) >>

Non è così?

No, non dimenticare i salti di barra. Anche se riuscite a implementare un Expert Advisor per un tester, le entrate per i diversi simboli non saranno sincrone a causa delle barre mancanti.

E sulle barre mancanti probabilmente avrai delle barre invece dei prezzi.

Non possiamo fare loop o lavorare con i timer nel tester. Così è

TheXpert ha scritto : >>.

È inutile.

Motivazione: