任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 471

 
beginner:

可以,问题是为什么rates[0].close不能?

我只能猜测:因为这个物体还没有形成。
 
tara:

我只能假设:因为这个物体还没有形成。


不,一定是搞错了,应该是像5中那样,还是我糊涂了?

 
beginner:


不,一定是搞错了,应该是像5一样,还是我弄错了?

不要忘记,Close[0]并不存在,只是我们对它的习惯不同。
 
Close[0] - 蜡烛在当前时间的收盘价,以及所有其他参数 high, low...
 
tara:
不要忘记,Close[0]并不存在,只是我们对它的习惯不同。

不要这样做...不存在...

"没有勺子"(c) ))

Close[0]=Bid, 所以...

 
evillive:

不要这样做...不存在...

"没有勺子"))。

Close[0]=Bid, 这里...



你应该问Metakwots,而不是我:)
 
我没有经验,会用任何提及尚未进行的报价来扰乱上诉。
 

你好,我有以下问题。测试时,日志给出的OrderModify是130,请帮助我找到一个办法。以下是顾问的守则。

//+------------------------------------------------------------------+

//| Test3.mq4

//| Popov Vladimir |

//| http://vk.com/id143715412 |

//+------------------------------------------------------------------+

#财产版权"Popov Vladimir"

#属性链接 "http://vk.com/id143715412"


外来的双倍Lots = 0.1。

外置 int TakeProfit = 250;

外来的int StopLoss = 100;

外来的int Slippage = 10;

外部字符串 comment = "Tma bot";

外来的int Magic = 123;

外部字符串Indi = "指标数据"。

外部字符串 TimeFrame = "当前时间框架"。

外置 int HalfLength = 20;

外部int Price = PRICE_CLOSE;

外置双倍ATRMultiplier = 2.0。

外部的ATRPeriod = 100。

外部 bool Interpolate = true。



双重PriceHigh, PriceLow, SL, TP。

int票。


//+------------------------------------------------------------------+

//|专家初始化功能|

//+------------------------------------------------------------------+

int init()

{


如果(Digits == 3 || Digits == 5)

{

TakeProfit *= 10。

StopLoss *= 10;

滑移*=10。

}





return(0);

}

//+------------------------------------------------------------------+

//|专家去初始化功能|

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//|专家启动功能|

//+------------------------------------------------------------------+

int start()

{

PriceHigh = iCustom(符号(),0,"时间",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,1,0)。

PriceLow = iCustom(符号(),0,"时间",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,2,0)。

如果(Bid >= PriceHigh && CountSell() == 0)

{

SL = NormalizeDouble(Bid+StopLoss*Point, Digits)。

SL = NormalizeDouble(Bid-TakeProfit*Point, Digits)。

ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Red);

如果 (ticket > 0)

{

如果(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)

OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)。

}

}


如果(Ask <= PriceLow && CountBuy() == 0)

{

SL = NormalizeDouble(Ask-StopLoss*Point, Digits);

SL = NormalizeDouble(Ask+TakeProfit*Point, Digits);

ticket = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);

如果 (ticket > 0)

{

如果(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)

OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)。

}

}

如果(Ask <= PriceLow && CountSell() > 0)

{

for(int i=OrdersTotal()-1; i >=0; i--)

{

如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)

{

如果(OrderMagicNumber() == Magic && OrderType() == OP_SELL)

OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black)。

}

}

}

如果(Bid >= PriceLow && CountBuy() > 0)

{

for(i=OrdersTotal()-1; i >=0; i--)

{

如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)

{

如果(OrderMagicNumber() == Magic && OrderType() == OP_BUY)

OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green)。

}

}

}

return(0);

}

//+------------------------------------------------------------------+


int CountBuy()

{

int count = 0。

for (int tr = OrdersTotal()-1; tr >= 0; tr --)

{

OrderSelect(tr, SELECT_BY_POS)。

如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

如果(OrderType() == OP_BUY)

count++。

}

}

返回(计数)。

}


//+------------------------------------------------------------------+


int CountSell()

{

int count = 0。

for (int tr= OrdersTotal()-1; tr >= 0; tr --)

{

OrderSelect(tr, SELECT_BY_POS)。

如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

如果(OrderType() == OP_SELL)

count++。

}

}

返回(计数)。

}

 

在这里纠正它

SL = NormalizeDouble(Ask-StopLoss*Point, Digits);

 SL = NormalizeDouble(Ask+TakeProfit*Point, Digits);
在第二种情况下,它应该是TP
 

哦,伙计...

谢谢你,罗杰!