编码帮助 - 页 135

 

谢谢mladen .....

但不工作 ....

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

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

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

附加的文件:
1223123.png  22 kb
 
rizkyd:

谢谢mladen .....

但不工作 ....

我想你会对这段和平的代码感兴趣。

我没有使用图形对象,而是使用普通的缓冲区。

这个indi总是比较H1和D1。

所以,它不会标记高于H1时间段的价格,但它会标记

但它会在与H1相同或更低的时间段进行标记。有时

它看起来很奇怪,在较低的时间段(如标记条形

但如果你仔细看一下每小时的转变,那么就会发现

很好。

dhl_e.mq4

附加的文件:
dhl_e.mq4  3 kb
gbpusdh1.png  30 kb
 
Kalenzo:
我认为这段和平的代码可能会引起你的兴趣。

我没有使用图形对象,而是使用正常的缓冲区。

这个indi总是比较H1和D1的价格。

因此,它不会标记高于H1时间框架的价格,但它会标记

但它会在与H1相同或更低的时间段进行标记。有时

它看起来很奇怪,在较低的时间段(如标记条形

但如果你仔细看一下每小时的转变,那么就会发现

很好。

dhl_e.mq4

谢谢Kalenzo ......将尝试这个方法。

 
rizkyd:

谢谢mladen .....

但不工作 ....

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

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

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

你正在比较两个不同的时间框架

如果一个时间框架1的当前条形高于或低于时间框架2的第一个收盘条形,那么将显示该信息。如果时间框架1的当前条形不高于或低于时间框架2的前一个高点和低点,那么将不会显示任何信息。从你发布的代码来看,这似乎是你的意图(在我的测试中,它运行良好)。

___________________

PS:它不会在历史数据(以前的数据)上显示文本。如果你想让它在历史数据上显示,那么所有需要写成完全不同的经典指标。

 

根据斐波线自动设置止损和止盈的 EA

你好

我想创建一个EA,可以在每一个订单中设置止损和止盈!

EA必须看到卖出价或买入价,例如,买入价。

如果开仓价格在38.2和50之间,EA会自动将止损放在菲波=23.6之前的一条线上,将获利放在菲波=61.8之后的一条线上。

通过这个程序,EA对卖出头寸进行处理,例如,如果头寸是卖出止损@X价格和38.2 fibo<x<50 fibo!EA会自动将获利放在23.6波段,将止损放在61.8波段的线上!!!谁能帮我看看代码?

有谁能帮助我找到这个EA的代码或者告诉我这个EA的类似代码!

****note。

菲波线是由上一天的低点和高点自动计算的!!!!

Tnx

 
mladen:
你在比较两个不同的时间框架

如果一个时间框架1的当前条形高于或低于时间框架2的第一个封闭条形,那么将显示该信息。如果时间框架1的当前条形不高于或低于时间框架2的前一个高点和低点,那么将不会显示任何 信息。从你发布的代码来看,这似乎是你的意图(在我的测试中,它运行良好)。

___________________

PS:它不会在历史数据(以前的数据)上显示文字。如果你想让它显示在历史数据上,那么所有的内容都需要像经典的指标一样写得完全不同。

谢谢你Mladen ...如果你有时间,请让它显示历史数据 ....

PS:这个Indi可以帮助我显示趋势上升或趋势下降。

 
rizkyd:
谢谢你Mladen ...如果你有时间,请让它显示历史数据.... PS:这个indi可以帮助我显示趋势上升或趋势下降。

rizkyd

你是否尝试过使用多时间框架的多空通道(例如将多空通道的时间框架设置为日线,周期设置为1,你会得到与你所寻找的几乎完全相同的东西)。

 

新来者希望得到建议/帮助

大家好。

我是外汇新手,目前对指标和EA感兴趣。我对mq4代码有一些了解,但这还不足以达到我想要的效果。所以我想向专家或对mq4代码有足够了解的人寻求建议/帮助。

我目前的任务是在EA中添加自定义指标,顺便说一下,我有一个很好的EA模板(我想),我将与你分享。

好吧,我的指标的最终买入/卖出信号是这样的:g_ibuf_BUY[1]g_ibuf_SELL[1]

这里是指标播放声音、弹出、发送电子邮件时的部分代码。

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}

下一步是将这些信号添加到EA模板中?怎么做......我必须使用iCustom函数或其他需要添加到指标中的东西才能使用它吗?任何帮助都会被感激。谢谢你。

附加的文件:
 
otnepx:
你好。

我是外汇新手,目前对指标和EA感兴趣。我对mq4代码有一些了解,但这还不足以达到我想要的效果。所以我想向专家或对mq4代码有足够了解的人寻求建议/帮助。

我目前的任务是在EA中添加自定义指标,顺便说一下,我得到了一个很好的EA模板(想),我要和你分享它 好的,所以,我的指标的最终买入/卖出信号是这些:g_ibuf_BUY[1]g_ibuf_SELL[1]

这里是指标播放声音、弹出、发送电子邮件时的部分代码。

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}
下一步是将这些信号添加到EA模板?如何......我必须使用iCustom函数或其他需要添加到指标中的东西才能使用它吗?任何帮助都会被感激。谢谢你。

你不能 警报导入另一个和平代码(指标、EA)。

最干净的方法是使用iCustom()来做你想要的事情。

 

亲爱的Mladen/MrTools。

恳请为1分钟图表制作一个基于以下逻辑的指标 ...它还应该在图表上有买入/卖出箭头的提示。

买入的逻辑:

一分钟EMA(90)越过一分钟EMA(390)(意味着前一分钟EMA90小于EMA390),并且EMA(90)也应大于EMA(150)

买入出场的逻辑。

一分钟EMA(90)>EMA(390)且EMA(90)<EMA(150)。

卖出进场的逻辑。

一分钟EMA(90)减去一分钟EMA(390)(意味着前一分钟EMA90大于EMA390),且EMA(90)应小于EMA(150)

卖出的逻辑。

一分钟EMA(90) EMA(150)。

*******************************************************

相同逻辑的Nest代码也在下面分享。

买入警报表达

EMA(CLOSE,90) > EMA(CLOSE,390) and REF(EMA(CLOSE,90),1) EMA(CLOSE,150)

买入退出表达式

EMA(CLOSE,90) > EMA(CLOSE,390) and EMA(CLOSE,90) < EMA(CLOSE,150)

卖出提示表达式

EMA(CLOSE,90) REF(EMA(CLOSE,390),1) and EMA(CLOSE,90) < EMA(CLOSE,150)

卖出表达式

EMA(close,90) EMA(close,150)

谢谢

非常感谢