Meta Trader中的价差交易 - 页 16

 

还有一个问题要问在场的人。由于所述主题中的专家顾问计算两个工具,这个问题将是相关的。

比如说。如果我们把两个乐器串联起来--每个乐器都在不同的时间开始。

(在不同的平台上交易或因其他原因)

例如,商品BRN和CL(在mt4 BR中),经常每天开始,间隔2-3小时。

相同(dax+futsi),-小时差。

在这种情况下,在小的时间框架上计算工具之间的平均价差,有时会非常不正确特别是在会议开幕时出现缺口的情况下!

最好能检查一下--最后几个小节在时间上的重合程度。那些最后的条形图--在其上计算平均价差--例如,在Fduch的同一个函数--CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars)。

换句话说,我想在我的评论中显示,--在指定的时间框架内,两个符号的最后一根柱子有多少是重合的?

你能告诉我怎么做吗?

 
rid >>:

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

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

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

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

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

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

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

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

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

你说"......条重合的时间是多少 "是什么意思?在我的函数中,我取了两个开盘条在时间上重合的条形来计算差价。

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

如果你在时间框架M1上调用它,你可以肯定的是,点差将以成对的条形计算,这些条形在一分钟内相互重合。另一个问题是,是用iClose还是iOpen来计算价差。无论如何,我对正确性没有信心,所以现在我根据实时收集的tick数据来计算价差(匹配到最近的一秒)。

 
Fduch писал(а)>>

你说"......条重合的时间是多少 "是什么意思?在我的函数中,我取那些开盘条在时间上重合的两个条形来计算点差。

如果你在时间框架M1上调用它,你可以肯定的是,点差将以一分钟内相互重合的条形图来计算。另一个问题是,是用iClose还是iOpen来计算价差。无论如何,我对正确性没有信心,所以我目前是根据实时收集的tick数据来计算价差(匹配到最近的一秒)。

完全正确:自己收集传播历史的最准确方式是来自蜱虫。用开/关来计算是一种延伸,但它们是不同步的,尽管有足够的滴答频率,它们在时间上不应该有太大的差别。但绝不是高/低--这里的误差是最大的。

 
getch >>:

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

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

资产、协整、相关->谷歌。

我强烈建议在这个问题上不要使用维基百科--绝对是更蹩脚的文章。关于成对交易,这不是一篇文章,而只是一个无用的网站的广告。

我强烈建议使用好的教科书,例如卡罗尔-亚历山大《市场模型》。

 

我担心我是在打扰。但还有一个问题。

我正在尝试使用分支中所述的方法来测试(在测试器中)专家顾问的可能性。至少有当前符号的交易被打开,即安装了EA的图表上的交易。

第二种的虚拟模仿交易。

然而,我发现,如果测试器中第二个工具的OCHL价格被 "稀少或主要 "地返回,那么甚至第二个工具的当前出价和要价也不会被返回--显示的是零!这是为什么呢?

评论(Ask_Tiker2,"_",Bid_Tiker2)。

它应该是这样的吗?或者是否有可能以某种方式找到这些价格?

 
Reshetov >>:

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

谢谢 :)

摆脱 写(a)>>

我试图让它有可能使用分支中所述的方法来测试(在测试器中)EA。如果只开一个交易,--当前工具,即安装了EA的图表上的那个。

它没有任何影响。

然而,我发现,如果测试器中 "对冲 "的第二个工具的OCHL价格被 "稀疏地或主要地 "返回,那么甚至第二个工具的当前Bids和Asks也不会被返回--显示为零

检查功能后的历史和错误。

 
TheXpert >>:


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


历史是存在的。

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

显示错误4059

ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE 4059 测试模式下不允许的功能

这很奇怪。毕竟,第一个和第二个工具都是通过Marketinfo设置的。第一个实例。- 正常显示(92_91.98 -USDJPY),但 EURJPY却没有

而如果我把EA放在第二个工具上,即在EURJPY图表上--相反,第一个符号在评论中给出了零,但第二个--EURJPY的价格却正常显示


 

rid писал(а) >>

显示错误4059

我可能误导了你。MarketInfo是 "安全的",也就是说,它不会沿途产生错误。
 
TheXpert >>:


Бесполезно.


我认为这并非完全无用。如果专家顾问的工作是通过开盘价实现的,--包括平仓,--例如在小时间段(M1-M5)。那么我们就可以实现一个近似的测试。

毕竟,OHLC市场信息价格通常由测试者返回。这意味着我们可以在公开价格下获得(接近)一个符号的实际利润,并计算出 另一个符号的"虚拟利润"。然后是反之亦然。

难道不是这样吗?

在每一次运行过程中,我们都会得到相当正确的当前符号的开盘和收盘位置。

 

rid писал(а) >>

不是吗?

不,别忘了跳杠。即使你设法为测试者实现了一个专家顾问,不同符号的条目也会因为错过的条数而不同步。

而在错过的酒吧,你可能会得到酒吧而不是价格。

我们不能在测试器中循环或通过定时器工作。因此,它是

TheXpert 写道:>>

这是没有用的。