编码帮助 - 页 241

 

大家好。

我不希望我的EA在已经有相同价格水平的相同方向的头寸时开仓(使用renko)。从本质上讲,它应该是这样的。

如果前一栏的方向是向上的,如果在同一价格水平上没有多头头寸(例如+-2点),就开多头。做空也是如此。

这可能吗?

 

该死的,这么容易

 

该死的,这么容易

谢谢你 Mladen

 

Mladen,我有个问题。

我找到了你的指标动态 区间Spearman,也找到了其他指标。但我不能做我想做的事。我想在一个窗口中建立一些相关关系。你明白我的意思吗?我希望使用你的指标时,计算机不会停止。但这看起来像Spearman Stack。

但在我看来,这是不可能做到的。我把指标叠加在一起,但我只看到一个

附加的文件:
eurjpymh1.png  72 kb
 
Air92:
Mladen,我有一个问题。

我找到了你的指标动态区Spearman,也找到了其他的。但我不能做我想做的事。我想在一个窗口中得到一些相关信息。你明白我的意思吗?我希望使用你的指标时,计算机不会停止。但这看起来像Spearman Stack。

但对我来说,这是不可能做到的。我把指标叠加在一起,但我只看到一个

下面是这个帖子中的指标:https://www.mql5.com/en/forum/general,当我在同一个子窗口中多次应用它时,它是这样的

附加的文件:
spearman.gif  49 kb
 

Вот как индикатор с этого поста:https://www.mql5.com/en/forum/general выглядит, когда я применяю его несколько раз в том же дополительном окне [/ QUOTE]

Mladen,谢谢你的nmc!

 
BlackCoq:
大家好。

我不希望我的EA在已经有相同价格水平的相同方向的头寸时开仓(使用renko)。本质上,它应该是这样的。

如果前一栏的方向是向上的,如果在同一价格水平上没有多头头寸(例如+-2点),就开多头。做空也是如此。

这可能吗?

也许查找过去15次交易的开盘价 就足够了,检查是否有任何一次交易的价格在当前价格的+-2点之内,然后检查该交易是否与预定的新交易方向相同,如果不是,则发送订单。这样做可行吗?

谢谢你。

阿克塞尔

 
BlackCoq:
也许查找过去15个交易的开盘价就足够了,检查是否有任何一个交易的开盘价在当前价格的+-2点之内,然后检查该交易是否与预期的新交易方向一致,如果不是,就发送订单。这样能行吗?

谢谢你。

阿克塞尔

阿克塞尔

这是可以做到的。

简单的说,应该扫描未结订单的类型,并将其开盘价 与所需的新开盘价进行比较,或者将其开盘时的条形图与作为开盘标准的条形图进行比较。

 
mladen:
阿克塞尔

可以这样做。

简单的说,应该扫描未结订单的类型,并将其开盘价与所需的新开盘价进行比较,或者将其开盘时的条形图与作为开盘标准的条形图进行比较。

对于不同的 "i=OrdersTotal()-1",写一个类似下面的函数20次左右,然后在所有的函数中调用,并与新的开盘价 相匹配,这是否可行?

谢谢你

 

谁能告诉我,我做错了什么,下面的代码是2个EMA交叉的警报。它拒绝工作。请有人能帮助我在MT4 build 600+上编译和工作。

#property copyright "wnk" #property link "".

#属性链接 "www.wnk.com"

#属性 indicator_chart_window

#属性 indicator_buffers 2

#属性 indicator_color1 Lime

#属性 indicator_color2 Red

//--- 缓冲区

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//外部变量......

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

//|自定义指标 初始化函数

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

int init()

{

//---- 指标

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,217);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW)。

SetIndexArrow(1,217);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0)。

//----

返回(0)。

}

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

//|自定义指标去初始化功能|

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

int deinit()

{

//----

//----

return(0);

}

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

//|自定义指标迭代函数|

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

int start()

{

static datetime LastAlertTime = TimeCurrent();

int counted_bars=IndicatorCounted(),

限度。

如果(counted_bars<0)

返回(-1)。

如果(counted_bars>0)

counted_bars--。

limit=Bars-counted_bars。

while(limit)

{

double ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0)。

double ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0)。

double b4ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);

double b4ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);

double mom=iMomentum(NULL,0,14,PRICE_CLOSE,0);

double b4mom=iMomentum(NULL,0,14,PRICE_CLOSE,1);

//上升警报

if((LastAlertTime!=Time[0])&&(ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591))

ExtMapBuffer1[limit]=High[limit]+5*Point。

LastAlertTime = Time[0];

Alert(Symbol()," ",Period(), "M Price UP")。

//卖出警报

if((LastAlertTime!=Time[0])&&(ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872))

ExtMapBuffer2[limit]=Low[limit]-5*Point。

LastAlertTime = Time[0];

Alert(Symbol()," ",Period(), "M价格下跌")。

}

return(0);

}

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