Как кодировать? - страница 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();' в код(удалите эти '//')

 

Вопрос по кодированию

Я знаю, что советник может быть закодирован только для торговли на демо-счетах. Могу ли я также закодировать советника так, чтобы он НЕ торговал на ПАММ-счетах? Это позволило бы советнику торговать на реальных счетах, но не могло бы использоваться управляющими для торговли на ПАММ-счетах - если бы не было отдельного лицензионного соглашения.

 

Внешняя переменная (переменные), разделенные запятыми

Здравствуйте,

Для индикатора, который я использую, мне нужно установить цифры для каждого символа. Я делаю это в коде с помощью, например.

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 )
 

идеально, спасибо!

 

Сработало благодаря вам обоим. Очень ценю это!

Дэйв

<<<

Причина обращения: