任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 471 1...464465466467468469470471472473474475476477478...1178 新评论 Алексей Тарабанов 2014.02.09 21:44 #4701 beginner: 可以,问题是为什么rates[0].close不能? 我只能猜测:因为这个物体还没有形成。 Oleg 2014.02.09 21:49 #4702 tara: 我只能假设:因为这个物体还没有形成。 不,一定是搞错了,应该是像5中那样,还是我糊涂了? Алексей Тарабанов 2014.02.09 22:00 #4703 beginner: 不,一定是搞错了,应该是像5一样,还是我弄错了? 不要忘记,Close[0]并不存在,只是我们对它的习惯不同。 Oleg 2014.02.09 22:03 #4704 Close[0] - 蜡烛在当前时间的收盘价,以及所有其他参数 high, low... Vitalie Postolache 2014.02.09 22:06 #4705 tara: 不要忘记,Close[0]并不存在,只是我们对它的习惯不同。 不要这样做...不存在... "没有勺子"(c) )) Close[0]=Bid, 所以... Алексей Тарабанов 2014.02.09 22:09 #4706 evillive: 不要这样做...不存在... "没有勺子"))。 Close[0]=Bid, 这里... 你应该问Metakwots,而不是我:) Алексей Тарабанов 2014.02.09 22:21 #4707 我没有经验,会用任何提及尚未进行的报价来扰乱上诉。 Pr0t0ip 2014.02.10 18:31 #4708 你好,我有以下问题。测试时,日志给出的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++。 } } 返回(计数)。 } 初学者的问题 MQL5 MT5 MetaTrader 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 我将写一个免费的mql4顾问 Alexander 2014.02.10 18:40 #4709 在这里纠正它 SL = NormalizeDouble(Ask-StopLoss*Point, Digits); SL = NormalizeDouble(Ask+TakeProfit*Point, Digits); 在第二种情况下,它应该是TP Pr0t0ip 2014.02.10 18:43 #4710 哦,伙计... 谢谢你,罗杰! 1...464465466467468469470471472473474475476477478...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
可以,问题是为什么rates[0].close不能?
我只能猜测:因为这个物体还没有形成。
我只能假设:因为这个物体还没有形成。
不,一定是搞错了,应该是像5中那样,还是我糊涂了?
不,一定是搞错了,应该是像5一样,还是我弄错了?
不要忘记,Close[0]并不存在,只是我们对它的习惯不同。
不要这样做...不存在...
"没有勺子"(c) ))
Close[0]=Bid, 所以...
不要这样做...不存在...
"没有勺子"))。
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++。
}
}
返回(计数)。
}
在这里纠正它
在第二种情况下,它应该是TP哦,伙计...
谢谢你,罗杰!