问吧! - 页 115

 
TheRumpledOne:
有没有更简单的方法来找到今天的高点和低点的条形号码?

today_high = High[0];

today_low_ = Low[0];

找出今天的条形图编号?0表示今天。当然是在D1上。

如果你是在其他TF上。

today_high = iHigh(Symbol(),PERIOD_D1,0);

today_low = iLow(Symbol(),PERIOD_D1,0)。

傅鲁峰

 
TheRumpledOne:
我想知道在H1或更短的时间段内,今天的最高点和最低点发生在哪个柱子上。

我知道我可以使用for循环和检查。

有没有一种更优雅的方法来做这个?

是否有一个今日首条的函数?

谢谢。

datetime some_time_start_day=D'0000.00.00.00:00'。

datetime some_time_end_day=D'0000.00.00 00:00';

int shiftStart=iBarShift(NULL,PERIOD_M1, some_time_start_day);

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day)。

double valH=High;

double valL=Low;

没有比这更简单的了... ps.我以为问题是在较低的时间框架上找到条形图,否则就按FerruFx解释的那样,从D1开始做。

.

 

亲爱的代码大师。

我需要一个对你来说小菜一碟的EA。

当2个MA交叉时,它将关闭所有未结头寸(针对特定货币对)。

当然,如果较快的MA向下交叉,较慢的MA将关闭多头头寸。

反之亦然。

变量:

- 较快的MA类型

- 较快的MA值

- 较慢的MA类型

- 较慢的MA值

- 时间框架(我们可以固定时间框架而不被干扰

当我们在不同时间段的图形窗口之间切换时,我们可以固定时间段而不被干扰)

我曾试图修改MA交叉的EA,但总是失败。

谢谢你的好意。

 
IN10TION:
datetime some_time_start_day=D'0000.00.00.00:00'。

datetime some_time_end_day=D'0000.00.00.00:00'。

int shiftStart=iBarShift(NULL,PERIOD_M1, some_time_start_day);

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day)。

double valH=High;

double valL=Low;

没有比这更简单的了... ps.我想问题是在较低的时间框架上找到条形图,否则就按FerruFx解释的从D1开始做。

.

谢谢。

我想没有一个更简单的方法。

我以为BarStartOfDay可能有一个关键词/保留词之类的。

 
IN10TION:
iBarShift将为你找到当天开始的柱子或当天的结束柱子。

int iBarShift ( string symbol, int timeframe, datetime time, bool exact=false)

接下来...

使用这些条形位置来寻找iHighest和iLowest的结果

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

int iLowest( 字符串,int timeframe,int type,int count=WHOLE_ARRAY,int start=0)

结果和完成

这就是我想知道的原因。

https://www.mql5.com/en/forum/178406/page8

 

你好。

首先感谢您的帮助!

我想看看是否有办法在专家顾问中使用多线程,就像在C++中一样。

原因是,我做新闻交易,我需要有几个订单在同一时间发送。 例如,我需要在数据进来时立即下3个订单GBP/USD, USD/CAD, EUR/USD。 现在我的问题是,如果我使用常规的订单发送功能 3次,就会很慢,因为它是递增发送订单,而不是同时发送。

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",1111,0,Red)。

OrderSend("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",1111,0,Red)。

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",1111,0,Red)。

我确信这可以通过某种方式实现,因为如果我打开3个独立的MT4买入/卖出窗口,同时点击它们(使用新闻交易程序),订单都在同一时刻发送,而且来的更快。 当你这样做时,订单都是一次弹出,而使用我的EA,有3个OrderSend调用,它们一个接一个弹出。

是否有办法在EA中设置多个运行线程,或者是否有某种类型的批量OrderSend?

谢谢!

科尔

 
ColeFlournoy:
你好。

首先要感谢您的帮助!

我想看看是否有办法在专家顾问中使用多个线程,就像在C++中一样。

原因是,我做新闻交易,我需要有几个订单在同一时间发送。 例如,我需要在数据进来时立即下3个订单GBP/USD, USD/CAD, EUR/USD。 现在我的问题是,如果我使用常规的订单发送功能3次,就会很慢,因为它是递增发送订单,而不是同时发送。

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",1111,0,Red)。

OrderSend("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",1111,0,Red)。

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",1111,0,Red)。

我确信这可以通过某种方式实现,因为如果我打开3个独立的MT4买入/卖出窗口,同时点击它们(使用新闻交易程序),订单都在同一时刻发送,而且来的更快。 当你这样做时,订单都是一次弹出,而使用我的EA,有3个OrderSend调用,它们一个接一个弹出。

是否有办法在EA中设置多个运行线程,或者是否有某种类型的批量OrderSend?

谢谢

科尔

无论如何,你的平台不会在完全相同的时间发送多个订单。

费鲁弗斯

 

FerruFX -- 我不确定我是否理解你的意思?

谢谢。

科尔

 
IN10TION:
你是否已经有了一些这方面的代码,你开始了?

在一个MQ4文件中?

你需要的第一件事是确认十字星/内侧=是或不是

根据你的设置,它将在十字星/内侧之前寻找或等待

当它等待2个小节时,它必须根据前一个小节的高点或低点来决定订单......

你可以开始编程了

你有一些代码来寻找十字星或内线吗?

...

嗨,IN10TION。

这是我使用的代码(不是我的代码),用来寻找内盘。

}

int IsInsideBar(int shift) {

//内侧条,内侧条的收盘价应该高于收盘价和条形中点 当前条形必须打开

//如果买入止损单在接下来的4个月内没有被执行,那么买入止损单将被放置在内侧栏的高点。

//在接下来的4个柱子内没有被击中,则取消订单。见下图

如果(High[shift]>High[shift+1])返回(0)。

如果(Low[shift]<Low[shift+1]) 返回(0)。

如果 (Close[shift]>Open[shift] && Close[shift]>(High[shift]+Low[shift])/2 && Open[shift-1]>=Close[shift]) 返回(1);

如果(Close[shift]<Open[shift]&&Close[shift]<(High[shift]+Low[shift])/2&&Open[shift-1]<=Close[shift])返回(-1)。

return(false);

}

现在,我的问题是。

如果我想在下一个条形的高点和低点设置买入止损和卖出止损,即内侧条形之后的条形...代码是什么?

谢谢你的帮助...

尊敬的客户

 
IN10TION:
我洗耳恭听,你可以给我发私信或在公开场合提出来......如果你的指标编得好,你完成的EA就不会太远了。

日安

附上我正在交易的图片。

我使用这4个指标

卖出信号

1:慢速随机指标K%与D%交叉,超过80,反之,低于20则买入。

2:QQE RSI在ATR下方交叉,反之则为买入

3:CCI在0以下交叉,反之为买入

4:MACD指标交叉并在0以下形成一个柱状,反之亦然,买入

如果这些条件中的任何3个得到满足,则开立头寸,例如斯托克指数出现信号5分钟后,MACD和20分钟CCI出现信号=开立头寸。

或上述的任何组合,只要它们与斜率指标的方向相同。

屏幕截图附后

注意事项

附加的文件:
bones.gif  54 kb