如何编码? - 页 227

 

嗨,我需要脚本代码专家的帮助。我想编写两组挂单,如下所示。

第一组

挂单。

GBPUSD(买入止损)。

欧元兑美元(买入止损)。

澳元兑美元(买入止损)。

NZDUSD (买入止损)。

USDJPY (卖出止损)。

USDCAD (卖出止损),

USDCHF (卖出止损)

设置2

挂单。

英镑兑美元(卖出止损)。

欧元兑美元(卖出止损)。

澳元兑美元(卖出止损)。

NZDUSD (卖出止损)。

USDJPY (买入止损)。

美元兑加元(买入止损)。

USDCHF (买入止损)

谢谢。

 

这里是移动止损代码和买入代码,我想问题可能在这里,但不确定......。

//拖曳止损

if(UseTrailingStop && TrailingStop > 0) {

如果((OrderOpenPrice() - Ask) > (Point * (TrailingStop+0.5))){

如果((OrderStopLoss() > (Ask + Point * (TrailingStop+0.5))|| (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange) 。

if (!EachTickMode) BarCount = Bars;

继续。

//买入

如果(Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (! EachTickMode && (Bars != BarCount))))){

如果(DecideToOpenTrade(OP_BUY) && TradeSlotsAvailable() ) {

if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;

if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0。

Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue) 。

如果(Ticket > 0) {

如果(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

Print("BUY订单打开:", OrderOpenPrice())。

if (SignalMail) SendMail("[信号提示]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");

} else {

Print("打开买入订单出错。", GetLastError())。

}

}

if (EachTickMode) TickCheck = True;

如果(!EachTickMode) BarCount = Bars;

return(0);

 

EA没有打开交易.....??

我的EA有一个问题。当我只使用跟踪止损时,它可以很好地打开交易,但当我试图同时使用跟踪止损和止损时,它将无法打开交易。这种方式在回测 中运行良好,但在图表上却无法打开真实交易。我试图使用5点的追踪止损和200点的止损。有什么想法吗?如果需要的话,我可以发布交易代码。

谢谢!

 

请查看专家标签中的错误代码

 

我做了,没有错误。当我启用了追踪止损和止损时,当它要开立交易时,那里什么都没有。当它只有移动止损时,它在标签中的所有交易都是正常的。

 

时间是秒还是毫秒?

嗨,我正在为MT4寻找一个特定的时间字符串,发现了这个。

如果((CurTime()-OrderOpenTime()>300))

我现在的问题是:这300,是300秒还是毫秒还是什么?

谢谢大家

 

MT4中的日期变量在内部存储为长整数值,或4字节(2^32)整数值,它们表示自纪元以来经过的秒数。

回答你的问题,是300秒。

 

这段代码能满足我的需要吗?

这段代码能让我得到我的策略所需的CCI之上的RSI吗?

我需要EA使用CCI的 "先前指标数据 "来读取RSI。

double Buy1_1 = iCCI(NULL, 0, 10, PRICE_OPEN, Current + 0);

double Buy2_1 = iRSI(NULL, 0, 3, 7, Current + 0);

 

返回指定时间范围内的高/低点?

大家好,我是长期的潜伏者,第一次发帖。

如果我把这篇文章发在错误的地方,请原谅....。我试图确定一种方法来返回指定时间范围内的高/低点。

我对以下方法感到满意....

iLow(NULL, PERIOD_D1, 0);

但我想做的是指定一个范围,比如从前一天的23:00到今天的6:00,并将这个范围作为一个变量,直到23:00再次出现。

任何有关这方面的指导都将是非常有用的。谢谢!

 

MQL4字符串格式化

我曾尝试使用'\x20'和'\xA0'来提供左边的垫子,以使字符串右对齐。它们所提供的间距是不够的。有谁知道在MQL4中,有什么更好的方法可以做到这一点?