A question for reduce trading times in MQL4?

 

Hi

My EA works per MA direction, but I want my trade trade only 1 time when MA in one direction before next changing direction of MA.

I do not know how to stop issue new order after 1 closed oder. I write a program as below, but it does not work! Is anyone can help?

bool iftrade2=true;

int count=0;

if ((sma_b_1>sma_b_2&&sma_b_2<=sma_b_3)||(sma_b_1<sma_b_2&&sma_b_2>=sma_b_3)) count=0;
if (hasbuy||hassell) count=count+1;
if (count==0) {iftrade2=true;} else {iftrade2=false;}

if (iftrade2&&.......) {action}

Thanks

 

int iftrade2=0;

int start()

{

int count=0;

if ((sma_b_1>sma_b_2&&sma_b_2<=sma_b_3)||(sma_b_1<sma_b_2&&sma_b_2>=sma_b_3)) count=0;

..............................
if (hasbuy) {iftrade2=1;}

if(hassell) {iftrade2=-1;}

if (iftrade2 == 0 .......) {action}

if (iftrade2 == 1 .......) {action}

if (iftrade2 == -1 .......) {action}

 

Hi DxdCn

Tks your kindly reply, I am a new MQL4 learner. Do you mean:. iftrade2 need have different value for Bid and Ask order?

 
DxdCn:

int iftrade2=0;

int start()

{

int count=0;

if ((sma_b_1>sma_b_2&&sma_b_2<=sma_b_3)||(sma_b_1<sma_b_2&&sma_b_2>=sma_b_3)) count=0;

..............................
if (hasbuy) {iftrade2=1;}

if(hassell) {iftrade2=-1;}

if (iftrade2 == 0 .......) {action}

if (iftrade2 == 1 .......) {action}

if (iftrade2 == -1 .......) {action}

Hi DxdCn

Tks your kindly reply, I am a new MQL4 learner. Do you mean:. iftrade2 need have different value for Bid and Ask order?

Appreciate

 
DxdCn:

int iftrade2=0;

int start()

{

int count=0;

if ((sma_b_1>sma_b_2&&sma_b_2<=sma_b_3)||(sma_b_1<sma_b_2&&sma_b_2>=sma_b_3)) count=0;

..............................
if (hasbuy) {iftrade2=1;}

if(hassell) {iftrade2=-1;}

if (iftrade2 == 0 .......) {action}

if (iftrade2 == 1 .......) {action}

if (iftrade2 == -1 .......) {action}

Hi DxdCn

Tks, I modify as below. It seams work. What is the difference? Sell and Buy need seperate ? Or other reason?

if (sma_b_1<sma_b_2&&hassell) {count=-1;}
if (sma_b_1>sma_b_2&&hasbuy) {count=1;}
if ((sma_b_1>sma_b_2&&sma_b_2<=sma_b_3)||(sma_b_1<sma_b_2&&sma_b_2>=sma_b_3)) {count=0;}

if (count==0) {action}

Reason: