如何编码? - 页 180 1...173174175176177178179180181182183184185186187...347 新评论 marek 2009.05.24 18:13 #1791 关闭位置的问题 ...... double cena=0; static int isCrossed = 0; isCrossed = Crossed (k,d); 如果(OrderSelect(ticket, SELECT_BY_POS)) { c=OrderOpenPrice()。 返回(0)。 } 如果(isCrossed>0) { cena=((c-Ask)*10000); return(0); } total = OrdersTotal(); if(total < 1) { 如果(isCrossed == 1) { ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 1000, cena, cena , "EMA_CROSS", 12345, 0, Green)。 } .... 如果(isCrossed == 2) { ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 1000, cena, cena, "EMA_CROSS", 12345, 0, Red)。 ...... 一般来说,EA在EMA交叉时关闭头寸,同时打开另一个头寸 仓位打开了,但他们不愿意关闭;/。 请帮助 How to code? 原始想法 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 jan100 2009.05.25 17:36 #1792 是否有可能在同一时刻关闭一个头寸并建立一个新的头寸? (...) if(OrdersTotal()!=0) { (...) OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Green ); } if(OrdersTotal()==0) { OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - SL * Point, Ask + TP * Point, NULL, Magic, 0, Green); } (...) 在这个代码示例中,空头头寸将在第一个跳动点被关闭,但多头头寸不会立即被打开。需要另一个tick来打开多头头寸。 预先感谢 :-) Roger09 2009.05.25 20:35 #1793 是的,这是有可能的。只要把函数 RefreshRates()放在运算符之间。 Roger09 2009.05.25 20:40 #1794 Roger09 2009.05.25 20:46 #1795 pietra`:...... 请帮助 它看起来像。我是Pietra。我的第二个名字是什么? 没有完整的代码,就无法帮助你。对不起。 lumanauw 2009.05.26 18:09 #1796 需要编码帮助 有谁能帮助我在MT4编码中了解EA的最高和最低开仓价?一个EA有一些开仓。 我找到了这样的代码,但它是用来知道第一笔/最后一笔交易的开盘价。 double GetLastBuyPrice(int Magic) { int total=OrdersTotal()-1; for (int cnt = total ; cnt >=0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。 如果(OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY)) { 返回(OrderOpenPrice())。 } } return(10000); } 如何编写代码以了解最高/最低交易开盘价? How can I integrated [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 10点3.mq4 solaiman 2009.05.26 19:15 #1797 代码 lumanauw: 有谁能帮助我了解MT4编码,以了解EA的最高和最低开仓价?一个EA有一些开仓。 我找到了这样的代码,但它是用来知道第一笔/最后一笔交易的开盘。 Double opens[1000] = {0}; double maxopen = 0 ; double minopen = 1000000 ; // double GetLastBuyPrice(int Magic) { int total=OrdersTotal()-1; for (int cnt = total; cnt >=0; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。 如果(OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY)) { opens[cnt] = OrderOpenPrice() ; } } for ( cnt = 0 ; cnt <= total; cnt ++ ) { if ( opens[cnt] > maxopen ) maxopen = opens[cnt] ; if ( opens[cnt] < minopen ) minopen = opens[cnt] ; } } 如何编码以了解最高/最低的交易开盘价? 嗨。 按上面的方法修改代码。 它不是一个可以从其他地方调用的程序....., 把它放在你的EA代码中你想要的地方。 OTR [删除] 2009.05.26 22:06 #1798 需要帮助编写代码以打开一个以上的订单 我一直没有成功地添加代码来打开第二个订单。 我试图在同一信号的基础上开立2个订单,但TP水平不同。 以下是我开第一笔订单的代码。 希望得到任何帮助。 if(SlowSell<0 && FastSell<0 && PrevFastSell==0) { ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point, "MA_Angle_Trader",MagicNumber,0,Red)。 如果(ticket>0) { 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单 打开:",OrderOpenPrice())。 } 否则 Print("打开SellStop订单出错。",GetLastError())。 return(0); ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0, "MA_Angle_Trader",MagicNumber,0,Red) 。 如果(ticket>0) { 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单打开:",OrderOpenPrice())。 } 否则 Print("打开SellStop订单出错。",GetLastError())。 返回(0)。 } why do I get [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. Getlasterror returns 0, why? Pro-TRMGS 2009.05.27 11:33 #1799 你好 我需要一些简单的编码帮助。 1) 在一定数量的点上对冲交易 2) 然后禁止/暂停任何进一步的交易..........。 确保它不会再次对冲,因为我将手动关闭对冲的交易。 Roger09 2009.05.27 13:50 #1800 williamcope: 我一直没有成功地添加代码来打开第二个订单。我试图在同一信号的基础上开立2个订单,但TP水平不同。 以下是我开第一笔订单的代码。 希望得到任何帮助。 if(SlowSell<0 && FastSell<0 && PrevFastSell==0) { ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point, "MA_Angle_Trader",MagicNumber,0,Red)。 如果(ticket>0) { 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单打开:",OrderOpenPrice())。 } 否则 Print("打开SellStop订单出错。",GetLastError())。 return(0); ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0, "MA_Angle_Trader",MagicNumber,0,Red) 。 如果(ticket>0) { 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单打开:",OrderOpenPrice())。 } 否则 Print("打开SellStop订单出错。",GetLastError())。 return(0); } 替换第一个 return(0); 到 RefreshRates()。 1...173174175176177178179180181182183184185186187...347 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
关闭位置的问题
......
double cena=0;
static int isCrossed = 0;
isCrossed = Crossed (k,d);
如果(OrderSelect(ticket, SELECT_BY_POS))
{
c=OrderOpenPrice()。
返回(0)。
}
如果(isCrossed>0)
{
cena=((c-Ask)*10000);
return(0);
}
total = OrdersTotal();
if(total < 1)
{
如果(isCrossed == 1)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 1000, cena,
cena , "EMA_CROSS", 12345, 0, Green)。
}
....
如果(isCrossed == 2)
{
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 1000, cena,
cena, "EMA_CROSS", 12345, 0, Red)。
......
一般来说,EA在EMA交叉时关闭头寸,同时打开另一个头寸
仓位打开了,但他们不愿意关闭;/。
请帮助
是否有可能在同一时刻关闭一个头寸并建立一个新的头寸?
(...)
if(OrdersTotal()!=0) {
(...)
OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Green ); }
if(OrdersTotal()==0) {
OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - SL * Point, Ask + TP * Point, NULL, Magic, 0, Green); }
(...)
在这个代码示例中,空头头寸将在第一个跳动点被关闭,但多头头寸不会立即被打开。需要另一个tick来打开多头头寸。
预先感谢 :-)
是的,这是有可能的。只要把函数 RefreshRates()放在运算符之间。
...... 请帮助
它看起来像。我是Pietra。我的第二个名字是什么?
没有完整的代码,就无法帮助你。对不起。
需要编码帮助
有谁能帮助我在MT4编码中了解EA的最高和最低开仓价?一个EA有一些开仓。
我找到了这样的代码,但它是用来知道第一笔/最后一笔交易的开盘价。
double GetLastBuyPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
{
返回(OrderOpenPrice())。
}
}
return(10000);
}
如何编写代码以了解最高/最低交易开盘价?
代码
有谁能帮助我了解MT4编码,以了解EA的最高和最低开仓价?一个EA有一些开仓。
我找到了这样的代码,但它是用来知道第一笔/最后一笔交易的开盘。
Double opens[1000] = {0};
double maxopen = 0 ;
double minopen = 1000000 ;
// double GetLastBuyPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total; cnt >=0; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
{
opens[cnt] = OrderOpenPrice() ;
}
}
for ( cnt = 0 ; cnt <= total; cnt ++ )
{
if ( opens[cnt] > maxopen ) maxopen = opens[cnt] ;
if ( opens[cnt] < minopen ) minopen = opens[cnt] ;
}
}
如何编码以了解最高/最低的交易开盘价?嗨。
按上面的方法修改代码。
它不是一个可以从其他地方调用的程序.....,
把它放在你的EA代码中你想要的地方。
OTR
需要帮助编写代码以打开一个以上的订单
我一直没有成功地添加代码来打开第二个订单。
我试图在同一信号的基础上开立2个订单,但TP水平不同。
以下是我开第一笔订单的代码。
希望得到任何帮助。
if(SlowSell<0 && FastSell<0 && PrevFastSell==0)
{
ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point, "MA_Angle_Trader",MagicNumber,0,Red)。
如果(ticket>0)
{
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单 打开:",OrderOpenPrice())。
}
否则 Print("打开SellStop订单出错。",GetLastError())。
return(0);
ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0, "MA_Angle_Trader",MagicNumber,0,Red) 。
如果(ticket>0)
{
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单打开:",OrderOpenPrice())。
}
否则 Print("打开SellStop订单出错。",GetLastError())。
返回(0)。
}
你好
我需要一些简单的编码帮助。
1) 在一定数量的点上对冲交易
2) 然后禁止/暂停任何进一步的交易..........。
确保它不会再次对冲,因为我将手动关闭对冲的交易。
我一直没有成功地添加代码来打开第二个订单。
我试图在同一信号的基础上开立2个订单,但TP水平不同。
以下是我开第一笔订单的代码。
希望得到任何帮助。
if(SlowSell<0 && FastSell<0 && PrevFastSell==0)
{
ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point, "MA_Angle_Trader",MagicNumber,0,Red)。
如果(ticket>0)
{
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单打开:",OrderOpenPrice())。
}
否则 Print("打开SellStop订单出错。",GetLastError())。
return(0);
ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0, "MA_Angle_Trader",MagicNumber,0,Red) 。
如果(ticket>0)
{
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop订单打开:",OrderOpenPrice())。
}
否则 Print("打开SellStop订单出错。",GetLastError())。
return(0);
}替换第一个
return(0);
到
RefreshRates()。