[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 420

 

声明一个变量

bool ret;

循环之前

 

snowman647, huh?)

编译没有问题,算法出了问题。

 
Summer писал(а)>>

snowman647, huh?)

编译没有问题,算法出了问题。

可能需要观察新职位是如何开启的。

 
朋友们,谁能给我一个提示。昨天我正在做一个关于Murray水平的EA。我们的想法是在8/0和0/8水平卖出/买入,TP为中枢。我使用ObjectGet()来获得这些线条,因为我找不到其他的方法。问题是,如果波动率下降,水平线会被重新划定,最重要的是TP会自动改变。但根据TS,它不应该改变。但我们应该如何保持TP不变?我很感谢事先的帮助。
 
Vinin >>:

Наверно надо смотреть как открываются новые позиции

它确实打开了,但它不愿意关闭)

关闭算法一定有问题。

代码是最简单的,难道有经验的程序员都不明白哪里出了问题吗?)

 
大家好!我正在一个模拟账户上实时测试一个EA(终端一天24小时运行)。我有一个问题!Metatrader能够在那些操作的基础上对真正工作的EA进行统计,他是怎么做的(当然,我在这里不是指回测)?谢谢大家!
 
Summer писал(а)>>

它确实打开了,但它不愿意关闭)

关闭算法一定有问题。

代码是最简单的,难道有经验的程序员都不明白哪里出了问题吗?)

如果开放不使用Magik,那么你怎么能通过Magik关闭。这就是为什么会出现这样的问题。

 

维宁,我的好兄弟)魔术师是值得的))。

extern double Lots=0.1;

int start()
{

bool ret;

double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);

if(Ind11>Ind12)
{

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);

}

if(Ind11<Ind12)
{



for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);

if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}



}

return(0);

}

 
Necron >>:
Народ, кто может подсказать. Вчера делал советника по уровням Мюррея. Там смысл такой, что от уровней 8/0 и 0/8 надо продавать/покупать, а TP на пивот. Я использовал ObjectGet() чтобы получить линии, т.к. другого способа не нашел. Проблема в том, что если снижается волатильность, то уровни перерисовываются, и что самое главное автоматически меняется и TP. А менятся по ТС не должен. А вот как сделать чтоб TP не менялся? Заранее благодарен за помощь.

修正计算线和支点的算法

 
Summer >>:

Vinin, уважаемый) магик то стоит))

extern double Lots=0.1;

int start()
{

bool ret;

double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);

if(Ind11>Ind12)
{

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);

}

if(Ind11<Ind12)
{



for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);

if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}



}

return(0);

}

用NormalizeDouble(Ask, Digits)代替Ask,用NormalizeDouble(Bid, Digits)代替Bid,就可以了。