Meta Trader中的价差交易 - 页 9

 
knt-kmrd >> :

getch,请向那些被蒙在鼓里的人解释。

在合成工具上开立头寸是什么意思?

我读了几遍你的解释,但还是不明白。

在EURUSD/EURGBP货币对上建仓是什么意思?

BID和ASK是什么意思?

阅读顾问的评论。就我而言,我在那里回答了这些问题。

 
Rita >> :

在套利的理念中,合成工具是具有同等价值的相关人工交易工具。

例如,不同等级的石油是相互关联的交易工具。相应的合成仪器是通过系数与相同的石油等级相匹配的仪器。

在理论部分,一切都写得简洁明了,没有 "水分"。这个想法对任何套利都是一样的。

 

谢谢你。我明白了。

我被第一句话的"理论"所误导。

"以欧元兑美元为例。想象一下,合成货币对EURUSDx 和EURUSDy...."

如果写得稍微不同一点,像这样 :"以欧元和美元为例 。想象一下 ......。等。"-- 这将是更清晰的

//-------------------------

但我必须手动将信息从ArbitrageStatistic.txt文件转移到Trade-Arbitrage.txt文件这一点,在我评论的第25页才被揭示。

最初,我不可能在描述中理解这一点。只是现在我看到了它。

//------------------

我写这篇文章不是为了责备。并使你的链接的新访客更容易理解。在这个问题上,人们对套利的兴趣有了新的升温。

 

rid писал(а) >>


这可以像这样实现(最简单的形式)。

......

因为我在代码中加入了魔法(Magic和Magic2)类型的 "对冲"--这是必要的,因为这两种类型的 "对冲" 中的不同头寸在不同的价格上被评估和关闭 --通过两个股票 的Ask和Bids#I.

此外,我在评论"实际"中显示了当前交易的利润。也就是说,不是终端显示的"假"利润,而是根据股票行情显示的实际利润。这将关闭"为真正的..." !

在f-i START的最开始。

          
//----- Вывод информации на экран -----------------------------------------
string info="";
string on_off="---------------------------------------------------"+  "\r\n";
on_off=StringConcatenate  (
 "Среднестат.Спред = ", CalculateAvarageSpread( Symbol_1, Symbol_2,0, NBars)/ POINT_Tiker1);

//если 1-й продан а второй куплен
if ( NumberOfPositions( Symbol_1,OP_SELL, Magic)>=1  )
string on_off2=StringConcatenate ( on_off2,
"Текущая прибыль Sell-UP = ",( PriceOpenLastPos( Symbol_1,OP_SELL, Magic)- Ask_Tiker1)/ POINT_Tiker1,"\n");
else         on_off2=StringConcatenate ( on_off2,"Нет OP_SELL-сделок UP","\r\n");

if ( NumberOfPositions( Symbol_2,OP_BUY, Magic)>=1  )
string on_off3=StringConcatenate ( on_off3,
"Текущая прибыль BUY-UP = ",( Bid_Tiker2- PriceOpenLastPos( Symbol_2,OP_BUY, Magic))/ POINT_Tiker2,"\n");
else         on_off3=StringConcatenate ( on_off3,"Нет BUY-сделок UP","\r\n");

//----------------------------------------------------------------------
//если 1-й куплен  а второй продан
if ( NumberOfPositions( Symbol_2,OP_SELL, Magic2)>=1  )
string on_off5=StringConcatenate ( on_off5,
"Текущая прибыль Sell-RV = ",( PriceOpenLastPos( Symbol_2,OP_SELL, Magic2)- Ask_Tiker2)/ POINT_Tiker2,"\n");
else         on_off5=StringConcatenate ( on_off5,"Нет Sell-сделок RV","\r\n");

if ( NumberOfPositions( Symbol_1,OP_BUY, Magic2)>=1  )
string on_off6=StringConcatenate ( on_off6,
"Текущая прибыль BUY-RV = ",( Bid_Tiker1- PriceOpenLastPos( Symbol_1,OP_BUY, Magic2))/ POINT_Tiker1,"\n");
else         on_off6=StringConcatenate ( on_off6,"Нет BUY-сделок RV","\r\n");
//--------------------------------------------------------------------

info=StringConcatenate( info, on_off,/*on_off1,*/ on_off2, on_off3/*,on_off4*/, on_off5, on_off6,"\r\n");
info=StringConcatenate( info,"\r\n");
Comment( info);      
CalculateAvarageSpread( Symbol_1, Symbol_2,0, NBars) 函数是由Fduch上面某个地方发布的然而,这种映射可以完全删除。


 

关于演示的第一个结果。Ticker工作已经实施。 由专家顾问开仓。有时它是手动关闭的。但更经常的是--通过专家顾问。打开/关闭时有相当多的滑动。

在过去的一天半里,使用(CL+BRN)进行的交易。


1111 exp_UP

19728426 2009.12.28 08:50 卖出 0.10brng0 76.63 81.14 73.14 2009.12.28 09:37 76.42 -1.00 0.00 0.0021. 00

19728431 2009.12.28 08:50 买入 0.10clg0 78.17 73.67 81.67 2009.12.28 09:38 78.03 -1.00 0.00 0.00-14.00
19729203 2009.12.28 09:38 买入 0.10brng0 76。42 71.91 79.91 2009.12.28 09:42 76.47 -1.00 0.00 0.00 0.005.00

19729201 2009.12.28 09:38 卖出 0.10 clg0 78.03 82.55 74.55 2009.12.28 09:42 78.08 -1.00 0.00 0.00-5.00

19729725 2009.12.28 10:14 buy 0.10brng0 76.59 72.10 80.10 2009.12.28 12:06 76.76 -1.00 0.00 0.0017.00

19729723 2009.12.28 10:14 卖出 0.10clg0 78.23 82.73 74.73 2009.12.28 12:06 78.39 -1.00 0.00 0.00-16.00

19735914 2009.12.28 18:18 买入 0。50 brng0 77.04 0.00 0.00 2009.12.28 19:31 77.20 -5.00 0.00 0.0080.00

19735913 2009.12.28 18:18 卖出 0.50clg0 78.76 0.00 0.00。00 2009.12.28 19:31 78.89 -5.00 0.00 0.00-65.00

19731371 2009.12.28 12:42 出售 0.50clg0 78.24 0.00 0.00 2009.12.29 10:52 78.98 -5.00 0.00 0.00-370.00

19731384 2009.12.28 12:44 buy 0.50brng0 76.66 0.00 0.00 2009.12.29 10:52 77.61 -5.00 0.00 0.00475. 00

 
为什么使用平均价差?
 

从这个平均价差(它是按指定的条数计算的 - CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars), - 我目前设置了extern int NBars=50; at timef=m1)初始计数 是在EA开启且没有交易的情况下进行的。

这意味着,如果这个点差等于159点,当EA开启时,没有交易,那么EA将记住这个值为距离=159。

然后,这个值 "distance=159 "在每个tick上与当前不断变化的平均价差值进行比较--使用Fduch 中相同的CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars)。

只要平均点差的当前值偏离EA在开始时 "记住 "的 "距离=159 "值,即DELTA的给定值(=16), 那么第一种(1个符号买入,2个符号卖出)或第二种(2个符号买入,1个符号卖出)类型的输入就被执行。取决于平均价差的当前值是向上还是向下偏离(从 "距离=159")。

也许这太令人困惑了。但是--我做到了--尽我所能。(图表上的指标不被专家顾问使用。该指标只是为了说明问题 - 仅此而已)

如果你有任何想法--如何使输入更容易和更好,那么请分享!

//-----------------------------------------

这是Rita 在ICQ中给我发的信息--这是伦敦会议开幕时的同一个专家顾问,设置在(dax+futsi)已经工作(关闭)的第一个对冲。

19746512 2009.12.29 11:29 买入 0.11fdaxh0 6013.5 0.0 0.0 2009.12.29 11:48 6016.0 -1.10 0.00 0.009.91
1110 exp_UP
19746509 2009.12.29 11:29 卖出 0.30ftseh0 5386.0 0.0 0.0 2009.12.29 11:49 5386.5 -3.00 0.00 0.00-2.40
1110 exp_UP


 
rid >> :

Rita 现在给我发信息,--在伦敦会议开幕后,同一个专家顾问,设置在(dax+futsi)上,已经工作(关闭)了第一个对冲。


当天在(d+f)的第二个对冲关闭。

19747410 2009.12.29 12:11 买 0.22fdaxh0 6018.0.0 0.0 2009.12.29 15:29 6027.5 -2.20 0.00 0.0075.41
1111 exp_UP
19747407 2009.12.29 12:11 出售 0.60ftseh0 5391.5 0.0 0.0 2009.12.29 15:29 5397.5 -6.00 0.00 0.00-57.65
1111 exp_UP

 
rid писал(а)>>

当天在(d+f)的第二个对冲关闭。

这是个演示还是真的?

如果是模拟账户,那么增加的滑点和重新报价会扼杀真实账户的利润。

 

这是个演示。这里没有重新报价(在这家经纪公司)。有滑坡的情况出现。

有趣的是,它们在演示和实际中几乎是一样的 - 这些滑动....。

然而。根据我的经验,在这个经纪公司的演示和真实没有太大的区别, - 只要真实 - 不超过2-2.5万美元。

//------------------------------------

P/S-- 今天盘中对(d+f) 的第三个(也是最后一个)对冲在收盘前被手动关闭。看来我们需要在dax增加一点手数。

19753331 2009.12.29 17:13 买入 0.22fdaxh0 6020.5 0.0.0 2009.12.29 21:36 6029.5 -2.20 0.00 0.00 71.08
19753328 2009.12.29 17:13 卖出 0.60ftseh0 5395.0 0.0.0 2009.12.29 21:36 5401.0 -6.00 0.00-57.27