Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Веди личную переписку в профиле. Это безопасно!
snif
72
snif 2009.10.26 16:09 
пытаюсь добавить мартина в родной советник MACD и не получается... как правильно понимаю все дело в том что советник открывает сделку по сигналу и закрывает ее тоже по сигналу... я не могу ему объяснить что если сделка закрылась в убыток тогда работай с другим лотом.... все перепробывал всеравно открывается с 0.1... и хоть ты треснись. может кто подскажет... как реализовать.
Koнстантин
743
Koнстантин 2009.10.26 16:34  
satop >>:

братву позовите, пускай подтянуться и побазарят с ним

и расколиться - как пить дать

если я не ошибся то можно сделать так

extern lot=0.1;

extern Martin=2;

//

double lots(){double LOT;
for(int n=-1;n<OrdersHistoryTotal();n++){
if(OrderSelect(n,SELECT_BY_POS,MODE_HISTORY))
{double P =OrderProfit();double L=OrderLots();}
if(OrderSelect(n-1,SELECT_BY_POS,MODE_HISTORY))
double P1=OrderProfit();}
if(P>=0)LOT=lot;if(P<0)LOT=L*Martin;
return(LOT);}

//

int start()

{

//

if(........)

OrderSend(Symbol(),OP_BUY,lots(),Ask,10,0,0,"buy",0,0,Blue);

if(........)

OrderSend(Symbol(),OP_SELL,lots(),Bid,10,0,0,"sell",0,0,Red);

//

}

Victor Nikolaev
Модератор
14060
Victor Nikolaev 2009.10.26 16:38  
forex-k писал(а) >>

если я не ошибся то можно сделать так

extern lot=0.1;

//

//

//

double lots()
{
double LOT;
for(int n=-1;n<OrdersHistoryTotal();n++){
if(OrderSelect(n,SELECT_BY_POS,MODE_HISTORY))
{double P =OrderProfit();double L=OrderLots();}
if(OrderSelect(n-1,SELECT_BY_POS,MODE_HISTORY))
{double P1=OrderProfit()}}
if(P>=0)LOT=lot;
if(P<0)LOT=L*2;
if((P<0)&&(P1>0))LOT=lot;
return(LOT);
}

//

//

int start()

{

//

//

if(........)

OrderSend(Symbol(),OP_BUY,lots(),Ask,10,0,0,"buy",0,0,Blue);

//

//

}

Так лучше не делать.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий