如何编码? - 页 22

 

当你有一个十字星时,你总是可以写int crossTime = Time[0],然后使用iBarShift函数,使用crossTime变量来检查通过了多少个条。

 

你好,Kalenzo。

Kalenzo:
当你有一个十字星时,你可以写int crossTime = Time[0],然后使用iBarShift函数,使用crossTime变量来检查有多少个柱子通过。

你如何编写这段代码,以便在计数中只包括 "熊市"?

我理解ibarshift,但这将包括自交叉点以来的所有条形。 你仍然需要使用像我这样的计数系统来计算 "熊市",我相信这就是我的问题所在。

我最初用这个代码测试了我的代码....该代码运行良好,....,但没有转化为上述代码,实际上在我的EA中列出。

int start()

{

//----

double f=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,0);

double s=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,0);

double fp=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,1);

double sp=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,1);

static bool CrossedUP,CrossedDn;

static int Count=0;

if(f>s && fp<=sp)

{

CrossedUP=true;

CrossedDn=false;

Alert(Symbol()," Crossed UP");

Count=0;

}

else

if(f=sp)

{

CrossedUP=false;

CrossedDn=true;

Alert(Symbol()," Crossed Down");

Count=0;

}

if(NewBar()==true && f>s || f<s) Count++;

Comment("Crossed UP: ",CrossedUP," Crossed Down: ",CrossedDn," Bars since Cross: ",Count);

//----

return(0);

}

如果您有任何其他想法,我们将不胜感激。

谢谢。

萨克斯曼

 

对不起,煎蛋。

这个也不能用

谢谢。

萨克斯曼

omelette:
嗨,试试这个。
bool LongClose()

{

if(MAFastC=MASlowP)

{

CrossedUp=false;

CrossedDn=true;

BarCount=0;

}

else

if(MAFastC>MASlowC && MAFastP<=MASlowP)

{

CrossedUp=true;

CrossedDn=false;

BarCount=0;

Alert("Crossed Down");

}

if(CrossedDn==true && NewBar()==true && Candle3mP=="Bear")

BarCount++;

if(BarCount>=2 && Candle3mC=="Bear")

{

Alert("Close Long Position");

return(true);

}

else return(false);
 

EA代码的时间限制

我无法在我的EA上设置时间限制

代码行是这样的。

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)

我试着把ZERO改为1或12,但我不能让它停止交易......我想让交易在12小时内到期,我该怎么做?

我正在使用一个回溯测试,以确保它的工作。

 

试试这个....

{

string expire_date = "2007.10.22";

datetime expirevar = StrToTime(expire_date);

如果 ( CurTime() >= expirevar )

{

警告("版本已过期")。

return(0);

}

//代码

return(0);

}

戴夫

 
islandrock:
我无法在我的EA上设置一个时间限制。

代码行如下。

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)

我试着把ZERO改为1或12,但我不能让它停止交易......我想让交易在12小时内到期,我该怎么做?

我正在使用一个回溯测试,以确保它的工作。

检查错误通道。

在一些交易服务器中,挂单到期时间的应用可以被禁用。在这种情况下,当在过期 参数中指定一个非零值时,将产生错误 147(ERR_TRADE_EXPIRATION_DENIED)。

该参数是一个 "数据时间 "变量,我不相信12会属于该变量的声明范围。

 
islandrock:
我无法在我的EA上设置一个时间限制。

代码行如下。

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)

我试着把ZERO改为1或12,但我不能让它停止交易......我想让交易在12小时内到期,我该怎么做?

我正在使用一个回溯测试,以确保它的工作。

过期 时间在MT中运行良好,唯一需要注意的是,有些经纪商不允许这样做--FXDD就是一个。 过期时间必须是日期 格式,才能发挥作用--即。

datetime ExpirationTime = StrToTime(TimeYear(Time[0]) + "." + TimeMonth(Time[0])+ "." + TimeDay(Time[0])+" "+23+":"+55); OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point,"timetest",16384,ExpirationTime,Green);
 

我一直在尝试这样做。

外置 int TradeLifeHour=12;

外置 int TradeLifeMin=00;

datetime expirationtime; (不知道这里该怎么写)

然后在start()中

expirationtime = CurTime()+TradeLifeHour*60*60+TradeLifeMin*60。

并在0 区域内使用 expirationtime。

我有最后一段代码,但我不知道如何配置它以使交易在12小时内到期。

 
xxDavidxSxx:
试试这个....

{

string expire_date = "2007.10.22";

datetime expirevar = StrToTime(expire_date);

如果 ( CurTime() >= expirevar )

{

警告("版本已过期")。

return(0);

}

//代码

return(0);

}

戴夫

我刚刚使用了我给你的代码。我把日期改成了2006年,然后把它放在一个真钱FXDD账户的Bipoler里面的一个随机位置,结果效果很好。

也许是我太简单了?我不知道

戴夫

 

??

这段代码并没有使我的EA开启的每笔交易在开启后的12小时内到期...