[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 336

 

而巴马,要确保

//--------------------------------------------------------------- 5 --
// торговые критерии
if(vverh>0)
  {
   Opn_B=true;
   Cls_S=true;
   Opn_S=false;
   Cls_B=false;
  }
if(vverh>0)
  {
   Opn_S=true;
   Cls_B=true;
   Opn_B=false;
   Cls_S=false;
  }
  
//--------------------------------------------------------------- 6 --
如果你的条件拼写正确
 

先生们!晚上好(晚上、早上、下午)!

能否请你给我一个简单问题的答案?

什么函数返回一个订单的开盘价,这。

-最后 关闭

- 在 止损 上关闭。

谢谢你的帮助。

 
solnce600:

先生们!晚上好(晚上、早上、下午)!

请告诉我一个简单问题的答案。

什么函数返回订单的开盘价,这。

-最后 关闭

- 以 止损 方式结算。

谢谢你的帮助。



没有这样的功能--有一点要写的代码
 
artmedia70:

变量只能在测试器中测试策略时使用

对于现实世界来说,执行逻辑所需的每一个值都必须在正确的时间计算出来,因为这些变量的值非常容易丢失,例如在重新启动时



Artem,有可能举个例子吗?毕竟,它甚至可以用函数来代替一个变量。而且你不能用一个变量来代替一个函数 :)

 

solnce600


先生们!大家晚上好(晚上、早上和下午)!我是一个很好的朋友。

请告诉我你一个简单问题的答案。

什么函数返回订单的开盘价,这。

-最后 关闭

- 以 止损 方式结算。

谢谢你的帮助。



有一个这样的分支,那里有很多东西,有趣的东西。

该函数返回关闭停止器上最后一个位置的标志

 

非常感谢你的提示。

这正是我正在使用的功能。

在止损单被关闭后,我需要对市场订单的开仓进行编码,其价格为

的最后一笔订单在停止时关闭。

我试着在变量中记住最后一笔订单的开盘价,该订单在停止时关闭。
if (isCloseLastPosByStop()==True)                                            //если посл.орд.SELL  закрылся по стопу(стоп данного ордера SELL = 295 п.)

double PrStop = (Bid - 0.0295);                                              // от цены срабатывания СТОП-ЛОССА вычитаем 295 п. 
                                                                             // и запоминаем это значение,(т.е. цену открытия ордера)в переменной  PrStop         
if (Bid == PrStop )                                                          //если цена Bid будет равна значению PrStop
OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-2950*Point,Bid+150*Point,"jfh",123 );//открыть ордер.

但当价格等于PrStop的值时,订单就不会被下。

我还试着在价格低于PrStop的值时下单。

但它并没有再次设定一个命令。

if (Bid < PrStop ) 

我想原因可能是在下一个订单关闭之前,不在止损点上。

isCloseLastPosByStop()将在每个tick 返回True,PrStop变量将得到

在每一次打勾时都有一个新的值。

我仔细研究了Kim的所有函数,但它们的名字似乎不适合解决我的问题。

我将非常感谢那些为我指引正确方向的人。

 

请给我一个提示!我刚刚开始迈出我在编程方面的第一步。

一个函数如何更快工作? (该函数被调用2次)

- 如果它是从库中调用的

- 如果在EA中直接在函数start()之外描述。

- 如果它是在start()函数本身中

 

solnce600,Andrei,你手中有SL的最后一个平仓位!谁又能阻止你通过调整一下功能,找出你想要的一切呢?

double GetOOPCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
  datetime t; 
  double   ocp, osl, OOP;
  double p = 0;
  int    i, j=-1, k=OrdersHistoryTotal();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
        if (op<0 || OrderType()==op) {
          if (t<OrderCloseTime()) {
            t=OrderCloseTime();
            j=i;
//            p = OrderProfit()+OrderCommission()+OrderSwap();
            OOP = OrderOpenPrice();
  } } } } }
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
    ocp=NormalizeDouble(OrderClosePrice(), 5);
    osl=NormalizeDouble(OrderStopLoss(), 5);
//    if (ocp==osl) return(p);
    if (ocp==osl) return(OOP);
  }
  return(0);
}
我已经评论掉了给我平仓利润的两行,并增加了两行以获得该平仓的开盘价。我还没有测试过,但它应该是有效的,因为当我用我需要的东西替代时,一切都能正常工作!"。看看吧!
 
borilunad:

solnce600,Andrei,你手中有SL的最后一个平仓位!谁又能阻止你通过调整一下功能来发现你想要的一切呢。

我评论掉了给我平仓利润的两条线,并增加了两条线来获得该平仓的开盘价。我没有测试过,但它应该是有效的,因为当我把我需要的东西放进去时,它都是有效的!看看吧!

非常感谢您的及时帮助。

如果你能给我一个关于.....,我也将非常感激。

我的策略非常简单。

如果价格从开盘(iOpen (Symbol (),0,0) 开始向上移动(300点) 相反方向的较小 距离(10点)更快

-在价格反转并向相反方向发展后,以每根蜡烛的开盘价开立市场订单( iOpen (Symbol (),0,0)

要实施这一想法,首先想到的是

1.在每根蜡烛的开盘价上,下一个大止损和小利润的市场订单。

如果订单在止损点上的关闭速度比在利润点上的关闭速度快,则在止损点上关闭的订单的开盘价上设置一个市场订单。

这种方法允许你在开盘价上检测蜡烛图,这些蜡烛图后来应该被设定为市场订单.....。但要做到这一点,我必须将市场

每次 开盘的时候,用大的止损和小的利润下单

而且我不需要在真实交易中的每根蜡烛开盘时下单

首先想到的是

- 我们应该在模拟账户 的每根蜡烛开盘时开一个订单,该账户的图表上将有一个 EA。

- 而我应该 在一个真实账户上,在图表上附加另一个 EA的情况下,只按上述条件开立订单。

但在我看来,在两个账户 和两个EA 上交易也不是最方便和最理想的变化。 我想在一个账户和一个EA 上交易。

问题:如果不在每根蜡烛开盘时开出市场订单,我还能如何找到上述的开仓条件?

谢谢你。

 
solnce600:

非常感谢您的及时帮助。

如果你能给我一个关于.....,我也将非常感激。

我的策略非常简单

如果价格上升(下降)的距离(300点)多于蜡烛 开始的相反方向(10点)的距离(iOpen (Symbol (),0,0)

-然后在价格掉头向相反方向发展后,在每根蜡烛的开盘时,以蜡烛的 价格打开市场订单( iOpen (Symbol (),0,0)

要实施这一想法,首先想到的是

1.在每根蜡烛的开盘价,下一个市场订单,有一个大的止损和一个小的利润。

2.如果订单在止损点关闭的速度比在盈利点关闭的速度快,则以在止损点关闭的订单的开盘价设置一个市价订单。

这种方法允许你在开盘价上检测蜡烛图,这些蜡烛图后来应该被设定为市场订单.....。但要做到这一点,我必须将市场

每次 开盘的时候,用大的止损和小的利润下单

而且我不需要在真实交易中的每根蜡烛开盘时下单

首先想到的是

- 我们应该在模拟账户 中的每根蜡烛开盘时开一个订单,该账户的图表上将有一个 EA。

- 而我应该 在一个真实账户上,在图表上附加另一个 EA的情况下,只按上述条件开立订单。

但在我看来,在两个账户 和两个EA 上交易也不是最方便和最理想的变化。 我想在一个账户和一个EA 上交易。

问:如果不在每根蜡烛的开盘时打开市场订单,我还能如何检测开仓的条件?

谢谢你。

好吧,当然,你把它说得这么大,好像你已经看到了它的真实性,而我怀疑!你是怎么做到的?我没有彻底理解你的想法,但我建议你尝试一下,通过追踪条件中的蜡烛图,如果这些条件与你的条件一致,在离开盘零点蜡烛图的理想距离上设置挂单,同时设置止损和利润,在设置后立即修改,以同样的方式应用另一个金的函数来确定最后下单的数据!仔细检查你的逻辑,进行实验,然后继续前进!好运!