多币种顾问问题 - 页 10

 
rid >> :
然而,我需要--同时--对所有点数实施追踪止损功能。

只有在一个短的部分上才能看到盆地拖网的实际好处,而这是以装修为代价的。

一般来说,粗拖网也是一样好的(如果拖网不是夹杂着黄牛的)。

但在使用拖网时,"开价 "优化的好处就失去了,这一点非常重要。

最近,我几乎放弃了所有TC的追踪止损。

通过反向信号进行部分/全部平仓(可能是反转)效果更好。

 

而我使用的是阈值拖网。如果你调整启动门槛,有一个原因...

extern string   ____________= "Параметры Трейлинг стопа";
extern bool UseTrailing = false;
extern int lMinProfit = 150;
extern int sMinProfit = 160;
extern int lTrailingStop = 50;
extern int sTrailingStop = 60;
extern int lTrailingStep = 5;
extern int sTrailingStep = 5;
//--------------------------------------------------------
int start()
  {
  if(Time[0] == prevtime)   return(0);
   prevtime = Time[0];//если появился новый бар , включаемся
//-------------------------------------------------------------------   
if ( UseTrailing) TrailPositions(); //трейлинг стоп

//--------------------------------------------------------------
... ... ... ... ... ... ... ... ... ... ... ... 
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
void TrailPositions() //пороговый трейлинг стоп
{  int Orders = OrdersTotal();
  for (int i=0; i< Orders; i++) {
    if (!(OrderSelect( i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol() && OrderMagicNumber()== Magic) continue; 
    if (OrderType() == OP_BUY) {
      if (Bid-OrderOpenPrice() > lMinProfit*Point) {
        if (OrderStopLoss() < Bid-( lTrailingStop+ lTrailingStep-1)*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid- lTrailingStop*Point,
                                                    OrderTakeProfit(), 0, Blue);
        }}}
    if (OrderType() == OP_SELL) {
      if (OrderOpenPrice()-Ask > sMinProfit*Point) {
        if (OrderStopLoss() > Ask+( sTrailingStop+ sTrailingStep-1)*Point || 
                                                      OrderStopLoss() == 0) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+ sTrailingStop*Point,
                                                     OrderTakeProfit(), 0, Blue);
        }}}}}
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 

总的来说,我不明白使用Potikko门槛 拖网的意义何在?

 

大家下午好。问题又来了。

有了指标。

不能写入iCustom。

我是这样写的。

double ActivatorBLUE=iCustom(NULL,0,"HL Next Activator", ActivatorPeriod, useFullPeriods,0,1);
//синие уровни на 1 баре
double ActivatorRED=iCustom(NULL,0,"HL Next Activator", ActivatorPeriod, useFullPeriods, 1,1);
//красные уровни на 1 баре
Comment( ActivatorBLUE,"-", ActivatorRED);

但在这两种情况下,都只返回蓝色级别的值。我不明白为什么!毕竟,我已经提供了分别为1和0的缓冲区数字!

即使在评论中,也显示了相同的数值--蓝色水平

这就是在指标init中定义缓冲区的方式。

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,159);
   SetIndexBuffer(0, SellActivator);//синий
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,159);
   SetIndexBuffer(1, BuyActivator);//красный
   SetIndexEmptyValue(1,0.0);
   if ( useFullPeriods!=0) useFullPeriods=1;
//----
   return(0);
  }

波兹的建议?上传的指标(该指标的作者是Rosh)。

附加的文件:
 
rid писал(а)>>

大家下午好。问题又来了。

有了指标。

不能写iCustom。

检查了一下,看起来是这样的。

2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:48 2008.10.28 05:52 TESTHL EURUSD,H1: 0-1.2547
....
2008.10.29 15:13:48 2008.10.28 05:51 TESTHL EURUSD,H1: 0-1.2547
2008.10.29 15:13:48 2008.10.28 05:51 TESTHL EURUSD,H1: 0-1.2547
2008.10.29 15:13:47 2008.10.27 18:49 testhl EURUSD,H1: 1.2414-1.2542
.....
2008.10.29 15:13:47 2008.10.27 18:49 testhl EURUSD,H1: 1.2414-1.2542
2008.10.29 15:13:46 2008.10.27 14:54 TESTHL EURUSD,H1: 0-1.2612

我还没有深入研究,但似乎是正确的,我用默认参数做了指标,用字符串调用了值

Print(iCustom(NULL,0,"HLdNextmActivator",0,1),"-",iCustom(NULL,0,"HLdNextmActivator", 1,1));
 

谢谢你。

这很奇怪。突然间,它对我也起作用了。没有修复它,没有做任何事情。

但今天早上它没有工作!我花了两个小时。"我告诉你......"

这并不是我第一次注意到这一点。我在一只简单的火鸡上做一些简单的事情。突然间,它从一开始就不工作了!

没有任何明显的理由!虽然结构是最简单的。好吧,我想。我以后会再试的...

然后我把它打开,看,它的工作就像它应该做的那样!。

这就像一个奇迹...

我曾经用抛物线做过一次。我设定了在抛物线的 "符号 "改变时开仓 的条件。

这是最原始的状态。它在测试器中没有工作!两天来,我发誓要犯规,并试图找出问题所在。我没能理解它。我想不出来,我想我以后会想出来的。一天后,我把它打开,...- ...并且像时钟一样工作...

 
rid >> :

..............,然后...然后一天后,我把它打开,...- 我看到它正像时钟一样运行...

这个人来到了钟表匠那里。

- 这个已经坏了。

机械师打开时钟,一只死蟑螂掉了出来。

- 不过,这并不可行。

- 为什么不呢?

- 不过,这个机械师已经死了。

 

大家下午好。我无法解决这个问题。

专家顾问放置待定订单,例如OP_BUYSTOP - 四个订单。

OP_BUYSTOP魔法1

OP_BUYSTOP魔法2

OP_BUYSTOP魔法3

OP_BUYSTOP魔法4

将它们放在--与价格有一定的距离,并且相互之间有一定的台阶。

更进一步。如果价格下跌,我需要订单跟随价格走,给定的步骤。

我已经做到了。我没有遇到任何特别的困难。

 

然而!

我不需要所有的订单都在价格后面修改和移动,用对服务器的不必要的请求吸引经纪人的注意。

我想让离当前价格最远的订单跳过所有其他的订单,成为最近的订单!"。

以此类推,因此,随着价格的进一步下行,最远的订单会不断地跳到离价格更近的地方!。

我已经思考了几个小时,但无法接近解决方案。

我甚至无法接近解决方案。

或者也许有类似的参考资料?

在I.Kim的一个分支中发现了这个功能。但如何在这里应用它们,目前还不清楚。

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

函数GetIndexByTicket()。该函数返回订单的索引或位置,由票据

IndexByTicket()函数。该函数返回订单或头寸在票据中的索引(在已设订单或未结头寸 的总列表中的索引号)。

函数GetOrderOpenPrice()。返回最后一次下单的设定价格

 

创建两个数组。一个是按票号,第二个是按价格。然后按价格对数组进行排序,同时移动票号(不中断连接)。然后在阵列的一端将是最低价格,在另一端是最高价格。唯一剩下的就是改变最外层的一个命令。