#property copyright "Copyright © 2009, Juan Cruz Baudino." #property link "" extern string Pair1 = "EURUSD"; extern string Pair2 = "GBPUSD"; extern int PipsTrigger = 50; extern int PipsInGain = 10; extern int MaxLoss = 50; extern double Size = 0.1; extern int MagicNumber = 1400; extern int slip = 5; int init(){return(0);} int deinit(){return(0);} int start() { double deposito = AccountBalance(); double margen1,margen2,margenTotal; double equidad = AccountEquity(); int ticket1,ticket2,ticket3,ticket4; bool orden1=false,orden2=false,orden3=false,orden4=false; double profit1,profit2,profit3,profit4,profitpar1,profitpar2; int spread1=MarketInfo(Pair1,MODE_SPREAD); //calculate the spreads int spread2=MarketInfo(Pair2,MODE_SPREAD); double margenPerdida=PipsTrigger-spread1-spread2-PipsInGain; //calculate minimal loss margin //bid and ask for both pairs double Bid1 =MarketInfo(Pair1,MODE_BID); double Ask1 =MarketInfo(Pair1,MODE_ASK); double Bid2 =MarketInfo(Pair2,MODE_BID); double Ask2 =MarketInfo(Pair2,MODE_ASK); //Look for the opened orders --------------------------------------------------------------------------- orden1=false;orden2=false;orden3=false;orden4=false; for (int i=0;imargen2) && (margen1>=PipsTrigger)) // if 4 orders opened and the margin of the first pair is > and it reaches the higher margin the i close this pair in profit... { OrderClose(ticket1,Size,Bid1,slip,Red); OrderClose(ticket2,Size,Ask2,slip,Red); } if ((orden1 && orden2 && orden3 && orden4) && (margen2>margen1) && (margen2>=PipsTrigger)) // if 4 orders opened and the margin of the second pair is > and it reaches the higher margin... { OrderClose(ticket3,Size,Bid2,slip,Red); OrderClose(ticket4,Size,Ask1,slip,Red); } //if i already closed the other couple with benefits, then i wait for remaining couple to come back till the lower margin. if (!orden3 && !orden4){ double margen=(profit1+profit2); } if (!orden1 && !orden2){ margen=(profit3+profit4); } margenPerdida=PipsTrigger-PipsInGain; if (margen<=(margenPerdida*(-1))) //if margin between both pairs reachs the low margin then we close all the orders. { if (!orden3 && !orden4) { OrderClose(ticket1,Size,Bid1,3,Red); OrderClose(ticket2,Size,Ask2,3,Red); } if (!orden1 && !orden2) { OrderClose(ticket3,Size,Bid2,3,Red); OrderClose(ticket4,Size,Ask1,3,Red); } } return(0); }