问吧! - 页 69

 

你好。

谁能告诉我这段代码有什么问题?

它根本就没有打开任何订单?

我在2007.01.03进行了回测。

欢呼声

extern string StrGetPosition = "19:55";

extern string StrStartOrderTime = "20:00";

extern string StrEndOrderTime = "23:59";

extern double MyBidPrice = 1.3271;

int CountOrder = 0, BuyMagicNumber, SellMagicNumber;

extern double Lots = 1;

extern int StopLoss = 35;

extern int TakeProfit = 8;

extern bool FlagBuy = false;

int x, b, FindMagicSell, TicketSell, FindMagicBuy, TicketBuy;

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

//| expert initialization function |

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

int init()

{

//----

MyBidPrice = 1.3271;

//----

return(0);

}

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

//| expert deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| expert start function |

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

int start()

{

//----

int GetPosition, StartOrderTime, EndOrderTime, o;

GetPosition = StrToTime(StrGetPosition);

StartOrderTime = StrToTime(StrStartOrderTime);

EndOrderTime = StrToTime(StrEndOrderTime);

if (TimeCurrent() >= StartOrderTime && TimeCurrent() <= EndOrderTime)

{

FlagBuy = true;

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

//| Posisi BUY

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

if (FlagBuy == true)

{

if ((MyBidPrice == Bid) && (CountOrder < 6))

{

CountOrder++;

BuyMagicNumber = StrToInteger("1" + CountOrder + Day() + Month() + Year());

o = OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Test",BuyMagicNumber,0,Green);

if (o < 1) MessageBox("ERROR!!");

if (CountOrder > 1) ModifyBuy();

if (CountOrder == 5) FlagBuy = false;

MyBidPrice = Bid - (2*Point);

}

ShowComment();

}

}

//----

return(0);

}

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

void ModifyBuy()

{

for (x = 1; x < CountOrder; x++)

{

FindMagicBuy = StrToInteger("1" + x + Day() + Month() + Year());

for (b = 0; b < OrdersTotal(); b++)

{

OrderSelect(b,SELECT_BY_POS, MODE_TRADES);

if (OrderMagicNumber() == FindMagicBuy)

{

TicketBuy = OrderTicket();

OrderSelect(TicketBuy,SELECT_BY_TICKET);

OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()-(2*Point),0);

break;

}

}

}

}

void ShowComment()

{

Comment("DayOfWeek = ",DayOfWeek(),"\nFLAG BUY : ",FlagBuy,"\nCount Order ",CountOrder,"\nNext order = ",MyBidPrice,"\nBID = ",Bid,"\nTime : ",TimeToStr(TimeCurrent(),TIME_MINUTES));

}
 

找不到指标的MQ4文件

我希望有人能帮助我,我最初认为这是很简单的事情。 我想在一个实际上是Metatrader自带的指标上设置一个声音警报,这样当它达到一个特定的水平时就会告诉我。 该指标是Force Index,但我在Experts/Indicators文件夹中找不到它的MQ4文件。有没有人知道我可以在哪里找到这个文件?

如果我能找到MQ4文件,我是否可以使用Codersguru在本主题开头给出的代码为其添加警报?

谢谢

 

ref 上一篇文章

我已经成功地解决了上述帖子中的问题。

谢谢大家的关心。

 
Hartadi:
你好。

谁能告诉我这段代码有什么问题?

它根本就没有打开任何订单?

我在2007.01.03进行了回测。

欢呼声

o = OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Test",BuyMagicNumber,0,Green);

你不能以买入价买入。

 

@Michel :

哦,我的上帝......我是多么的愚蠢。

谢谢你...

 

帮我做套期保值

大家好!

我使用sufx.com的专家顾问生成器来创建一个EA。它有两个限制,我正试图摆脱。

1.一次只开1笔交易。我可以让它一次打开两笔交易,但我不能让它同时打开一个买单和一个卖单

2.似乎将卖出订单作为优先于买入订单的选择。如果第1个问题得到解决,这就不是一个真正的问题了。

以下是似乎阻碍我的一段代码。

//Check position

bool IsTrade = False;

for (int i = 0; i < Total; i ++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {

IsTrade = True;

if (OrderType() == OP_BUY) {

//Close

有什么建议吗?我想让它尽可能多地打开交易,并且如果指标显示可以同时打开买入和卖出订单。

谢谢你的帮助。

Benjimang

 

货币的利润/损失

戴夫。

我认为你需要更具体地说明你所要求的是什么。还有,为什么不回复PM?你这些天躲到哪里去了?

P在KC

 
FX4$$$:
戴夫,

我认为你需要更具体地说明你所要求的是什么。还有,为什么不回复PM?你这些天躲到哪里去了?

P在KC

我没有收到任何新的PM????。不幸的是,在这段时间里,我的家庭发生了紧急事件--紧急事件一切都好了。我仍然可以在我的编码方面得到帮助,特别是信封 的编码。

戴夫

 

我如何在图表的右上方公布货币的利润?

我想在交易平台 货币图表(EURUSD)的右上方公布货币的利润/损失。如果当前交易的利润是正数,它将显示为绿色;如果是0.00,它将显示为白色;如果是损失,它将显示为红色。

我知道ObjectCreate是一种方式,但除此之外,我不知道如何从贸易平台上获取利润?谁能在这个工具上帮我一把?我想在我的EA中包含这个功能。

谢谢!

戴夫

<<<
 

交易统计

使用此代码。

// ***************************************************************************

int stats()

{

int i, vOrders;

// 当前的CP利润

vOrders = OrdersTotal();

利润=0。

PipsProfit = 0。

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

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

如果(OrderSymbol() == Symbol())

{

利润 += OrderProfit()。

如果(OrderType() == OP_BUY) PipsProfit += ((Bid - OrderOpenPrice())/Point)。

否则如果(OrderType() == OP_SELL) PipsProfit += ((OrderOpenPrice() - Ask)/Point);

}

}

}

// 潜在风险

//最大仓位

}

Profit & PipsProfit将需要在程序外声明,然后用你喜欢的方法在屏幕上显示。 如果没有其他问题,请发表评论。

标记