BTC USD 84,441.4 Gold USD 4,285.46
Time now: Jun 1, 12:00 AM

Adjust Stop Loss

chipmunk186

Freshie
Messages
13
Joined
Feb 8, 2011
Messages
13
Reaction score
0
Points
3
Minta tolong tambahkan STOP LOSS leh x??

//+------------------------------------------------------------------+
//| Ikhram EA by Dzhini.mq4 |
//| Copyright © 2010, Gorbushin Grigory (Dzhini) |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Gorbushin Grigory (Dzhini)"
#property link "[email protected]"

int MAGICMA=23423423;

extern double Lot=0.1;
extern int TP=5;
extern int PendingDistance=10;
extern int TwoTriggerOneTP=1;
extern bool RiskMM=false;
extern double RiskPercent=10;
extern bool RestrictTime = false;
extern int HourStart = 0;
extern int MinuteStart = 0;
extern int HourStop = 24;
extern int MinuteStop = 0;

int resPending1,resPending2;

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void start()
{

if(Bars<100 && IsTradeAllowed()==false) return;

if(RiskMM)CalculateMM();

if(isTimeForTrade()&&NumberOfPositions(NULL,-1,MAGICMA)== 0&&ExistOrders(NULL,-1,MAGICMA,0)==0) {CheckForOpen();}

if(NumberOfPositions(NULL,-1,MAGICMA)== 0&&NumberOfOrders(NULL,-1,MAGICMA)==1){DeleteOrders(NULL,-1,MAGICMA);}

if(NumberOfPositions(NULL,-1,MAGICMA)== 1&&isCloseLastPosByTake(NULL,-1,MAGICMA)==true){ModifyOrderTP();}





return;
}

bool ExistOrders(string sy, int op, int mn, datetime ot) {
int i, k=OrdersTotal(), ty;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ty=OrderType();
if (ty>1 && ty<6) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
return(False);
}


int NumberOfPositions(string sy, int op, int mn) {
int i, k=OrdersTotal(), kp=0;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) kp++;
}
}
}
}
}
return(kp);
}

void CheckForOpen()
{
resPending1=OrderSend(Symbol(),OP_BUYSTOP ,Lot ,Ask+PendingDistance*Point,2,0,Ask+PendingDistance*Point+TP*Point,"",MAGICMA,0,Blue);
// while(!IsTradeAllowed()) Sleep(100);

resPending2=OrderSend(Symbol(),OP_SELLSTOP,Lot ,Bid-PendingDistance*Point,2,0,Bid-PendingDistance*Point-TP*Point,"",MAGICMA,0,Red);
// while(!IsTradeAllowed()) Sleep(100);

}


int NumberOfOrders(string sy, int op, int mn) {
int i, k=OrdersTotal(), ko=0, ot;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot>1 && ot<6) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) ko++;
}
}
}
}
return(ko);
}

void DeleteOrders(string sy, int op, int mn)
{
int i, k=OrdersTotal(), ot;

if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), Yellow);
}
}
}
}
}
}


bool isCloseLastPosByTake(string sy, int op, int mn) {
datetime t;
double ocp, otp;
int dg, i, j=-1, k=OrdersHistoryTotal();

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
otp=NormalizeDouble(OrderTakeProfit(), dg);
if (ocp==otp) return(True);
}
return(False);
}

void ModifyOrderTP()
{
double Price;
double Stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);

if(CalculateCurrentOrders(Symbol())==1)
{
if (OrderSelect(resPending1,SELECT_BY_TICKET)==true)
if (OrderTakeProfit()!=OrderOpenPrice()+Point*TwoTriggerOneTP && (OrderOpenPrice()+Point*TwoTriggerOneTP-Ask)>Stoplevel*Point)
OrderModify(resPending1,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+Point*TwoTriggerOneTP,0,Blue);
// while(!IsTradeAllowed()) Sleep(100);
}

if(CalculateCurrentOrders(Symbol())==-1)
{
if (OrderSelect(resPending2,SELECT_BY_TICKET)==true)
if (OrderTakeProfit()!=OrderOpenPrice()-Point*TwoTriggerOneTP && (Bid-OrderOpenPrice()-Point*TwoTriggerOneTP)>Stoplevel*Point)
OrderModify(resPending2,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()-Point*TwoTriggerOneTP,0,Red);
// while(!IsTradeAllowed()) Sleep(100);
}


}

int CalculateCurrentOrders(string symbol)
{
int buys=0,sells=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) buys++;
if(OrderType()==OP_SELL) sells++;
}
}

if(buys>0) return(buys);
else return(-sells);
}

void CalculateMM()
{
double MinLots=MarketInfo(Symbol(),MODE_MINLOT);
double MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);
Lot=AccountFreeMargin()/100000*RiskPercent;
Lot=MathMin(MaxLots,MathMax(MinLots,Lot));
if(MinLots<0.1)Lot=NormalizeDouble(Lot,2);
else
{
if(MinLots<1)Lot=NormalizeDouble(Lot,1);
else Lot=NormalizeDouble(Lot,0);
}
if(Lot<MinLots)Lot=MinLots;
if(Lot>MaxLots)Lot=MaxLots;
return(0);
}

bool isTimeForTrade()
{
if( !RestrictTime ) { return(true); }
return(isTimeInPeriod(TimeCurrent(), HourStart, MinuteStart, HourStop, MinuteStop));
}

bool isTimeInPeriod(datetime time, int pSHour, int pSMinute, int pEHour, int pEMinute)
{
int tmp = TimeHour(time);
if( pSHour < pEHour && (tmp < pSHour || tmp > pEHour) ) { return(false); }
if( pSHour > pEHour && (tmp > pSHour || tmp < pEHour) ) { return(false); }
if( pSHour == pEHour && tmp != pSHour ) { return(false); }

if( tmp == pEHour && TimeMinute(time) > pEMinute ) { return(false); }
if( tmp == pSHour && TimeMinute(time) < pSMinute ) { return(false); }
return(true);
}
 
aku mmpu mlopong je tgk coding ea ni...sorry tk dpt nk tlg...cra lgik akal aku, copy paste je dri mna2 ea yg ade SL...try n error...itu pn jk tkde sesapa nk tlg TT la...sbb masta ea msing2 bz ler ni...
 
Minta tolong tambahkan STOP LOSS leh x??

//+------------------------------------------------------------------+
//| Ikhram EA by Dzhini.mq4 |
//| Copyright © 2010, Gorbushin Grigory (Dzhini) |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Gorbushin Grigory (Dzhini)"
#property link "[email protected]"

int MAGICMA=23423423;

extern double Lot=0.1;
extern int TP=5;
extern int PendingDistance=10;
extern int TwoTriggerOneTP=1;
extern bool RiskMM=false;
extern double RiskPercent=10;
extern bool RestrictTime = false;
extern int HourStart = 0;
extern int MinuteStart = 0;
extern int HourStop = 24;
extern int MinuteStop = 0;

int resPending1,resPending2;

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void start()
{

if(Bars<100 && IsTradeAllowed()==false) return;

if(RiskMM)CalculateMM();

if(isTimeForTrade()&&NumberOfPositions(NULL,-1,MAGICMA)== 0&&ExistOrders(NULL,-1,MAGICMA,0)==0) {CheckForOpen();}

if(NumberOfPositions(NULL,-1,MAGICMA)== 0&&NumberOfOrders(NULL,-1,MAGICMA)==1){DeleteOrders(NULL,-1,MAGICMA);}

if(NumberOfPositions(NULL,-1,MAGICMA)== 1&&isCloseLastPosByTake(NULL,-1,MAGICMA)==true){ModifyOrderTP();}





return;
}

bool ExistOrders(string sy, int op, int mn, datetime ot) {
int i, k=OrdersTotal(), ty;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ty=OrderType();
if (ty>1 && ty<6) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
return(False);
}


int NumberOfPositions(string sy, int op, int mn) {
int i, k=OrdersTotal(), kp=0;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) kp++;
}
}
}
}
}
return(kp);
}

void CheckForOpen()
{
resPending1=OrderSend(Symbol(),OP_BUYSTOP ,Lot ,Ask+PendingDistance*Point,2,0,Ask+PendingDistance*Point+TP*Point,"",MAGICMA,0,Blue);
// while(!IsTradeAllowed()) Sleep(100);

resPending2=OrderSend(Symbol(),OP_SELLSTOP,Lot ,Bid-PendingDistance*Point,2,0,Bid-PendingDistance*Point-TP*Point,"",MAGICMA,0,Red);
// while(!IsTradeAllowed()) Sleep(100);

}


int NumberOfOrders(string sy, int op, int mn) {
int i, k=OrdersTotal(), ko=0, ot;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot>1 && ot<6) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) ko++;
}
}
}
}
return(ko);
}

void DeleteOrders(string sy, int op, int mn)
{
int i, k=OrdersTotal(), ot;

if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), Yellow);
}
}
}
}
}
}


bool isCloseLastPosByTake(string sy, int op, int mn) {
datetime t;
double ocp, otp;
int dg, i, j=-1, k=OrdersHistoryTotal();

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
otp=NormalizeDouble(OrderTakeProfit(), dg);
if (ocp==otp) return(True);
}
return(False);
}

void ModifyOrderTP()
{
double Price;
double Stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);

if(CalculateCurrentOrders(Symbol())==1)
{
if (OrderSelect(resPending1,SELECT_BY_TICKET)==true)
if (OrderTakeProfit()!=OrderOpenPrice()+Point*TwoTriggerOneTP && (OrderOpenPrice()+Point*TwoTriggerOneTP-Ask)>Stoplevel*Point)
OrderModify(resPending1,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+Point*TwoTriggerOneTP,0,Blue);
// while(!IsTradeAllowed()) Sleep(100);
}

if(CalculateCurrentOrders(Symbol())==-1)
{
if (OrderSelect(resPending2,SELECT_BY_TICKET)==true)
if (OrderTakeProfit()!=OrderOpenPrice()-Point*TwoTriggerOneTP && (Bid-OrderOpenPrice()-Point*TwoTriggerOneTP)>Stoplevel*Point)
OrderModify(resPending2,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()-Point*TwoTriggerOneTP,0,Red);
// while(!IsTradeAllowed()) Sleep(100);
}


}

int CalculateCurrentOrders(string symbol)
{
int buys=0,sells=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) buys++;
if(OrderType()==OP_SELL) sells++;
}
}

if(buys>0) return(buys);
else return(-sells);
}

void CalculateMM()
{
double MinLots=MarketInfo(Symbol(),MODE_MINLOT);
double MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);
Lot=AccountFreeMargin()/100000*RiskPercent;
Lot=MathMin(MaxLots,MathMax(MinLots,Lot));
if(MinLots<0.1)Lot=NormalizeDouble(Lot,2);
else
{
if(MinLots<1)Lot=NormalizeDouble(Lot,1);
else Lot=NormalizeDouble(Lot,0);
}
if(Lot<MinLots)Lot=MinLots;
if(Lot>MaxLots)Lot=MaxLots;
return(0);
}

bool isTimeForTrade()
{
if( !RestrictTime ) { return(true); }
return(isTimeInPeriod(TimeCurrent(), HourStart, MinuteStart, HourStop, MinuteStop));
}

bool isTimeInPeriod(datetime time, int pSHour, int pSMinute, int pEHour, int pEMinute)
{
int tmp = TimeHour(time);
if( pSHour < pEHour && (tmp < pSHour || tmp > pEHour) ) { return(false); }
if( pSHour > pEHour && (tmp > pSHour || tmp < pEHour) ) { return(false); }
if( pSHour == pEHour && tmp != pSHour ) { return(false); }

if( tmp == pEHour && TimeMinute(time) > pEMinute ) { return(false); }
if( tmp == pSHour && TimeMinute(time) < pSMinute ) { return(false); }
return(true);
}
mcm ea breakout guna TIME ler :D

huhuhuhu
 
Minta tolong tambahkan STOP LOSS leh x??

//+------------------------------------------------------------------+
//| Ikhram EA by Dzhini.mq4 |
//| Copyright © 2010, Gorbushin Grigory (Dzhini) |
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Gorbushin Grigory (Dzhini)"
#property link "[email protected]"

int MAGICMA=23423423;

extern double Lot=0.1;
extern int TP=5;
extern int SL=50;
extern int PendingDistance=10;
extern int TwoTriggerOneTP=1;
extern bool RiskMM=false;
extern double RiskPercent=10;
extern bool RestrictTime = false;
extern int HourStart = 0;
extern int MinuteStart = 0;
extern int HourStop = 24;
extern int MinuteStop = 0;

int resPending1,resPending2;

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void start()
{

if(Bars<100 && IsTradeAllowed()==false) return;

if(RiskMM)CalculateMM();

if(isTimeForTrade()&&NumberOfPositions(NULL,-1,MAGICMA)== 0&&ExistOrders(NULL,-1,MAGICMA,0)==0) {CheckForOpen();}

if(NumberOfPositions(NULL,-1,MAGICMA)== 0&&NumberOfOrders(NULL,-1,MAGICMA)==1){DeleteOrders(NULL,-1,MAGICMA);}

if(NumberOfPositions(NULL,-1,MAGICMA)== 1&&isCloseLastPosByTake(NULL,-1,MAGICMA)==true){ModifyOrderTP();}





return;
}

bool ExistOrders(string sy, int op, int mn, datetime ot) {
int i, k=OrdersTotal(), ty;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ty=OrderType();
if (ty>1 && ty<6) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
return(False);
}


int NumberOfPositions(string sy, int op, int mn) {
int i, k=OrdersTotal(), kp=0;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) kp++;
}
}
}
}
}
return(kp);
}

void CheckForOpen()
{
resPending1=OrderSend(Symbol(),OP_BUYSTOP ,Lot ,Ask+PendingDistance*Point,2,Ask-PendingDistance*Point-SL*Point,Ask+PendingDistance*Point+TP*Point,"",MAGICMA,0,Blue);
// while(!IsTradeAllowed()) Sleep(100);

resPending2=OrderSend(Symbol(),OP_SELLSTOP,Lot ,Bid-PendingDistance*Point,2,Bid+PendingDistance*Point+SL*point,Bid-PendingDistance*Point-TP*Point,"",MAGICMA,0,Red);
// while(!IsTradeAllowed()) Sleep(100);

}


int NumberOfOrders(string sy, int op, int mn) {
int i, k=OrdersTotal(), ko=0, ot;

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot>1 && ot<6) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) ko++;
}
}
}
}
return(ko);
}

void DeleteOrders(string sy, int op, int mn)
{
int i, k=OrdersTotal(), ot;

if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), Yellow);
}
}
}
}
}
}


bool isCloseLastPosByTake(string sy, int op, int mn) {
datetime t;
double ocp, otp;
int dg, i, j=-1, k=OrdersHistoryTotal();

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
otp=NormalizeDouble(OrderTakeProfit(), dg);
if (ocp==otp) return(True);
}
return(False);
}

void ModifyOrderTP()
{
double Price;
double Stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);

if(CalculateCurrentOrders(Symbol())==1)
{
if (OrderSelect(resPending1,SELECT_BY_TICKET)==true)
if (OrderTakeProfit()!=OrderOpenPrice()+Point*TwoTriggerOneTP && (OrderOpenPrice()+Point*TwoTriggerOneTP-Ask)>Stoplevel*Point)
OrderModify(resPending1,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+Point*TwoTriggerOneTP,0,Blue);
// while(!IsTradeAllowed()) Sleep(100);
}

if(CalculateCurrentOrders(Symbol())==-1)
{
if (OrderSelect(resPending2,SELECT_BY_TICKET)==true)
if (OrderTakeProfit()!=OrderOpenPrice()-Point*TwoTriggerOneTP && (Bid-OrderOpenPrice()-Point*TwoTriggerOneTP)>Stoplevel*Point)
OrderModify(resPending2,OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()-Point*TwoTriggerOneTP,0,Red);
// while(!IsTradeAllowed()) Sleep(100);
}


}

int CalculateCurrentOrders(string symbol)
{
int buys=0,sells=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) buys++;
if(OrderType()==OP_SELL) sells++;
}
}

if(buys>0) return(buys);
else return(-sells);
}

void CalculateMM()
{
double MinLots=MarketInfo(Symbol(),MODE_MINLOT);
double MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);
Lot=AccountFreeMargin()/100000*RiskPercent;
Lot=MathMin(MaxLots,MathMax(MinLots,Lot));
if(MinLots<0.1)Lot=NormalizeDouble(Lot,2);
else
{
if(MinLots<1)Lot=NormalizeDouble(Lot,1);
else Lot=NormalizeDouble(Lot,0);
}
if(Lot<MinLots)Lot=MinLots;
if(Lot>MaxLots)Lot=MaxLots;
return(0);
}

bool isTimeForTrade()
{
if( !RestrictTime ) { return(true); }
return(isTimeInPeriod(TimeCurrent(), HourStart, MinuteStart, HourStop, MinuteStop));
}

bool isTimeInPeriod(datetime time, int pSHour, int pSMinute, int pEHour, int pEMinute)
{
int tmp = TimeHour(time);
if( pSHour < pEHour && (tmp < pSHour || tmp > pEHour) ) { return(false); }
if( pSHour > pEHour && (tmp > pSHour || tmp < pEHour) ) { return(false); }
if( pSHour == pEHour && tmp != pSHour ) { return(false); }

if( tmp == pEHour && TimeMinute(time) > pEMinute ) { return(false); }
if( tmp == pSHour && TimeMinute(time) < pSMinute ) { return(false); }
return(true);
}


cuba ni...sy dah taipkan entah betul entah tidak..:D

saya kobis bulat je:))
 
ni ea ape ni TT....??? grid ea ker?

kalau salah kod tu sori tu TT....

TT leh deleted je....hehehe...
 

Latest Posts

Live Forex Chart

Currency
Rates
EUR / USD
1.14250
USD / JPY
157.245
GBP / USD
1.32505
USD / CHF
0.82827
USD / CAD
1.41455
EUR / JPY
179.652
AUD / USD
0.70550
Back
Top
Log in Register