EA doesn't starts. Strategy loaded and initialized but nothing else... Maybe somebody knows how change it?

 

int start() {

double ABUY=0;
double ASELL=0;
double BBUY=0;
double BSELL=0;
double point = MarketInfo(Symbol(),MODE_POINT);
double expiration=CurTime()+PERIOD_D1*60;
int n;
int total= OrdersTotal();
for( n=0; n<total; n++ ){ // count how many open orders we have
if( OrderSelect(n,SELECT_BY_POS,MODE_TRADES) )
continue;

if( OrderSymbol()==Symbol() )
continue;
if( OrderMagicNumber()== 1 ) && ( OrderType()== OP_BUY ){ //check if this order exists
ABUY=2; // it's a BUY order //if order exists - change variable
}
else if( OrderMagicNumber()== 1 ) && ( OrderType()== OP_BUYSTOP ){
ABUY=1; // it's a BUY pending order
}
else if( OrderMagicNumber()== 2 ) && ( OrderType()== OP_SELL ){ //check if another order exists
ASELL=2; // it's a SELL order //if this order exists - change variable
}
else if( OrderMagicNumber()== 2 ) && ( OrderType()== OP_SELLSTOP ){
ASELL=1; // it's a SELL pending order
}
else if( OrderMagicNumber()== 3 ) && ( OrderType()== OP_BUY ){ //etc.......
BBUY=2; // it's a BUY order
}
else if( OrderMagicNumber()== 3 ) && ( OrderType()== OP_BUYSTOP ){
BBUY=1; // it's a BUY pending order
}
else if( OrderMagicNumber()== 4 ) && ( OrderType()== OP_SELL ){
BSELL=2; // it's a SELL order
}
else if( OrderMagicNumber()== 4 ) && ( OrderType()== OP_SELLSTOP ){
BSELL=1; // it's a SELL pending order

}

else {

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"A BUY",1,expiration,Blue);

OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"A SELL",2,expiration,Green);

}

}

if ( ABUY== 2 ) {

if ( ASELL>0 ) {

OrderDelete(OrderMagicNumber()== 2 );

OrderDelete(OrderMagicNumber()== 6 );

OrderSend(Symbol(),OP_SELLSTOP,0.2,Bid-30*point,4,Ask-62*point,Ask-2*point,"HA SELL",6,expiration,Green);

}

else if ( BBUY== 0 ) && ( BSELL== 0 ) {

OrderDelete(OrderMagicNumber()== 7 );

OrderDelete(OrderMagicNumber()== 8 );

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"B BUY",3,expiration,Blue);

OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"B SELL",4,expiration,Green);

}

}

else if ( ASELL == 2 ) {

if ( ABUY>0 ) {

OrderDelete(OrderMagicNumber()== 1 );

OrderDelete(OrderMagicNumber()== 5 );

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+28*point,4,Bid+60*point,Bid,"HA BUY",5,expiration,Blue);

}

else if ( BBUY== 0 ) && ( BSELL== 0 ) {

OrderDelete(OrderMagicNumber()== 7 );

OrderDelete(OrderMagicNumber()== 8 );

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"B BUY",3,expiration,Blue);

OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"B SELL",4,expiration,Green);

}

}

//-----------------

return (0);

}

 
int start() { 



double ABUY=0;
double ASELL=0;
double BBUY=0;
double BSELL=0;
double point = MarketInfo(Symbol(),MODE_POINT);
double expiration=CurTime()+PERIOD_D1*60;
int n;
int total= OrdersTotal();
for( n=0; n<total; n++ ){ // count how many open orders we have
if( OrderSelect(n,SELECT_BY_POS,MODE_TRADES) )
continue;


if( OrderSymbol()==Symbol() )
continue;
if( OrderMagicNumber()== 1  &&  OrderType()== OP_BUY ){ //check if this order exists
ABUY=2; // it's a BUY order //if order exists - change variable
}
else if( OrderMagicNumber()== 1  &&  OrderType()== OP_BUYSTOP ){
ABUY=1; // it's a BUY pending order
}
else if( OrderMagicNumber()== 2  &&  OrderType()== OP_SELL ){ //check if another order exists
ASELL=2; // it's a SELL order //if this order exists - change variable
} 
else if( OrderMagicNumber()== 2  &&  OrderType()== OP_SELLSTOP ){
ASELL=1; // it's a SELL pending order
} 
else if( OrderMagicNumber()== 3  &&  OrderType()== OP_BUY ){ //etc.......
BBUY=2; // it's a BUY order
}
else if( OrderMagicNumber()== 3  &&  OrderType()== OP_BUYSTOP ){
BBUY=1; // it's a BUY pending order
}
else if( OrderMagicNumber()== 4  &&  OrderType()== OP_SELL ){
BSELL=2; // it's a SELL order
} 
else if( OrderMagicNumber()== 4  &&  OrderType()== OP_SELLSTOP ){
BSELL=1; // it's a SELL pending order
}

}

if ( ABUY== 2 ) {

if ( ASELL>0 ) {

OrderDelete(OrderMagicNumber()== 2 );

OrderDelete(OrderMagicNumber()== 6 ); 

OrderSend(Symbol(),OP_SELLSTOP,0.2,Bid-30*point,4,Ask-62*point,Ask-2*point,"HA SELL",6,expiration,Green);

}

else if ( BBUY== 0  &&  BSELL== 0 ) {

OrderDelete(OrderMagicNumber()== 7 ); 

OrderDelete(OrderMagicNumber()== 8 ); 

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"B BUY",3,expiration,Blue);

OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"B SELL",4,expiration,Green);

}

}

else if ( ASELL == 2 ) {

if ( ABUY>0 ) {

OrderDelete(OrderMagicNumber()== 1 );

OrderDelete(OrderMagicNumber()== 5 ); 

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+28*point,4,Bid+60*point,Bid,"HA BUY",5,expiration,Blue);

}

else if ( BBUY== 0  &&  BSELL== 0 ) { 

OrderDelete(OrderMagicNumber()== 7 ); 

OrderDelete(OrderMagicNumber()== 8 ); 

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"B BUY",3,expiration,Blue);

OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"B SELL",4,expiration,Green);

}

}

//-----------------

return (0);

} 

 
qjol:


Thank you. The && signs should be without another ().

Have a good day:)

A theme is closed.

 
Ok. so now this is compiling wright but ea doesn't start real.
What I need to use, to start this program automaticly when strategy is switched on.

int start() { 



double ABUY=0;
double ASELL=0;
double BBUY=0;
double BSELL=0;
double point = MarketInfo(Symbol(),MODE_POINT);
double expiration=CurTime()+PERIOD_D1*60;
int n;
int total= OrdersTotal();
for( n=0; n<total; n++ ){ // count how many open orders we have
if( OrderSelect(n,SELECT_BY_POS,MODE_TRADES) )
continue;


if( OrderSymbol()==Symbol() )
continue;
if( OrderMagicNumber()== 1  &&  OrderType()== OP_BUY ){ //check if this order exists
ABUY=2; // it's a BUY order //if order exists - change variable
}
else if( OrderMagicNumber()== 1  &&  OrderType()== OP_BUYSTOP ){
ABUY=1; // it's a BUY pending order
}
else if( OrderMagicNumber()== 2  &&  OrderType()== OP_SELL ){ //check if another order exists
ASELL=2; // it's a SELL order //if this order exists - change variable
} 
else if( OrderMagicNumber()== 2  &&  OrderType()== OP_SELLSTOP ){
ASELL=1; // it's a SELL pending order
} 
else if( OrderMagicNumber()== 3  &&  OrderType()== OP_BUY ){ //etc.......
BBUY=2; // it's a BUY order
}
else if( OrderMagicNumber()== 3  &&  OrderType()== OP_BUYSTOP ){
BBUY=1; // it's a BUY pending order
}
else if( OrderMagicNumber()== 4  &&  OrderType()== OP_SELL ){
BSELL=2; // it's a SELL order
} 
else if( OrderMagicNumber()== 4  &&  OrderType()== OP_SELLSTOP ){
BSELL=1; // it's a SELL pending order
}
else {
       OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"A BUY",1,expiration,Blue);
       OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"A SELL",2,expiration,Green);
     }

}

if ( ABUY== 2 ) {

if ( ASELL>0 ) {

OrderDelete(OrderMagicNumber()== 2 );

OrderDelete(OrderMagicNumber()== 6 ); 

OrderSend(Symbol(),OP_SELLSTOP,0.2,Bid-30*point,4,Ask-62*point,Ask-2*point,"HA SELL",6,expiration,Green);

}

else if ( BBUY== 0  &&  BSELL== 0 ) {

OrderDelete(OrderMagicNumber()== 7 ); 

OrderDelete(OrderMagicNumber()== 8 ); 

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"B BUY",3,expiration,Blue);

OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"B SELL",4,expiration,Green);

}

}

else if ( ASELL == 2 ) {

if ( ABUY>0 ) {

OrderDelete(OrderMagicNumber()== 1 );

OrderDelete(OrderMagicNumber()== 5 ); 

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+28*point,4,Bid+60*point,Bid,"HA BUY",5,expiration,Blue);

}

else if ( BBUY== 0  &&  BSELL== 0 ) { 

OrderDelete(OrderMagicNumber()== 7 ); 

OrderDelete(OrderMagicNumber()== 8 ); 

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+6*point,4,Bid-52*point,Bid+20*point,"B BUY",3,expiration,Blue);

OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-8*point,4,Ask+50*point,Ask-22*point,"B SELL",4,expiration,Green);

}

}

//-----------------

return (0);

} 

 
BorysekPL:


Thank you. The && signs should be without another ().

Have a good day:)

A theme is closed.


u can do with or without () as u like but if u do with () u have to do it with another one for the if

if ( (OrderMagicNumber()== 1)  &&  (OrderType()== OP_BUYSTOP ) )
 
qjol:


u can do with or without () as u like but if u do with () u have to do it with another one for the if


Thanks, I remeber that:)

Maybe you know also how initialize my strategy to run on every tick?

Reason: