Jump to content

profdixi

Members
  • Posts

    54
  • Joined

  • Last visited

Posts posted by profdixi

  1. Re: Cowabunga system indicator and EA

     

    #property copyright "TF 15M"

    #define EAName "RSI Pmax"

    extern string S1a="---------------- Daily Bar Settings";

    extern bool DailyBarFilter=false;

    extern int ShiftD1=1;

    extern int ShiftD2=2;

    extern string S1b="---------------- Current Bar Settings";

    extern int Shift1=1;

    extern int Shift2=2;

    extern string S1c="---------------- RSI Settings";

    extern int SignalTimeFrame=15;

    extern int RSIPeriod1=9;

    extern string b01="Buy when between these and rising";

    extern int RSIBuyLevel1=50;

    extern int RSIBuyLevel1a=70;

    extern string s01="Sell when between these and decreasing";

    extern int RSISellLevel1=50;

    extern int RSISellLevel1a=30;

    extern string S2b="---------------- 2nD Settings";

    extern string S2c="---------Show the trend";

    extern int RSIPeriod2=9;

    extern string S2d="If Under-Over allow to trade";

    extern int RSIBuyLevel2=30;

    extern int RSISellLevel2=70;

    extern int MainTimeFrame=240;

    extern string S2e="If Under-Over allow to trade";

    extern int MACDFast2=12;

    extern int MACDSlow2=26;

    extern int MACDSMA2=9;

    extern int MACDBuyLevel2=0;

    extern int MACDSellLevel2=0;

     

    extern string S2="---------------- Money Management";

     

    extern double Lots=0.1;//|-----------------------lots size

    extern bool RiskMM=false;//|---------------------risk management

    extern double RiskPercent=1;//|------------------risk percentage

    extern string S3="---------------- Order Management";

    extern int StopLoss=0;//|------------------------stop loss

    extern int TakeProfit=0;//|----------------------take profit

    extern bool HideSL=false;//|---------------------hide stop loss

    extern bool HideTP=false;//|---------------------hide take profit

    extern int TrailingStop=0;//|--------------------trailing stop

    extern int TrailingStep=0;//|--------------------trailing step

    extern int BreakEven=0;//|-----------------------break even

    extern int MaxOrders=100;//|---------------------maximum orders allowed

    extern int Slippage=3;//|------------------------slippage

    extern int Magic=2009;//|------------------------magic number

    extern string S6="---------------- Extras";

    extern bool Hedge=false;//|----------------------enter an opposite trade

    extern bool ReverseSystem=false;//|--------------buy instead of sell, sell instead of buy

    datetime PreviousBarTime1;

    datetime PreviousBarTime2;

    double maxEquity,minEquity,Balance=0.0;

    int init()

    {

    return(0);

    }

     

    int start()

    {

    if(TrailingStop>0)MoveTrailingStop();

    if(BreakEven>0)MoveBreakEven();

    int limit=1;

    for(int i=1;i<=limit;i++)

    {

    double RSIM15=iRSI(NULL,SignalTimeFrame,RSIPeriod1,PRICE_CLOSE,i);

    double RSIM15a=iRSI(NULL,SignalTimeFrame,RSIPeriod1,PRICE_CLOSE,i);

    double RSIM15b=iRSI(NULL,SignalTimeFrame,RSIPeriod1,PRICE_CLOSE,i+1);

    double MACM15=iMACD(NULL,SignalTimeFrame,MACDFast2,MACDSlow2,MACDSMA2,PRICE_CLOSE,MODE_MAIN,0);

    double RSI1=iRSI(NULL,MainTimeFrame,RSIPeriod2,PRICE_CLOSE,i);

     

    string BUY="false";

    string SELL="false";

     

    if((RSIM15>RSIBuyLevel1 && RSIM15<RSIBuyLevel1a && RSIM15a>RSIM15b && MACM15 < MACDBuyLevel2 && RSI1 < RSIBuyLevel2)&&Open[shift1]>Open[shift2]&&(DailyBarFilter==false||(DailyBarFilter&&iClose(NULL,PERIOD_D1,ShiftD1)>iClose(NULL,PERIOD_D1,ShiftD2))))BUY="true";

    if((RSIM15<RSISellLevel1 && RSIM15>RSISellLevel1a && RSIM15a<RSIM15b && MACM15 > MACDSellLevel2 && RSI1 > RSISellLevel2)&&Open[shift1]<Open[shift2]&&(DailyBarFilter==false||(DailyBarFilter&&iClose(NULL,PERIOD_D1,ShiftD1)<iClose(NULL,PERIOD_D1,ShiftD2))))SELL="true";

     

    string SignalBUY="false";

    string SignalSELL="false";

     

    if(BUY=="true"/*&&MABUY=="true"*/)if(ReverseSystem)SignalSELL="true";else SignalBUY="true";

    if(SELL=="true"/*&&MASELL=="true"*/)if(ReverseSystem)SignalBUY="true";else SignalSELL="true";

     

    }

    if(RiskMM)CalculateMM();

    double SL,TP,SLP,TPP,OPP;

    int Ticket,TicketH,TicketP,Expire=0;

    if(OrdersTotal()<MaxOrders)

    {

    if (SignalBUY=="true"&&NewBarBuy())

    {

    if(HideSL==false&&StopLoss>0){SL=Ask-StopLoss*Point;/*OPP=Bid-StopLoss*Point;SLP=Bid;*/}else {SL=0;}

    if(SL>0&&SL>(Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)){SL=Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;}

    if(HideTP==false&&TakeProfit>0){TP=Ask+TakeProfit*Point;/*TPP=Bid-(TakeProfit*2)*Point;*/}else {TP=0;/*TPP=0;*/}

     

    Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,EAName,Magic,0,Blue);

    if(Hedge)TicketH=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,TP,SL,EAName,Magic,0,Red);

    /*if(ReverseAtStop&&StopLoss>0)TicketP=OrderSend(Symbol(),OP_SELLSTOP,Lots,OPP,Slippage,SLP,TPP,EAName,Magic,Expire,Red);*/

    }

    if (SignalSELL=="true"&&NewBarSell())

    {

    if(HideSL==false&&StopLoss>0){SL=Bid+StopLoss*Point;/*OPP=Ask+StopLoss*Point;SLP=Ask;*/}else {SL=0;}

    if(SL>0&&SL<(Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)){SL=Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;}

    if(HideTP==false&&TakeProfit>0){TP=Bid-TakeProfit*Point;/*TPP=Ask+(TakeProfit*2)*Point;*/}else {TP=0;/*TPP=0;*/}

     

    Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,EAName,Magic,0,Red);

    if(Hedge)TicketH=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,TP,SL,EAName,Magic,0,Blue);

    }

    }

     

    //|---------close orders

     

    if(Hedge==false)

    {

    if((SELL=="true")||(ReverseSystem==false&&HideSL&&(OrderOpenPrice()-Ask)/Point>=StopLoss)||(ReverseSystem==false&&HideTP&&(Bid-OrderOpenPrice())/Point>=TakeProfit)||(ReverseSystem&&HideSL&&(Bid-OrderOpenPrice())/Point>=StopLoss)||(ReverseSystem&&HideTP&&(OrderOpenPrice()-Ask)/Point>=TakeProfit))

    {

    if(ReverseSystem)CloseSellOrders(Magic);else CloseBuyOrders(Magic);

    }

    if((BUY=="true")||(ReverseSystem==false&&HideSL&&(Bid-OrderOpenPrice())/Point>=StopLoss)||(ReverseSystem==false&&HideTP&&(OrderOpenPrice()-Ask)/Point>=TakeProfit)||(ReverseSystem&&HideSL&&(OrderOpenPrice()-Ask)/Point>=StopLoss)||(ReverseSystem&&HideTP&&(Bid-OrderOpenPrice())/Point>=TakeProfit))

    {

    if(ReverseSystem)CloseBuyOrders(Magic);else CloseSellOrders(Magic);

    }

    }

    else

    {

    if((HideSL&&StopLoss>0&&(OrderOpenPrice()-Ask)/Point>=StopLoss)||(HideTP&&TakeProfit>0&&(Bid-OrderOpenPrice())/Point>=TakeProfit))

    {

    CloseBuyOrders(Magic);

    }

    if((HideSL&&StopLoss>0&&(Bid-OrderOpenPrice())/Point>=StopLoss)||(HideTP&&TakeProfit>0&&(OrderOpenPrice()-Ask)/Point>=TakeProfit))

    {

    CloseSellOrders(Magic);

    }

    }

    int err=0;

    if(Ticket<0)

    {

    if(GetLastError()==134)

    {

    err=1;

    Print("Not enough money!");

    }

    return (-1);

    }

     

    return(0);

    }

    int CloseBuyOrders(int Magic)

    {

    int result,total=OrdersTotal();

     

    for (int cnt=total-1;cnt>=0;cnt--)

    {

    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

    if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol())

    {

    if(OrderType()==OP_BUY)

    {

    OrderClose(OrderTicket(),OrderLots(),Bid,3);

    switch(OrderType())

    {

    case OP_BUYLIMIT:

    case OP_BUYSTOP:

    result=OrderDelete(OrderTicket());

    }

    }

    }

    }

    return(0);

    }

     

    int CloseSellOrders(int Magic)

    {

    int result,total=OrdersTotal();

     

    for(int cnt=total-1;cnt>=0;cnt--)

    {

    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

    if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol())

    {

    if(OrderType()==OP_SELL)

    {

    OrderClose(OrderTicket(),OrderLots(),Ask,3);

    switch(OrderType())

    {

    case OP_SELLLIMIT:

    case OP_SELLSTOP:

    result=OrderDelete(OrderTicket());

    }

    }

    }

    }

    return(0);

    }

     

    //|---------trailing stop

     

    void MoveTrailingStop()

    {

    int cnt,total=OrdersTotal();

    for(cnt=0;cnt<total;cnt++)

    {

    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

    if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)

    {

    if(OrderType()==OP_BUY)

    {

    if(TrailingStop>0)

    {

    if((NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(Bid-Point*(TrailingStop+TrailingStep),Digits))||(OrderStopLoss()==0))

    {

    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*TrailingStop,Digits),OrderTakeProfit(),0,Blue);

    return(0);

    }

    }

    }

    else

    {

    if(TrailingStop>0)

    {

    if((NormalizeDouble(OrderStopLoss(),Digits)>(NormalizeDouble(Ask+Point*(TrailingStop+TrailingStep),Digits)))||(OrderStopLoss()==0))

    {

    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*TrailingStop,Digits),OrderTakeProfit(),0,Red);

    return(0);

    }

    }

    }

    }

    }

    }

    void MoveBreakEven()

    {

    int cnt,total=OrdersTotal();

    for(cnt=0;cnt<total;cnt++)

    {

    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

    if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)

    {

    if(OrderType()==OP_BUY)

    {

    if(BreakEven>0)

    {

    if(NormalizeDouble((Bid-OrderOpenPrice()),Digits)>BreakEven*Point)

    {

    if(NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),Digits)<0)

    {

    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+0*Point,Digits),OrderTakeProfit(),0,Blue);

    return(0);

    }

    }

    }

    }

    else

    {

    if(BreakEven>0)

    {

    if(NormalizeDouble((OrderOpenPrice()-Ask),Digits)>BreakEven*Point)

    {

    if(NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),Digits)<0)

    {

    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-0*Point,Digits),OrderTakeProfit(),0,Red);

    return(0);

    }

    }

    }

    }

    }

    }

    }

     

    //|---------allow one action per bar

     

    bool NewBarBuy()

    {

    if(PreviousBarTime1<Time[0])

    {

    PreviousBarTime1=Time[0];

    return(true);

    }

    return(false);

    }

     

    bool NewBarSell()

    {

    if(PreviousBarTime2<Time[0])

    {

    PreviousBarTime2=Time[0];

    return(true);

    }

    return(false);

    }

     

    //|---------calculate money management

     

    void CalculateMM()

    {

    double MinLots=MarketInfo(Symbol(),MODE_MINLOT);

    double MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

    Lots=AccountFreeMargin()/100000*RiskPercent;

    Lots=MathMin(MaxLots,MathMax(MinLots,Lots));

    if(MinLots<0.1)Lots=NormalizeDouble(Lots,2);

    else

    {

    if(MinLots<1)Lots=NormalizeDouble(Lots,1);

    else Lots=NormalizeDouble(Lots,0);

    }

    if(Lots<MinLots)Lots=MinLots;

    if(Lots>MaxLots)Lots=MaxLots;

    return(0);

    }

  2. Re: Cowabunga system indicator and EA

     

    #define EAName "Cowabunga System EA"

     

    extern string S1a="---------------- H4 TF Settings";

    extern int MainTimeFrame=240;

    extern int FEMAPeriod1=5;

    extern int SEMAPeriod1=10;

    extern int RSIPeriod1=9;

    extern int RSIBuyLevel1=50;

    extern int RSISellLevel1=50;

    extern int StochKP1=10;

    extern int StochDP1=3;

    extern int StochSP1=3;

    extern string S1b="---------------- M15 TF Settings";

    extern int SignalTimeFrame=15;

    extern int FEMAPeriod2=5;

    extern int SEMAPeriod2=10;

    extern int RSIPeriod2=9;

    extern int RSIBuyLevel2=50;

    extern int RSISellLevel2=50;

    extern int StochKP2=10;

    extern int StochDP2=3;

    extern int StochSP2=3;

    extern int OverboughtZone=80;

    extern int OversoldZone=20;

    extern int MACDFast2=12;

    extern int MACDSlow2=26;

    extern int MACDSMA2=9;

    extern int MACDBuyLevel2=0;

    extern int MACDSellLevel2=0;

    extern string S2="---------------- Money Management";

    extern double Lots=0.1; //lots

    extern bool RiskManagement=false; //money management

    extern double RiskPercent=10; //risk in percentage

    extern string S3="---------------- Order Management";

    extern int StopLoss=0; //stop loss

    extern int TakeProfit=0; //take profit

    extern int TrailingStop=0; //trailing stop

    int TrailingStep=1; //margin allowe to the price before to enable the ts

    extern int BreakEven=0; //breakeven

    extern bool AddPositions=false; //positions cumulated

    extern int MaxOrders=100; //maximum number of orders

    extern int Slippage=3;

    extern int Magic=0; // magic number

    extern string S5="---------------- Extras";

    extern bool ReverseTheSystem=false; //sell/buy instead of buy/sell

     

    int err=0;int TK;double Balance=0.0;double maxEquity;double minEquity;int result;

     

    //start function

    int start(){int SL=StopLoss;int TP=TakeProfit;int TK=0;int j=0,limit=1;double SLI=0,TPI=0;double BV=0,SV=0;

    for(int i=1;i<=limit;i++){

     

     

    //main signal

    double SEMH4=iMA(Symbol(),MainTimeFrame,FEMAPeriod1,0,MODE_EMA,PRICE_CLOSE,i);

    double FEMH4=iMA(Symbol(),MainTimeFrame,SEMAPeriod1,0,MODE_EMA,PRICE_CLOSE,i);

    double RSIH4=iRSI(NULL,MainTimeFrame,RSIPeriod1,PRICE_CLOSE,i);

    double STMH4a=iStochastic(NULL,MainTimeFrame,StochKP1,StochDP1,StochSP1,MODE_SMA,0,MODE_MAIN,i+1);

    double STSH4a=iStochastic(NULL,MainTimeFrame,StochKP1,StochDP1,StochSP1,MODE_SMA,0,MODE_SIGNAL,i+1);

    double STMH4=iStochastic(NULL,MainTimeFrame,StochKP1,StochDP1,StochSP1,MODE_SMA,0,MODE_MAIN,i);

    double STSH4=iStochastic(NULL,MainTimeFrame,StochKP1,StochDP1,StochSP1,MODE_SMA,0,MODE_SIGNAL,i);

     

    double SEMM15a=iMA(Symbol(),SignalTimeFrame,FEMAPeriod2,0,MODE_EMA,PRICE_CLOSE,i+1);

    double FEMM15a=iMA(Symbol(),SignalTimeFrame,SEMAPeriod2,0,MODE_EMA,PRICE_CLOSE,i+1);

    double SEMM15=iMA(Symbol(),SignalTimeFrame,FEMAPeriod2,0,MODE_EMA,PRICE_CLOSE,i);

    double FEMM15=iMA(Symbol(),SignalTimeFrame,SEMAPeriod2,0,MODE_EMA,PRICE_CLOSE,i);

    double RSIM15=iRSI(NULL,SignalTimeFrame,RSIPeriod2,PRICE_CLOSE,i);

    double STMM15a=iStochastic(NULL,SignalTimeFrame,StochKP2,StochDP2,StochSP2,MODE_SMA,0,MODE_MAIN,i+1);

    double STSM15a=iStochastic(NULL,SignalTimeFrame,StochKP2,StochDP2,StochSP2,MODE_SMA,0,MODE_SIGNAL,i+1);

    double STMM15=iStochastic(NULL,SignalTimeFrame,StochKP2,StochDP2,StochSP2,MODE_SMA,0,MODE_MAIN,i);

    double STSM15=iStochastic(NULL,SignalTimeFrame,StochKP2,StochDP2,StochSP2,MODE_SMA,0,MODE_SIGNAL,i);

    double MACM15=iMACD(NULL,SignalTimeFrame,MACDFast2,MACDSlow2,MACDSMA2,PRICE_CLOSE,MODE_MAIN,0);

     

    string BUY="false";string SELL="false";

    if(

    (FEMM15a<SEMM15a&&FEMM15>SEMM15&&RSIM15>RSIBuyLevel2&&STMM15>STMM15a&&STSM15>STSM15a&&STMM15<OverboughtZone&&STSM15<OverboughtZone&&MACM15>MACDBuyLevel2)&&

    (SEMH4>FEMH4&&RSIH4>RSIBuyLevel1&&STMH4>STMH4a&&STSH4>STSH4a)

    )BUY="true";

    if(

    (FEMM15a>SEMM15a&&FEMM15<SEMM15&&RSIM15<RSISellLevel2&&STMM15<STMM15a&&STSM15<STSM15a&&STMM15>OversoldZone&&STSM15>OversoldZone&&MACM15<MACDSellLevel2)&&

    (SEMH4<FEMH4&&RSIH4<RSISellLevel1&&STMH4<STMH4a&&STSH4<STSH4a)

     

    )SELL="true";

     

    //entry conditions

    if(

    //MAFIB=="true"&&

    BUY=="true"){if(ReverseTheSystem)SV=1;else BV=1;break;}

    if(

    //MAFIS=="true"&&

    SELL=="true"){if(ReverseTheSystem)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;}

     

     

     

    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;

     

    //entry conditions verification

    if(SV>0){OS=1;OB=0;}if(BV>0){OB=1;OS=0;}

     

    //conditions to close positions

    if((SV>0)

    //||(UseHiddenSL&&(OrderOpenPrice()-Ask)/Point>=HiddenSL)||(UseHiddenTP&&(Bid-OrderOpenPrice())/Point>=HiddenTP)

    ){CB=1;}

    if((BV>0)

    //||(UseHiddenSL&&(Bid-OrderOpenPrice())/Point>=HiddenSL)||(UseHiddenTP&&(OrderOpenPrice()-Ask)/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,Slippage,Red);return(0);}}

    if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&((OrderMagicNumber()==Magic)||Magic==0)){if(CS==1){OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Red);return(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,Slippage,SLI,TPI,EAName,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,Slippage,SLI,TPI,EAName,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();}}}

     

    //not enough money message to continue the martingale

    if(TK<0){if (GetLastError()==134){err=1;Print("NOT ENOGUGHT MONEY!!");}return (-1);}

     

    return(0);}

     

    //trailing stop and breakeven

    void TrP(){int BE=BreakEven;int TS=TrailingStop;double pb,pa,pp;pp=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){pb=MarketInfo(OrderSymbol(),MODE_BID);if(BE>0){

    if((pb-OrderOpenPrice())>BE*pp){if((OrderStopLoss()-OrderOpenPrice())<0){ModSL(OrderOpenPrice()+0*pp);}}}if(TS>0){if((pb-OrderOpenPrice())>TS*pp){

    if(OrderStopLoss()<pb-(TS+TrailingStep-1)*pp){ModSL(pb-TS*pp);return;}}}}if(OrderType()==OP_SELL){pa=MarketInfo(OrderSymbol(),MODE_ASK);

    if(BE>0){if((OrderOpenPrice()-pa)>BE*pp){if((OrderOpenPrice()-OrderStopLoss())<0){ModSL(OrderOpenPrice()-0*pp);}}}if(TS>0){if(OrderOpenPrice()-pa>TS*pp){

    if(OrderStopLoss()>pa+(TS+TrailingStep-1)*pp||OrderStopLoss()==0){ModSL(pa+TS*pp);return;}}}}}

     

    //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);}

  3. Re: OzFx System - Profit 100 - 800 pips

     

    Aku pakai system ini dari akhir tahun 2007.

    dahulu si empunya kirim sinyal ke kita setiap pagi, hampir 10 pair, untuk buka open posisi,

    rata2 profit, cuma system ini cocok buat pemain long term, soalnya floating kadang gede kok,

    sekarang webnya dah ngak kasih sinya lagi,

    tapi indicator ozfx masih cukup ok, apalagi gabung dengan indinya valass ssp juga indinya CCFp-Diff buatan ferrufx.

    lengkap dah sinyalnya.

     

    sukses semua

  4. Re: (req )cara buat timer di ea

     

    pertama.

    di setting parameter kita bikin dulu, untuk input datanya

    misalnya

    extern string Time_Inputs = " Timing parameters ";

    extern int StartHour = 0; // Start Hour of Trade Session

    extern int StartMinute = 0; // Start Minute of Trade Session

    extern int EndHour = 23; // End Hour of Trade Session

    extern int EndMinute = 0; // End Hour of Trade Session

    extern int CloseTimeMode = 0; // CloseTime mode: 0-off,1-on

    extern int CloseHour = 24; // Trade Close Hour

    extern int CloseMinute = 0; // Trade Close Minute

     

    terus, di logicnya

    kita masukan saja

    dibawaha baris

     

    int init()

     

    bool TimeCondition()

    {

    bool result = false;

     

    datetime SessionStart = StrToTime(StartHour+":"+StartMinute);

    datetime SessionEnd = StrToTime(EndHour+":"+EndMinute);

     

    if (StartHour < EndHour)

    result = TimeCurrent() >= SessionStart && TimeCurrent() < SessionEnd;

    else

    if (StartHour > EndHour)

    result = (TimeCurrent() > SessionStart && TimeHour(TimeCurrent()) < 24)

    ||(TimeHour(TimeCurrent()) >= 0 && TimeCurrent() < SessionEnd);

     

    return(result);

    }

     

    macam2 sih tekniknya,

    bisa juga model simpel begini

     

    input parameternya

    extern bool UseHourTrade = True;

    extern int FromHourTrade = 8;

    extern int ToHourTrade = 18;

     

    logic nya

    int start() {

    if (UseHourTrade){

    if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

    Comment("Time for trade has not come else!");

    return(0);

    }

    }

     

    mudah2an bisa membantu..

  5. Re: Req: time and date indicator for screen capture

     

    try this

    compile to indicator, and attach to chart.

    you will find picture scereen shot at expert>files folder.

    enjoy

     

     

    #property indicator_chart_window

     

    extern string identification = "ScreenShot";

    extern int size.x = 640;

    extern int size.y = 480;

    int g_datetime_92 = 0;

    bool gi_96 = FALSE;

     

    string fYear() {

    return (TimeYear(Time[0]));

    }

     

    string fMonth() {

    int l_month_0 = TimeMonth(Time[0]);

    if (l_month_0 < 10) return ("0" + l_month_0);

    return (l_month_0);

    }

     

    string fDay() {

    int l_day_0 = TimeDay(Time[0]);

    if (l_day_0 < 10) return ("0" + l_day_0);

    return (l_day_0);

    }

     

    string fHour() {

    int l_hour_0 = TimeHour(Time[0]);

    if (l_hour_0 < 10) return ("0" + l_hour_0);

    return (l_hour_0);

    }

     

    string fMinute() {

    int l_minute_0 = TimeMinute(Time[0]);

    if (l_minute_0 < 10) return ("0" + l_minute_0);

    return (l_minute_0);

    }

     

    string fSeconds() {

    int l_second_0 = TimeSeconds(Time[0]);

    if (l_second_0 < 10) return ("0" + l_second_0);

    return (l_second_0);

    }

     

    int start() {

    int l_datetime_0;

    if (!gi_96) {

    l_datetime_0 = iTime(NULL, 0, 0);

    if (g_datetime_92 == l_datetime_0) return (0);

    g_datetime_92 = l_datetime_0;

    gi_96 = TRUE;

    return (0);

    }

    gi_96 = FALSE;

    string l_str_concat_4 = StringConcatenate(identification, "\\", Symbol(), "\\", Period(), "\\", fYear(), fMonth(), fDay(), "\\");

    WindowScreenShot(StringConcatenate(l_str_concat_4, identification, ".", Symbol(), ".", Period(), ".", fYear(), fMonth(), fDay(), ".", fHour(), fMinute(), fSeconds(), ".gif"), size.x, size.y);

    return (0);

    }

  6. Re: [ASK] Indicator Market Time

     

    Halo yang hobi kumpulin Indikator,

    Mau tanya ada nggak ya indikator yang khusus mengindikasikan market mana yang sedang jalan?

    Tujuannya mau dipake untuk backtest untuk analisa market yang lagi rame itu jam berapa aja per time zone.

     

    Bisa bantu nih?

     

    Trims ya..

     

     

    Sebenarnya gampang kok carinya

    anda bisa pake google.

    - market time mq4

    - session.mq4

    Pasti ketemu, sayang nggak bisa di upload disini.

  7. Re: Alfa Forex EA (The Best Forex Trading Robot on USDCAD)

     

    Hi,

     

    this code is part of Alfa,... anyone can translate this language,...? thx

     

    void InitErrorArray() {

    gsa_328[0] = "Íåò îøèáêè";

    gsa_328[1] = "Íåò îøèáêè, íî ðåçóëüòàò íåèçâåñòåí";

    gsa_328[2] = "Îáùàÿ îøèáêà";

    gsa_328[3] = "Íåïðàâèëüíûå ïàðàìåòðû";

    gsa_328[4] = "Òîðãîâûé ñåðâåð çàíÿò";

    gsa_328[5] = "Ñòàðàÿ âåðñèÿ êëèåíòñêîãî òåðìèíàëà";

    gsa_328[6] = "Íåò ñâÿçè ñ òîðãîâûì ñåðâåðîì";

    gsa_328[7] = "Íåäîñòàòî÷íî ïðàâ";

    gsa_328[8] = "Ñëèøêîì ÷àñòûå çàïðîñû";

    gsa_328[9] = "Íåäîïóñòèìàÿ îïåðàöèÿ íàðóøàþùàÿ ôóíêöèîíèðîâàíèå ñåðâåðà";

    gsa_328[64] = "Ñ÷åò çàáëîêèðîâàí";

    gsa_328[65] = "Íåïðàâèëüíûé íîìåð ñ÷åòà";

    gsa_328[128] = "Èñòåê ñðîê îæèäàíèÿ ñîâåðøåíèÿ ñäåëêè";

    gsa_328[129] = "Íåïðàâèëüíàÿ öåíà";

    gsa_328[130] = "Íåïðàâèëüíûå ñòîïû";

    gia_324[120] = 5;

    gsa_328[131] = "Íåïðàâèëüíûé îáúåì";

    gsa_328[132] = "Ðûíîê çàêðûò";

    gsa_328[133] = "Òîðãîâëÿ çàïðåùåíà";

    gsa_328[134] = "Íåäîñòàòî÷íî äåíåã äëÿ ñîâåðøåíèÿ îïåðàöèè";

    gsa_328[135] = "Öåíà èçìåíèëàñü";

    gsa_328[136] = "Íåò öåí";

    gsa_328[137] = "Áðîêåð çàíÿò";

    gsa_328[138] = "Íîâûå öåíû";

    gia_324[250] = 21;

    gsa_328[139] = "Îðäåð çàáëîêèðîâàí è óæå îáðàáàòûâàåòñÿ";

    gsa_328[140] = "Ðàçðåøåíà òîëüêî ïîêóïêà";

    gsa_328[141] = "Ñëèøêîì ìíîãî çàïðîñîâ";

    gsa_328[145] = "Ìîäèôèêàöèÿ çàïðåùåíà, òàê êàê îðäåð ñëèøêîì áëèçîê ê ðûíêó";

    gsa_328[146] = "Ïîäñèñòåìà òîðãîâëè çàíÿòà";

    gsa_328[147] = "Èñïîëüçîâàíèå äàòû èñòå÷åíèÿ îðäåðà çàïðåùåíî áðîêåðîì";

    gsa_328[148] = "Êîëè÷åñòâî îòêðûòûõ è îòëîæåííûõ îðäåðîâ äîñòèãëî ïðåäåëà, óñòàíîâëåííîãî áðîêåðîì";

    gsa_328[4000] = "Íåò îøèáêè";

    gsa_328[4001] = "Íåïðàâèëüíûé óêàçàòåëü ôóíêöèè";

    gsa_328[4002] = "Èíäåêñ ìàññèâà - âíå äèàïàçîíà";

    gsa_328[4003] = "Íåò ïàìÿòè äëÿ ñòåêà ôóíêöèé";

    gsa_328[4004] = "Ïåðåïîëíåíèå ñòåêà ïîñëå ðåêóðñèâíîãî âûçîâà";

    gsa_328[4005] = "Íà ñòåêå íåò ïàìÿòè äëÿ ïåðåäà÷è ïàðàìåòðîâ";

    gsa_328[4006] = "Íåò ïàìÿòè äëÿ ñòðîêîâîãî ïàðàìåòðà";

    gsa_328[4007] = "Íåò ïàìÿòè äëÿ âðåìåííîé ñòðîêè";

    gsa_328[4008] = "Íåèíèöèàëèçèðîâàííàÿ ñòðîêà";

    gsa_328[4009] = "Íåèíèöèàëèçèðîâàííàÿ ñòðîêà â ìàññèâå";

    gsa_328[4010] = "Íåò ïàìÿòè äëÿ ñòðîêîâîãî ìàññèâà";

    gsa_328[4011] = "Ñëèøêîì äëèííàÿ ñòðîêà";

    gsa_328[4012] = "Îñòàòîê îò äåëåíèÿ íà íîëü";

    gsa_328[4013] = "Äåëåíèå íà íîëü";

    gsa_328[4014] = "Íåèçâåñòíàÿ êîìàíäà";

    gsa_328[4015] = "Íåïðàâèëüíûé ïåðåõîä";

    gsa_328[4016] = "Íåèíèöèàëèçèðîâàííûé ìàññèâ";

    gsa_328[4017] = "Âûçîâû DLL íå ðàçðåøåíû";

    gsa_328[4018] = "Íåâîçìîæíî çàãðóçèòü áèáëèîòåêó";

    gsa_328[4019] = "Íåâîçìîæíî âûçâàòü ôóíêöèþ";

    gsa_328[4020] = "Âûçîâû âíåøíèõ áèáëèîòå÷íûõ ôóíêöèé íå ðàçðåøåíû";

    gsa_328[4021] = "Íåäîñòàòî÷íî ïàìÿòè äëÿ ñòðîêè, âîçâðàùàåìîé èç ôóíêöèè";

    gsa_328[4022] = "Ñèñòåìà çàíÿòà";

    gsa_328[4050] = "Íåïðàâèëüíîå êîëè÷åñòâî ïàðàìåòðîâ ôóíêöèè";

    gsa_328[4051] = "Íåäîïóñòèìîå çíà÷åíèå ïàðàìåòðà ôóíêöèè";

    gsa_328[4052] = "Âíóòðåííÿÿ îøèáêà ñòðîêîâîé ôóíêöèè";

    gsa_328[4053] = "Îøèáêà ìàññèâà";

    gsa_328[4054] = "Íåïðàâèëüíîå èñïîëüçîâàíèå ìàññèâà-òàéìñåðèè";

    gsa_328[4055] = "Îøèáêà ïîëüçîâàòåëüñêîãî èíäèêàòîðà";

    gsa_328[4056] = "Ìàññèâû íåñîâìåñòèìû";

    gsa_328[4057] = "Îøèáêà îáðàáîòêè ãëîáàëüíûåõ ïåðåìåííûõ";

    gsa_328[4058] = "Ãëîáàëüíàÿ ïåðåìåííàÿ íå îáíàðóæåíà";

    gsa_328[4059] = "Ôóíêöèÿ íå ðàçðåøåíà â òåñòîâîì ðåæèìå";

    gsa_328[4060] = "Ôóíêöèÿ íå ðàçðåøåíà";

    gsa_328[4061] = "Îøèáêà îòïðàâêè ïî÷òû";

    gsa_328[4062] = "Îæèäàåòñÿ ïàðàìåòð òèïà string";

    gsa_328[4063] = "Îæèäàåòñÿ ïàðàìåòð òèïà integer";

    gsa_328[4064] = "Îæèäàåòñÿ ïàðàìåòð òèïà double";

    gsa_328[4065] = " êà÷åñòâå ïàðàìåòðà îæèäàåòñÿ ìàññèâ";

    gsa_328[4066] = "Çàïðîøåííûå èñòîðè÷åñêèå äàííûå â ñîñòîÿíèè îáíîâëåíèÿ";

    gsa_328[4067] = "Îøèáêà ïðè âûïîëíåíèè òîðãîâîé îïåðàöèè";

    gsa_328[4099] = "Êîíåö ôàéëà";

    gsa_328[4100] = "Îøèáêà ïðè ðàáîòå ñ ôàéëîì";

    gsa_328[4101] = "Íåïðàâèëüíîå èìÿ ôàéëà";

    gsa_328[4102] = "Ñëèøêîì ìíîãî îòêðûòûõ ôàéëîâ";

    gsa_328[4103] = "Íåâîçìîæíî îòêðûòü ôàéë";

    gsa_328[4104] = "Íåñîâìåñòèìûé ðåæèì äîñòóïà ê ôàéëó";

    gsa_328[4105] = "Íè îäèí îðäåð íå âûáðàí";

    gsa_328[4106] = "Íåèçâåñòíûé ñèìâîë";

    gsa_328[4107] = "Íåïðàâèëüíûé ïàðàìåòð öåíû äëÿ òîðãîâîé ôóíêöèè";

    gsa_328[4108] = "Íåâåðíûé íîìåð òèêåòà";

    gsa_328[4109] = "Òîðãîâëÿ íå ðàçðåøåíà. Íåîáõîäèìî âêëþ÷èòü îïöèþ Ðàçðåøèòü ñîâåòíèêó òîðãîâàòü â ñâîéñòâàõ ýêñïåðòà";

    gsa_328[4110] = "Äëèííûå ïîçèöèè íå ðàçðåøåíû. Íåîáõîäèìî ïðîâåðèòü ñâîéñòâà ýêñïåðòà";

    gsa_328[4111] = "Êîðîòêèå ïîçèöèè íå ðàçðåøåíû. Íåîáõîäèìî ïðîâåðèòü ñâîéñòâà ýêñïåðòà";

    gsa_328[4200] = "Îáúåêò óæå ñóùåñòâóåò";

    gsa_328[4201] = "Çàïðîøåíî íåèçâåñòíîå ñâîéñòâî îáúåêòà";

    gsa_328[4202] = "Îáúåêò íå ñóùåñòâóåò";

    gsa_328[4203] = "Íåèçâåñòíûé òèï îáúåêòà";

    gsa_328[4204] = "Íåò èìåíè îáúåêòà";

    gsa_328[4205] = "Îøèáêà êîîðäèíàò îáúåêòà";

    gsa_328[4206] = "Íå íàéäåíî óêàçàííîå ïîäîêíî";

    gsa_328[4207] = "Îøèáêà ïðè ðàáîòå ñ îáúåêòîì";

    }

     

    Change your mt4 to russian. and translate with uncle google to your languange

×
×
  • Create New...