编码帮助 - 页 117

 

谢谢mladen,我是一个初级程序员,事实上,你是一个帮助我完成第一部分代码的人,但警报仍然在新的蜡烛开始时重复,请帮助我看到第一和第二部分。

请看下面的原始信息。

大家好,我希望有人能帮我修改下面的代码并解释一下。代码的第一部分包含买入和卖出警报。它支持只在买入和卖出信号发生时发出警报,但它在每根新蜡烛的开始都重复发出警报....,请帮助纠正这一点,使警报只在设置条件发生时发出。

代码的第二部分是一个停止警报。它是为了在买入或卖出机会不再出现时向用户发送停止信号。这些代码完全拒绝工作,请帮助....

static datetime lastAlerted=0。

//Momentum.....1hour

double mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,0)。

double b4mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,1);

(1)======== 买入和卖出的提示==========

//提示买入

if(mom_1h>99.6353)&&(mom_1h>b4mom_1h)&&(lastAlerte d!=Time[0])){

lastAlerted=Time[0];

Alert(Buy","\n","当前时间 是",TimeToStr(CurTime()),"\n",Symbol())。

}

//提示卖出

if(mom_1h<100.7482)&&(mom_1h<b4mom_1h)&&(lastAlert ed!=Time[0])){

lastAlerted=Time[0];

Alert("Sell","\n", "当前时间是",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Symbol( )。

}

(2)========== 停止购买和出售的警报==============

//提示停止买入

如果(mom_1h<b4mom_1h)&&(lastAlerted! =Time[0])){

lastAlerted=Time[0];

Alert(Stop Buy","\n", "当前时间是",TimeToStr(CurTime()),"\n",Symbol())。

}

//提示停止卖出

如果(mom_1h>b4mom_1h)&&(lastAlerted! =Time[0])){

lastAlerted=Time[0];

Alert(" Stop Sell","\n", "当前时间是",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Symbol( )。

}

 
Mastercash:
谢谢mladen,我是一个入门级的程序员,事实上,你就是那个帮助我完成第一部分代码的人,但是警报仍然在新的蜡烛开始时重复,请帮我看看第一部分和第二部分。

请看下面的原始信息。

Good day all, pls I want someone to help me modify the code below and explain. The number one part of the code contains buy and sell alert.It support to give alert when buy and sell signal only occur but it repeat the alert at the beginning of every new candle....pls help to correct this by making the alert sound when the set up condition occur only.

代码的第二部分是一个停止警报。它是为了在买入或卖出的机会不再出现时向用户发送停止信号。这些代码完全拒绝工作,请帮助....

static datetime lastAlerted=0。

//Momentum.....1hour

double mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,0)。

double b4mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,1);

(1)======== 买入和卖出的提示==========

//提示买入

if(mom_1h>99.6353)&&(mom_1h>b4mom_1h)&&(lastAlerte d!=Time[0])){

lastAlerted=Time[0];

Alert(Buy","\n", "当前时间是",TimeToStr(CurTime()),"\n",Symbol())。

}

//提示卖出

if(mom_1h<100.7482)&&(mom_1h<b4mom_1h)&&(lastAlert ed!=Time[0])){

lastAlerted=Time[0];

Alert("Sell","\n", "当前时间是",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Symbol( )。

}

(2)========== 停止购买和出售的警报==============

//提示停止买入

如果(mom_1h<b4mom_1h)&&(lastAlerted! =Time[0])){

lastAlerted=Time[0];

Alert(Stop Buy","\n", "当前时间是",TimeToStr(CurTime()),"\n",Symbol()。

}

//提示停止卖出

如果(mom_1h>b4mom_1h)&&(lastAlerted! =Time[0])){

lastAlerted=Time[0];

Alert(" Stop Sell","\n", "当前时间是",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Symbol( ))。

}

试试这样的方法。

static datetime lastAlerted1=0;

static datetime lastAlerted2=0;

static string lastType1="";

static string lastType2="";

//Momentum.....1hour

double mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,0);

double b4mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,1);

//========Alerts for buy and Sell==========

//Alerts for buy

if((mom_1h>99.6353)&&(mom_1h>b4mom_1h)&&(lastAlerted1!=Time[0] && lastType1!="Buy")){

lastAlerted1=Time[0];

lastType1="Buy";

Alert("Buy","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());

}

//Alerts for Sell

if((mom_1h<100.7482)&&(mom_1h<b4mom_1h)&&(lastAlerted1!=Time[0] && lastType1!="Sell")){

lastAlerted1=Time[0];

lastType1="Sell";

Alert("Sell","\n","Current time is ",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Sym bol( ));

}

//==========Alerts for Stop buying and sell==============

//Alert to stop Buy

if((mom_1h<b4mom_1h)&&(lastAlerted2!=Time[0]&&lastType2!="Stop Buy")){

lastAlerted2=Time[0];

lastType2="Stop Buy";

Alert("Stop Buy","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());

}

//Alerts to Stop Selling

if((mom_1h>b4mom_1h)&&(lastAlerted2!=Time[0]&&lastType2!="Stop Sell")){

lastAlerted2=Time[0];

lastType2="Stop Sell";

Alert(" Stop Sell","\n","Current time is ",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Sym bol( ));

}

 

谢谢,我会这样做的!

 

编码帮助

大家好。

请mladen或mr.tools。我对这个指标的刷新有一个小问题。当一个新的蜡烛打开时,它不能正确地自动刷新,我必须打开和关闭外部参数窗口来刷新它。你能看一下代码并解决这个问题吗?

谢谢。

s.mq4

附加的文件:
s.mq4  3 kb
 
lrprez:
大家好。

请mladen或mr.tools。我对这个指标的刷新有一个小问题。当一个新的蜡烛打开时,它不能正确地自动刷新,我必须打开和关闭外部参数窗口来刷新它。你能看一下代码并解决这个问题吗?

谢谢。

s.mq4

lrprez

现在就试试吧

附加的文件:
s-2.mq4  3 kb
 

非常感谢你,mladen。你是个天才。

 

需要关于mt4编码的帮助

大家好。

我想在写代码方面寻求帮助,其规格如下。

1.我将输入特定的日期和时间

2.我希望该指标能显示

特定日期和时间的蜡烛开盘,高点,低点,收盘

例如,我输入D'2013.8.01 13:00'并将其放在M30图表上。

该指标将显示我在D'2013.8.01 13:00'的M30图表上的蜡烛。

开盘价、最高价、最低价、收盘价。

谢谢

 
tkz883:
大家好。

我想寻求帮助,编写以下规格的代码。

1.我将输入特定的日期和时间

2.我希望该指标能显示

具体日期和时间 蜡烛开盘,高点,低点,收盘

例如,我输入D'2013.8.01 13:00'并将其放在M30图表上。

该指标将显示我在D'2013.8.01 13:00'的M30图表上的蜡烛。

开盘价、最高价、最低价、收盘价。

谢谢

你可以像这样做。

#property copyright ""

#property link ""

#property indicator_chart_window

extern datetime TimeToCheck = D'2013.8.01 13:00';

int init() { return(0); }

int start()

{

int bar = iBarShift(NULL,0,TimeToCheck);

Comment("Open : "+DoubleToStr(Open,Digits)+"\n"+

"Close : "+DoubleToStr(Close,Digits)+"\n"+

"High : "+DoubleToStr(High,Digits)+"\n"+

"Low : "+DoubleToStr(Low,Digits));

return(0);

}
附加的文件:
tkz.mq4  1 kb
 

简单的编码帮助

需要帮助对一个指标进行编码。

A.输入。

1. 日期和时间信息。D'2013.8.01 13:00'

2.应用价格。开盘,最高价,最低价收盘

B.使用实例。

1.例如,我希望该指标在M60图表中显示下列日期的开盘价

输入日期D'2013.8.01 13:00'在M60图表中,该指标将显示

显示特定输入日期的蜡烛的开盘价。

2.接下来,该指标将显示任何时候的开盘价

D'2013.8.01 13:00'之后(但不是Be4),并不断地更新。

 

嗨,mladen,我在很久以前就对这个指标进行了调整,我喜欢它现在的显示方式,但唯一的问题是,它现在完全占用了CPU。你能不能看一下引擎盖下的代码,看看是否需要清理一下,或者看看为什么当市场开始移动 时它会冻结我的平台。

这将是非常感激的。

谢谢您的帮助。

G

附加的文件: