Spread trading dans Meta Trader - page 16

 

Une dernière question pour les personnes présentes. Puisque le conseiller expert du thème mentionné calcule deux instruments, cette question sera pertinente.

Par exemple. Si nous prenons deux instruments en tandem - chacun d'eux commence à un moment différent.

(Négociés sur des plateformes différentes ou pour d'autres raisons)

Les matières premières BRN et CL (dans mt4 BR), par exemple, démarrent souvent quotidiennement, à 2 ou 3 heures d'intervalle.

Identique (dax+futsi), -différence horaire.

Dans de tels cas, le calcul de l'écart moyen entre les instruments sur de petites échéances sera parfois très incorrect ! Surtout si la session s'est ouverte sur un vide !

Il serait souhaitable de vérifier - dans quelle mesure les dernières mesures coïncident dans le temps. Ces dernières barres - sur lesquelles le spread moyen est calculé - par exemple, dans la même fonction de Fduch - CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars).

En d'autres termes, je veux montrer dans mon commentaire, - combien de dernières barres des deux symboles à l'échelle de temps spécifiée coïncident ?

Pouvez-vous me dire comment faire ?

 
rid >>:

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

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

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

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

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

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

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

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

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

Que voulez-vous dire par "combien de temps les barres ...coïncident-elles" ? Dans ma fonction, je prends les deux barres dont les barres ouvertes coïncident dans le temps pour calculer le spread :

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

Si vous l'appelez sur le cadre temporel M1, vous pouvez être sûr que le spread sera calculé avec des paires de barres qui coïncident l'une avec l'autre dans une minute. Une autre question est de savoir s'il faut utiliser iClose ou iOpen pour calculer le spread. Dans un cas comme dans l'autre, je n'ai pas confiance en l'exactitude des données, alors je calcule maintenant les spreads sur la base des données des ticks collectées en temps réel (à la seconde près).

 
Fduch писал(а) >>

Que voulez-vous dire par "combien de temps les barres ...coïncident-elles" ? Dans ma fonction, je prends les deux barres dont les barres d'ouverture coïncident dans le temps pour calculer le spread :

Si vous l'appelez sur le cadre temporel M1, vous pouvez être sûr que le spread sera calculé avec des paires de barres, qui coïncident les unes avec les autres dans une minute. Une autre question est de savoir s'il faut utiliser iClose ou iOpen pour calculer le spread. Quoi qu'il en soit, je n'ai pas confiance en l'exactitude des données, aussi je calcule maintenant les spreads sur la base des données de tick collectées en temps réel (correspondance à la seconde près).

Exactement : le moyen le plus précis de recueillir vous-même l'historique de propagation des tiques. C'est un peu exagéré de compter par ouverture/fermeture, mais ils sont désynchronisés, bien qu'avec une fréquence de tic-tac suffisante, ils ne devraient pas être très différents dans le temps. Mais en aucun cas haut/bas - ici l'erreur est maximale.

 
getch >>:

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

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

Actif, cointégration, corrélation -> Google.

Je déconseille fortement Wikipédia sur ce sujet - articles absolument nuls. Sur le trading de paires, au lieu d'un article, c'est juste une publicité pour un site inutile.

Je conseille vivement d'utiliser de bons manuels, par exemple Carol Alexander "Market models".

 

J'ai peur d'être indiscret. Mais une dernière question.

J'essaie de donner la possibilité de tester (dans le testeur) le conseiller expert en utilisant la méthode indiquée dans la branche. Au moins des transactions du symbole courant ont été ouvertes, c'est-à-dire de celui du graphique sur lequel l'EA est installé.

L'imitation virtuelle des métiers du second.

Cependant, j'ai découvert que si le prix OCHL du deuxième instrument dans le testeur est "peu ou principalement" retourné, alors même les offres et les demandes actuelles du deuxième instrument ne sont pas retournées - des zéros sont affichés !

Commentaire(Ask_Tiker2,"_",Bid_Tiker2) ;

C'est censé être comme ça ? Ou est-il possible de trouver ces prix d'une manière ou d'une autre ?

 
Reshetov >>:

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

Merci :)

rid a écrit(a) >>

J'essaie de faire en sorte qu'il soit possible de tester (dans le testeur) l'EA en utilisant la méthode indiquée dans la branche. Si l'on veut ouvrir des transactions d'un seul, - l'instrument actuel, c'est-à-dire celui sur le graphique duquel l'EA a été installé.

Il n'a aucun effet.

Cependant, j'ai découvert que si le prix OCHL du deuxième instrument de la "couverture" dans le testeur est "peu ou principalement" retourné, alors même les offres et les demandes actuelles du deuxième instrument ne sont pas retournées - des zéros sont affichés !

Vérifiez l'historique et les erreurs après la fonction.

 
TheXpert >>:


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


L'histoire est présente.

//Валютная версия
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());

L'erreur 4059 est affichée

ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE 4059 Fonction non autorisée en mode test

C'est étrange. Après tout, le premier et le deuxième outil sont définis via Marketinfo. Le premier instr. - s'affiche normalement (92_91.98 - USDJPY), mais pas l'EURJPY.

Et si je place l'EA sur le second instrument, c'est-à-dire sur le graphique EURJPY - au contraire, le premier symbole donne des zéros dans le commentaire, mais les prix du second - EURJPY - sont affichés normalement
.


 

rid писал(а) >>

L'erreur 4059 est affichée

Je vous ai peut-être induit en erreur. MarketInfo est "sûr", c'est-à-dire qu'il ne génère pas d'erreurs en cours de route.
 
TheXpert >>:


Бесполезно.


Je pense que ce n'est pas complètement inutile. Si le travail de l'Expert Advisor est réalisé par des prix d'ouverture - y compris des positions de fermeture - par exemple sur de petites échelles de temps (M1-M5). Nous pouvons alors réaliser un test approximatif.

Après tout, les prix OHLC Marketinfo sont normalement renvoyés par le testeur. Cela signifie que nous pouvons obtenir (presque) un bénéfice réel d'un symbole aux prix OPEN et calculer un "bénéfice virtuel" de l'autre. Et ensuite, c'est l'inverse.

N'est-ce pas ?

Et nous obtiendrons des ouvertures et des fermetures de positions tout à fait correctes pour le symbole actuel lors de chacune de ces exécutions.

 

rid писал(а) >>

N'est-ce pas ?

Non. N'oubliez pas les sauts de barre. Même si vous parvenez à mettre en œuvre un conseiller expert pour un testeur, les entrées pour les différents symboles ne seront pas synchronisées en raison des barres manquées.

Et pour les barres manquées, vous obtiendrez probablement des barres au lieu des prix.

Nous ne pouvons pas faire de boucle ou travailler par minuterie dans le testeur. C'est donc

TheXpert a écrit :>>

C'est inutile.