Your opinion wanted - page 4

 
angevoyageur:
You are trying to deceive beginners by cheating your EA and/or backtest results in some ways, and you know it very well.

"In some ways" How? dont make accussations while you dont know what you are arguing about. I already said it attempts 100% by not closing anything at a loss but waiting for it to become profitable. The floating losses will be managed by the dynamic lots and % of balance used as lots thereby making it hard to hit margin call.
 
tonny: Here is the tester report. Ive omitted the parameters and ea name for obvious reasons. Check it all you want ive nothing to hide. 

Much better. My opinion of your system is that it's too risky. Risky however is a relative term, if you feel you can live with relative draw-downs of 50% with a chance of blowing the account ??? then trade-it. However, I'll advise you to run your system in Monte-Carlo mode to get a better statistic of how-often this 50% draw-downs happens. And your Risk_Of_Ruin vs your BankRoll etc.

I just woke up and seen your data, decided to put something together which could somewhat duplicate the results and here's the codes and results below. Note: On my 1st run, it went bankrupt. 2nd and 3rd runs looks like the result below:


Based on my three runs, I'd say 'my' system have a 1-in-3 chances of bankrupting 10k within the tested time period. The result you're displaying is just one Static [Positive] performance of the system. Anyone trading this system would keep asking themselves "what if price never comes back?". My recommendation is that you produce thousands of runs in-order to test how well your system predicts bouncy-periods. Also extend the time-frame and test on other pairs.

Codes hastily written and not intended for Real_Money usage. I might remove the codes later.

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#property copyright "Copyright © Ubzen"
#property link      "https://www.mql5.com/en/users/ubzen"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define Magic_Nm 1
#define Scalp_Pi 5
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//extern int MonteCarlo=1;//Optimize 1->100 Equal_100 Random_Runs
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void start(){
    if(!isNewBar()){return;}
    Order_Origination();
    Order_Termination();
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void Order_Origination(){
    if(Count_OrderS_Symb()>0){return;}
    if(!isRange()){return;}
    Order_Send(Symbol(),Random_OT(),Compound());
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void Order_Termination(){
    for(int i=OrdersTotal()-1; i>=0; i--){
        if(!OrderSelect(i,SELECT_BY_POS)){continue;}
        if(OrderMagicNumber()!=Magic_Nm){continue;}
        string Sy=Symbol();
        if(OrderSymbol()!=Sy){continue;}
        if(OrderProfit()<0){continue;}
        double  OpnPrc=OrderOpenPrice();
        double  ClsPrc=OrderClosePrice();
        double  Diff=MathAbs(ClsPrc-OpnPrc);
        double  inPip=p2pips(Sy,Diff);
        int     inInt=p2i(Sy,inPip);
        if(inInt<Scalp_Pi){return;}
        Close_Order_Ticket(OrderTicket());
    }
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool isNewBar(){
    static datetime BarTime;
    datetime MinOpen=iTime(Symbol(),PERIOD_M1,0);
    if(BarTime!=MinOpen){BarTime=MinOpen; return(true);}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int Random_OT(){
    static double Seed; if(Seed==0){Seed=GetTickCount();}
    Seed+=0.9; MathSrand(Seed); int OrType=MathRand()%2;
    if(OrType%2==0){return(OP_BUY);}else{return(OP_SELL);}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double Symb_Digit(string Symb){
    return(MarketInfo(Symb,MODE_DIGITS));
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int p2i(string Symb, double X){
    /*Converts Price_2_Integer*/ int SymDigit=Symb_Digit(Symb);
    if(SymDigit%2==0){if(SymDigit==2){int Y=100;}else{Y=10000;}
    }else{if(SymDigit==3){Y=1000;}else{Y=100000;}} return(X*Y);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double p2pips(string Symb, double X){//Points2Pips
    int D=Symb_Digit(Symb); if(D%2==1){X/=10;} return(X);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double p2points(string Symb, double X){//Pips2Points
    int D=Symb_Digit(Symb); if(D%2==1){X*=10;} return(X);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool isRange(){ int Range=10;
    string Sy=Symbol(); int Tf=PERIOD_M5; int Pd=99;
    int Dev=1; int Sh=0; int App=PRICE_LOW; int iDex=0;
    double Band_Up=iBands(Sy,Tf,Pd,Dev,Sh,App,MODE_UPPER,iDex);
    double Band_Dn=iBands(Sy,Tf,Pd,Dev,Sh,App,MODE_LOWER,iDex);
    int iBand_Up=p2i(Sy,Band_Up); int iBand_Dn=p2i(Sy,Band_Dn);
    int Dif=iBand_Up-iBand_Dn;
    int Range2Points=p2points(Sy,Range);
    if(Dif<Range2Points){return(true);}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int Count_OrderS_Symb(){
    int Cnt; for(int i=OrdersTotal()-1; i>=0; i--){
        if(!OrderSelect(i,SELECT_BY_POS)){continue;}
        if(OrderMagicNumber()!=Magic_Nm){continue;}
        if(OrderSymbol()!=Symbol()){continue;} Cnt++;}
return(Cnt);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool Close_Order_Ticket(int Tkt){
    if(!OrderSelect(Tkt,SELECT_BY_TICKET)){return;}
    if(OrderType()>1){return;} if(OrderCloseTime()!=0){return;}
    if(!IsTesting()){while(IsTradeContextBusy()){Sleep(500);}}
    double Ocp=OrderClosePrice(); double Ol=OrderLots();
    bool Res=OrderClose(Tkt,Ol,Ocp,0,0);
return(Res);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int Order_Send(string Symb, int OType, double Lots){
    if(AccountFreeMarginCheck(Symb,OType,Lots)<=0){return;}
    if(GetLastError()==134){return;}

    int Order_Slip=0; color OrColor;
    if(OType==OP_BUY){OrColor=Blue;}
    if(OType==OP_SELL){OrColor=Red;}
    if(OType==OP_BUY){double    P=MarketInfo(Symb,MODE_ASK);}
    if(OType==OP_SELL){         P=MarketInfo(Symb,MODE_BID);}
    
    int OrTicket=OrderSend(
        Symb,OType,Lots,P,Order_Slip,
        0,0,"_",Magic_Nm,0,OrColor);
return(OrTicket);    }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double Compound(){
    double BrkMinLot=MarketInfo(Symbol(),MODE_MINLOT);
    double BrkMaxLot=MarketInfo(Symbol(),MODE_MAXLOT);
    double BrkLotStp=MarketInfo(Symbol(),MODE_LOTSTEP);
    double LotSize=AccountBalance()/200*0.01;
    if(LotSize<BrkMinLot){LotSize=BrkMinLot;}
    if(LotSize>BrkMaxLot){LotSize=BrkMaxLot;}
    return(LotSize);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Files:
 
I personally dont believe in scalping. This is just a fun project and i wanted the opinion of people who might have dwelt here before in the field of scalping. Some tp levels and timeframe did bankrupt the account thats why H1 which is not commonly a scalping timeframe was used as it gives a little more accurate trend prediction than the minute timeframes. I tested some scalping strategies on live account with tiny balances and would make upto 3000%(from $10 to $300) in less than two weeks but the common thing is that margin call would have the final say. This projected i attempted something that could possibly scalp and win in the long run though the profitability has taken a beating thats why as you can see the tester report made just about 100% in two years which in scalping terms isnt that much. My view on scalping has come to yes you can make money by scalping but not in the long run. Scalping should be used as a "make and run" system i.e. deposit $1000 and once you triple it leave and invest that money elsewhere. Ive also researched scalping signal providers in this sp services(wont mention due to advertising services) and while some profit even for a year the end result is massive floating losses that usually "margin call" most subscriber accounts. If one is to make money scalping you would have to deposit big amounts of money but use very tiny lots and the end result would be smaller profits than non scalping strategies and thats the concept i tried here. All in all my conclusion is that i personally dont prefer scalping but if you do, then make your 300% or 1000% and run and also remember your broker just might not allow you to withdraw that money as most brokers dont like it at all do check with your broker for anti scalping rules and while scalping try to adhere to them dont close trades too soon(less than 10 minutes) too often.
 
tonny:

"In some ways" How? dont make accussations while you dont know what you are arguing about. I already said it attempts 100% by not closing anything at a loss but waiting for it to become profitable. The floating losses will be managed by the dynamic lots and % of balance used as lots thereby making it hard to hit margin call.
  • Can you explain that ?
Mismatched charts errors350
 
oh so im the one who put the errors on mt4? There is no time you can strategy test and you get 0 mismatched errors lol you truly dont know what you are saying undertaker look alike
 
tonny:
oh so im the one who put the errors on mt4? There is no time you can strategy test and you get 0 mismatched errors lol you truly dont know what you are saying undertaker look alike

It is very possible to have zero mismatched chart errors . . .  it simply depends on your data and how it has been constructed,  for example creating M1 to MN1 from the same tick data should result in very few errors . . . 

 

 
tonny:
oh so im the one who put the errors on mt4? There is no time you can strategy test and you get 0 mismatched errors lol you truly dont know what you are saying undertaker look alike

I've done hundreds of backtest and I've never seen this error.

Anyway, you want opinion, mine is that your EA can only be used to blow out an account.

May be I am wrong when I think your are cheating, sorry for that. If your are not, as your here from january 2010, your are very naive, at least.

 

It is possible to do such a test 

I can make it also

strategy  if high highest 18 bars buy

if low lowest 18 bars sell  no stoploss

with also trailing this result  (foolish game)

Files:
testresult.zip  46 kb
 
Yer but this boy is talking as if i created the errors someone tell him it comes from mt4 data not me
 
At what time did i say the project is perfect i said it many times im just researching it and simply asked for "mature" opinion this profits far less than my already succesful systems but as i said im just exploring scalping systems and im open to helpful opinion but i wont take insults and as moderator you shouldnt be behaving like a housefly you should be more mature than this my test result is natural from mt4 thats why there are some errors on mt4 data as i havent injected code in it to alter anything
Reason: