Best Thread The 3 Duck's Trading System

Perhaps we should have a watch system here.
Example: I am currently looking at GBPAUD and GBPNZD
We seem to get plenty of info after the event.
I know Captain does not like putting his hand up but others my choose to do so.
I personally promise not to flame them.
 
Perhaps we should have a watch system here.
Example: I am currently looking at GBPAUD and GBPNZD
We seem to get plenty of info after the event.
I know Captain does not like putting his hand up but others my choose to do so.
I personally promise not to flame them.

I honestly dont know, went long EUR/GBP, in the morning, which now looks good again, eyeing resistance at 0.8850. The others are pretty sold out atm. nah?
Unfortunately dont trade GBPAUD and GBPNZD (not available at my brokers)
 
I honestly dont know, went long EUR/GBP, in the morning, which now looks good again, eyeing resistance at 0.8850. The others are pretty sold out atm. nah?
Unfortunately dont trade GBPAUD and GBPNZD

Anyone can specialise or pick and choose according to their needs.
I just think that we cannot all get the same messages so it is often worthwhile to be given a different slant on the market.
 
FWIW an EA for 3 Ducks
modified from a file available elsewhere
I have not yet had an alert so do not know how good it is


//+------------------------------------------------------------------+
//| 3 Ducks SMA Expert Advisor.mq4 |
//+------------------------------------------------------------------+

#define eaN "3 Ducks SMA Expert Advisor"

extern string separator1="---------------- Entry Settings";
extern int FirstPeriod=240;
extern int SecondPeriod=60;
extern int ThirdPeriod=5;
extern int smaPeriod=60;
extern string separator2="---------------- Lot Management";
extern double Lots=0.1;
extern bool RiskManagement=false; //money management
extern double RiskPercent=10; //risk in percentage
extern bool Martingale=false; //martingale
extern double Multiplier=1.5; //multiplier
extern double MinProfit=0; //minimum profit to apply the martingale
extern string separator3="---------------- TP SL TS BE";
bool EnableHiddenSL=false;
int HiddenSL=5; //stop loss under 15 pîps
bool EnableHiddenTP=false;
int HiddenTP=10; //take profit under 10 pîps
extern int StopLoss=0; //stop loss
extern int TakeProfit=0; //take profit
extern int TrailingStop=0; //trailing stop
int TSStep=1; //trailing step
extern int BreakEven=0; //breakeven
extern string separator4="---------------- Extras";
extern bool Reverse=false;
extern bool AddPositions=false; //positions cumulated
extern int MaxOrders=100; //maximum number of orders
extern bool MAFilter=false; //moving average filter
extern int MAPeriod=20;
extern int MAMethod=0;
extern int MAPrice=0;
extern bool TimeFilter=false; //time filter
extern int StartHour=8;
extern int EndHour=21;
extern int Magic=0;

int Slip=3;static int TL=0;double Balance=0.0;int err=0;int TK;

//start function
int start(){int j=0,limit=1;double BV=0,SV=0;BV=0;SV=0;if(CntO(OP_BUY,Magic)>0)TL=1;if(CntO(OP_SELL,Magic)>0)TL=-1;
for(int i=1;i<=limit;i++){

//time filter
string TIFI="false";if(TimeFilter){if(!(Hour()>=StartHour && Hour()<=EndHour)){TIFI="true";}}

//ma filter
double MAF=iMA(Symbol(),0,MAPeriod,0,MAMethod,MAPrice,i);string MAFIB="false";string MAFIS="false";
if((MAFilter==false)||(MAFilter&&Bid>MAF))MAFIB="true";if((MAFilter==false)||(MAFilter&&Ask<MAF))MAFIS="true";

//main signal
double CLO1=iClose(Symbol(),FirstPeriod,i);
double CLO2=iClose(Symbol(),SecondPeriod,i);
double CLO3=iClose(Symbol(),ThirdPeriod,i);
double sma1=iMA(Symbol(),FirstPeriod,smaPeriod,0,MODE_SMA,PRICE_CLOSE,i);
double sma2=iMA(Symbol(),SecondPeriod,smaPeriod,0,MODE_SMA,PRICE_CLOSE,i);
double sma3=iMA(Symbol(),ThirdPeriod,smaPeriod,0,MODE_SMA,PRICE_CLOSE,i);
string SBUY="false";string SSEL="false";
if(CLO1>sma2&&CLO2>sma3&&CLO1>sma3)SBUY="true";if(CLO1<sma2&&CLO2<sma3&&CLO1<sma3)SSEL="true";

//entry conditions
if(MAFIB=="true"&&SBUY=="true"&&TIFI=="false"){if(Reverse)SV=1;else BV=1;break;}
if(MAFIS=="true"&&SSEL=="true"&&TIFI=="false"){if(Reverse)BV=1;else SV=1;break;}}

//risk management
bool MM=RiskManagement;
if(MM){if(RiskPercent<0.1||RiskPercent>100){Comment("Invalid Risk Value.");return(0);}
else{Lots=MathFloor((AccountFreeMargin()*AccountLeverage()*RiskPercent*Point*100)/(Ask*MarketInfo(Symbol(),MODE_LOTSIZE)*
MarketInfo(Symbol(),MODE_MINLOT)))*MarketInfo(Symbol(),MODE_MINLOT);}}
if(MM==false){Lots=Lots;}

//martingale
if(Balance!=0.0&&Martingale==True){if(Balance>AccountBalance())Lots=Multiplier*Lots;else if((Balance+MinProfit)<AccountBalance())Lots=Lots/Multiplier;
else if((Balance+MinProfit)>=AccountBalance()&&Balance<=AccountBalance())Lots=Lots;}Balance=AccountBalance();

//positions initialization
int cnt=0,OP=0,OS=0,OB=0,CS=0,CB=0;OP=0;for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if((OrderType()==OP_SELL||OrderType()==OP_BUY)&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0))OP=OP+1;}
if(OP>=1){OS=0; OB=0;}OB=0;OS=0;CB=0;CS=0;int SL=StopLoss;int TP=TakeProfit;

//entry conditions verification
if(SV>0){OS=1;OB=0;}if(BV>0){OB=1;OS=0;}

//conditions to close position
if((SV>0)||(TIFI=="true")||(EnableHiddenSL&&(OrderOpenPrice()-Bid)/Point>=HiddenSL)||(EnableHiddenTP&&(Ask-OrderOpenPrice())/Point>=HiddenTP)){CB=1;}
if((BV>0)||(TIFI=="true")||(EnableHiddenSL&&(Ask-OrderOpenPrice())/Point>=HiddenSL)||(EnableHiddenTP&&(OrderOpenPrice()-Bid)/Point>=HiddenTP)){CS=1;}
for(cnt=0;cnt<OrdersTotal();cnt++){OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){if(CB==1){OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Red);return(0);}}
if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red);return(0);}}}
double SLI=0,TPI=0;int TK=0;

//open position
if((AddP()&&AddPositions&&OP<=MaxOrders)||(OP==0&&!AddPositions)){
if(OS==1){if(TP==0)TPI=0;else TPI=Bid-TP*Point;if(SL==0)SLI=0;else SLI=Bid+SL*Point;
TK=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,SLI,TPI,eaN,Magic,0,Red);OS=0;return(0);}
if(OB==1){if(TP==0)TPI=0;else TPI=Ask+TP*Point;if(SL==0)SLI=0;else SLI=Ask-SL*Point;
TK=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,SLI,TPI,eaN,Magic,0,Lime);OB=0;return(0);}}
for(j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)){if(OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){TrP();}}}

//trailing stop
MoveTrailingStopsPerMN(Magic);return(0);}

//number of orders
int CntO(int Type,int Magic){int _CntO;_CntO=0;
for(int j=0;j<OrdersTotal();j++){OrderSelect(j,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()==Symbol()){
if((OrderType()==Type&&(OrderMagicNumber()==Magic)||Magic==0))_CntO++;}}return(_CntO);}

//breakeven
void TrP(){int BE;double pb,pa,pp;pp=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){
pb=MarketInfo(OrderSymbol(),MODE_BID);BE=BreakEven;if(BE>0){if((pb-OrderOpenPrice())>BE*pp){
if((OrderStopLoss()-OrderOpenPrice())<0){ModSL(OrderOpenPrice()+0*pp);}}}}if(OrderType()==OP_SELL){
pa=MarketInfo(OrderSymbol(),MODE_ASK);BE=BreakEven;if(BE>0){if((OrderOpenPrice()-pa)>BE*pp){
if((OrderOpenPrice()-OrderStopLoss())<0){ModSL(OrderOpenPrice()-0*pp);}}}}}

//trailing stop function
void MoveTrailingStopsPerMN(int iMN){string symbol=Symbol();int icnt,itotal;int TS=TrailingStop;itotal=OrdersTotal();
for(icnt=0;icnt<itotal;icnt++){OrderSelect(icnt,SELECT_BY_POS,MODE_TRADES);if(OrderType()==OP_SELL&&OrderSymbol()==symbol&&OrderMagicNumber()==iMN){
if (OrderStopLoss()==0){OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TS,OrderTakeProfit(),0,Red);}if((OrderOpenPrice()-Ask)>(Point*TS)){
if(OrderStopLoss()>(Ask+Point*TS)){OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TS,OrderTakeProfit(),0,Red);}}}
if(OrderType()==OP_BUY && OrderSymbol()==symbol&&OrderMagicNumber()==iMN){if(OrderStopLoss()==0){
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TS,OrderTakeProfit(),0,Green);}if(Bid-OrderOpenPrice()>Point*TS){
if(OrderStopLoss()<Bid-Point*TS){OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TS,OrderTakeProfit(),0,Green);}}}}return(0);}

//stop loss modification function
void ModSL(double ldSL){bool fm;fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldSL,OrderTakeProfit(),0,CLR_NONE);}

//add positions function
bool AddP(){int _num=0; int _ot=0;
for (int j=0;j<OrdersTotal();j++){if(OrderSelect(j,SELECT_BY_POS)==true && OrderSymbol()==Symbol()&&OrderType()<3&&((OrderMagicNumber()==Magic)||Magic==0)){
_num++;if(OrderOpenTime()>_ot) _ot=OrderOpenTime();}}if(_num==0) return(true);if(_num>0 && ((Time[0]-_ot))>0) return(true);else return(false);

//not enough money message to continue the martingale
if(TK<0){if (GetLastError()==134){err=1;Print("Low Funds Level");}return (-1);}}
 
hey Aspex
where exatly do I paste it in MT4?:cheesy:

I am still learning too.:smart:
I think you need to get it into the 'experts' folder within programs/provider(your MT4 supplier). You can use Windows Explorer to do that.
What seems to work is to click on 'modify' then within the new window that opens click on file and 'compile'

I know nothing!
Sorry about that.
 
hey Aspex
where exatly do I paste it in MT4?:cheesy:

Additional comment
In ignorance I found one of the stock EAs and replaced the code in the .mq4 file
Then I renamed that file and compiled as above.
It all seems to work.:)
 
If anyone is desperate for 1 i have an indicator at home which sits in the top left
of the screen and lets you know the direction of the three timeframes. I dont think
its as good as the way CC says but for flicking through a lot of instruments it
works well for me. :)

Sorry CC for derailing.
 
(y) Improve Your Trading By Looking For Clues In The Market (y)

I’m always looking for clues in the market like, which currency pairs are bullish or which currency pairs are bearish and of course which currency pairs are neither bullish nor bearish.

If you like to trade the Eur.Usd and Gbp.Usd using the 3 ducks method we can gets clues as to which pair might currently be the best to trade.

If we have a closer look at the 240m charts for Eur.Usd, Gbp.Usd and Eur.Gbp we can figure out what they are doing.

Let’s look at the attached Eur.Usd 240m chart. We can see that the current price is below the 240m sma therefore we may be looking for selling opportunities when our ducks line up.

Let’s look at the attached Gbp.Usd 240m chart. We can see that the current price is below the 240m sma therefore we may be looking for selling opportunities when our ducks line up.

So now we are potentially looking for selling opportunities on both Eur.Usd and Gbp.Usd. As some traders may know the Eur.Usd and Gbp.Usd are highly correlated most of the time (they normally move in the same direction against the Usd). Therefore there is not much point selling the Eur.Usd and Gbp.Usd at the same time because all we are really doing is buying the Usd twice.

So which pair should we sell?

We can figure this out by looking at the attached Eur.Gbp 240m chart. We can see that the current price is above the 240m sma and the current price is bullish. What can this tell us? It can tell us the Euro is stronger than the Gbp (or that the Gbp is weaker than the Euro).

OK so let’s recap and see what each of the 3 different currency pairs are telling us.​

Eur.Usd 240m chart – price has been moving lower and is below the sma which can indicate Eur weakness/Usd strength.

Gbp.Usd 240m chart - price has been moving lower and is below the sma which can indicate Gbp weakness/Usd strength.

Eur.Gbp 240m chart - price has been moving higher and is above the sma which can indicate Eur strength/Gbp weakness.

We know the Usd is strong and we should be looking to trade Usd against the weaker of Eur.Gbp. In this case it would be the Gbp, therefore we should be looking to sell Gbp.Usd (which is basically buying Usd/selling Gbp).


Hope that helps you,

Andy.
 

Attachments

  • eur.usd 4hr.jpg
    eur.usd 4hr.jpg
    85.7 KB · Views: 126
  • gbp.usd 4hr.jpg
    gbp.usd 4hr.jpg
    76.4 KB · Views: 138
  • eur.gbp 4hr.jpg
    eur.gbp 4hr.jpg
    88.6 KB · Views: 128
Thanks cap,once again simple stuff that makes a load of sense.
I was fortunate enough to get into GB/Us short today and wiped out the losses I made last week from 2 stupid mistakes.

Funny thing is I tried the ducks strategy along time a go and for some reason didn't carry on(I guess I wasn't a millionaire by the end of the month so realised it was rubbish:cheesy:)

I rediscovered it at the end of last week and along with what I've learnt since it makes a lot of sense to me now.
 
Thanks cap,once again simple stuff that makes a load of sense.
I was fortunate enough to get into GB/Us short today and wiped out the losses I made last week from 2 stupid mistakes.

Funny thing is I tried the ducks strategy along time a go and for some reason didn't carry on(I guess I wasn't a millionaire by the end of the month so realised it was rubbish:cheesy:)

I rediscovered it at the end of last week and along with what I've learnt since it makes a lot of sense to me now.

Yes, my first profitable month came from this system a year and a half ago. i've moved on to other systems that fit my trading style better, but i learned a lot and gained confidence from the Duckz. Thanks Captain.
 
Thanks cap,once again simple stuff that makes a load of sense.
I was fortunate enough to get into GB/Us short today and wiped out the losses I made last week from 2 stupid mistakes.

Funny thing is I tried the ducks strategy along time a go and for some reason didn't carry on(I guess I wasn't a millionaire by the end of the month so realised it was rubbish:cheesy:)

I rediscovered it at the end of last week and along with what I've learnt since it makes a lot of sense to me now.


Me too, I looked at this way back when I first started, thought that there were no where near enough indicators for it to be a valid system, only an sma, pah!

After blowing up numerous accounts I've rediscovered this system, simplicity really does work. I've come to realise it's all about MM in this game, make more than you lose... simples :smart:
 
Hi Captain Currency,

This is a very interesting system. I like the simplicity of it. I haven't read the entire thread yet, so you might've already answered the following questions. Are you the original creator of this system? Do you use a live account with this system?

Whatever the case, thanks for sharing this system.
 
Top