如何编码? - 页 33

 
 

检查 由TP或SL关闭的订单

你好

如何检查订单是否被TP或SL平仓?

master001

 

编码方面的帮助!

int k, vOrders;

vOrders = OrdersTotal();

//{

double Profit = 0;

double PipsProfit = 0;

for (k=vOrders-1;k>=0;k--)

{

if (OrderSelect(k, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol()==Symbol() && ((OrderMagicNumber () == Reference) || MagicNumber==0))

{

if (OrderType() == OP_BUY) PipsProfit+ == ((Bid - OrderOpenPrice())/Point);

Profit+= OrderProfit();

else if (OrderType() == OP_SELL) PipsProfit+ = ((OrderOpenPrice() - Ask)/Point);

{

//Profit += OrderProfit();

}

}

}

}

过去有人给我这个编码,我试着用它工作。 在处理PipsProfit后面的'+'时,它给了我错误。 谁能帮我调试一下?在此真诚感谢您的帮助。

戴夫

 

if (OrderType() == OP_BUY) PipsProfit+ == ((Bid - OrderOpenPrice())/Point);

[/php]

The + after PipsProfit shouldn't be there at all. It is being used in a comparison NOT an incremental function. You're ASKING does PipsProfit equal Bid - etc etc ?

Try this...

[php]

if ((OrderType() == OP_BUY) && (PipsProfit == (Bid - OrderOpenPrice())/Point)){

// do something IF the above two conditions are TRUE...

}

好运

卢克斯

 

问题是PipsProfit和'+'之间没有空格,'='和'+'之间有空格 ...... - 换句话说,它应该是这样的 ->

else if (OrderType() == OP_SELL) PipsProfit += ((OrderOpenPrice() - Ask)/Point); {

你还应该在代码中加入第二个'Profit += OrderProfit();'(删除 那些'//')。

 

编码问题

我知道一个EA可以被编码为 交易模拟账户。 我可以不在 PAMM账户上交易吗? 这将允许EA在真实账户上交易,但不能用于资金经理交易PAMM账户 - 除非有单独的许可协议。

 

逗号分隔的外部变量(s)

你好。

在我使用的一个指标中,我必须为每个符号设置数字。我在代码中是这样做的,比如说

if(Symbol()=="GBPJPY" || Symbol()=="EURJPY" || Symbol()=="USDJPY" ....and so on) nDigits = 2;[/PHP]

Now I like to spin these symbols off to an extern variable so that the user can set his symbols for himself. I thought to add sth. like

[PHP]extern string Symbols_nDigits2 = "GBPJPY,EURJPY,USDJPY";

我如何使用这个逗号分隔的符号列表并将其分割出来,以便我可以像上面所示的那样在指标代码中再次使用它(if(Symbol()=="GBPJPY"....)?

(或者对于这个 "数字问题 "是否有更好的解决方案?)

谢谢

 
MarketInfo( Symbol(), MODE_DIGITS )
 

完美,谢谢!

 

感谢你们两个人的努力,使它得以运作。 真的很感谢!

戴夫

<<<