10 punti 3.mq4 - pagina 339

 
pagebluk2007:
Ciao a tutti, sono nuovo in questo thread.

Sto usando 10p3v002 (grazie a David) TF 30M su IBFX e sono intenzionato a fare il backtest con un micro conto ($250). Ma invece di scambiare con 0.01 lotti, scambia sempre costantemente con 0.1 e 0.3 lotti. Mi manca qualcosa qui?

Il profitto è stato incredibile, ma penso che sia troppo rischioso fare trading con questo numero di lotti. Ecco la mia impostazione e la dichiarazione dettagliata.

Tia, Don.

extern int Magic = 772188;

extern double TakeProfit = 10;

extern double Lots = 0.01;

extern double InitialStop = 160;

extern double TrailingStop = 0;

extern int MaxTrades = 10;

extern double Multiplier = 3;

extern int Pips = 5;

extern int OrderstoProtect = 4;

extern bool Money_management = true;

extern int AccountType = 2; //0: Conto standard (NorthFinance, MiG, Alpari) 1: Conto normale (FXLQ, FXDD) 2: Conto NANO di InterbankFX

extern double risk = 0.5;

extern bool ReverseSignal = false;

extern int Fast_EMA = 12;

extern int Slow_EMA = 26;

extern int Signal_SMA = 9;

extern int Shift = 1;

extern int TradingRange = 0;

extern bool UseTimeFilter=true;

extern int StopTrade = 13;

extern int StartTrade = 18;

E' possibile che tu abbia dimenticato di selezionare il mini conto quando hai impostato l'MQ4? Se l'hai fatto, clicca con il tasto destro del mouse su "Accounts", seleziona nuovo e assicurati di cambiare il tipo di account in Mini.

Tutto dovrebbe essere a posto, se questo era il problema?

Saluti

Wayne

 
MANSTIR:
Grazie David per la tua pronta risposta...

ho messo '0' su take profit perché voglio che il mio trailing stop faccia il lavoro per prendere profitto ...

e non c'è stoploss... quando l'ea compra, modificando stoploss (trailing stop) erano xtream bene invece di vendere / corto (il problema è qui - vendere / corto non modificare azione stoploss!) perché, non so...

10points3 è molto più grande di quanto pensassi...

questo ea è un risultato notevole e ho già fatto dei test in avanti per assicurarmi che sia buono....

ancora una volta il problema quando il ea vendere, non modificare stoploss! mi chiedo perché ...

Cercherò la maggior parte del mio tempo per risolvere il problema e purtroppo giù a fallire ...

hmmm devo cambiare una parola BID in ASK per fare la differenza ... se sì, ho dun che osservazioni ma non azione...

Ecco il backtest che ho fatto senza cambiare una sola cosa. Il codice funziona bene.

Saluti

David

File:
trailing.jpg  27 kb
003-trail.gif  7 kb
003-trail.htm  333 kb
 

Solo 1 altro rapido promemoria per tutti i trader. I titolari di conti live di IBFX sono pregati di fare attenzione. Leggete questo prudente!!! Il conto standard di IBFX ha una leva di 1:100. Se avete deciso di fare trading con la serie 10p3v0, ricordatevi di ridurre il rischio alla metà del vostro conto NANO. Perché normalmente il conto NANO ha una leva di 1:200. Se riuscite a farvi aiutare dal personale della LiveChat a cambiare il vostro conto standard in 1:200, allora è un bene per voi eseguire con le stesse impostazioni del vostro conto NANO. Spero che questo aiuti.

Saluti

David

 
davidke20:
Ecco il backtest che ho fatto senza cambiare una sola cosa. Il codice funziona bene.

Saluti

David

hmmm che versione stai usando in questo momento david, io sto usando le versioni 10point4

e puoi condividere le tue impostazioni qui...

 
davidke20:
Nessun problema da parte mia con entrambi gli account NANO e normale, si prega di controllare le mie impostazioni se corrispondono con il vostro. Non so perché hai questo problema.

Saluti

David

grazie David,

hmmm forse sto usando le versioni 10point4, quali versioni stai usando ora... e puoi condividere qui le tue impostazioni...

 
MANSTIR:
grazie david, hmmm forse sto usando le versioni 10point4, quali versioni stai usando ora... e puoi condividere qui le tue impostazioni...

Versione 0.03. Potete trovarli nelle pagine precedenti di 30X (non ricordo 306 o 309). Le impostazioni sono sul rapporto del backtest. Quando vuoi testare il saldo del conto sotto i 1000, assicurati di testarlo sulla condizione NANO (che è EURUSD viene con una "m" dietro - EURUSDm).

Saluti

David

p/s: 10poin4 non è stato prodotto da me. Trova un altro codificatore che ti aiuti se hai davvero bisogno di fare le cose per bene su quella particolare versione che hai menzionato.

 
KaMpeR:
È possibile che tu abbia dimenticato di selezionare l'account mini quando hai impostato la MQ4? Se l'hai fatto, clicca con il tasto destro del mouse su "Accounts", seleziona nuovo e assicurati di cambiare il tipo di account in Mini.

Tutto dovrebbe essere a posto, se questo era il problema?

Grazie

Wayne

Hai ragione, il mio piccolo errore sciocco. Grazie Wayne!

 
pagebluk2007:
Hai ragione, il mio piccolo errore sciocco. Grazie Wayne!

Nessun problema, lieto di essere stato d'aiuto, siamo tutti umani e gli errori sono inevitabili :-)

Grazie

Wayne

 
davidke20:
Versione 0.03. Puoi trovarli nelle pagine precedenti di 30X (non ricordo 306 o 309) Fai qualche lettura per favore. Le impostazioni sono sul report del backtest. Quando vuoi testare il saldo del conto sotto i 1000, assicurati di testarlo sulla condizione NANO (che è EURUSD viene con una "m" dietro - EURUSDm).

Saluti

David

p/s: 10poin4 non è stato prodotto da me. Trova un altro coder che ti aiuti se hai davvero bisogno di fare le cose per bene su quella particolare versione che hai menzionato.

grazie ancora...signor david

 

Bisogno di aiuto con Ea

Sono nuovo qui e non so come iniziare un nuovo thread o altro quindi sto facendo trading con 10points3 e sto cercando di trovare qualcuno che metta un codice in cui possa fare trading solo in certi momenti della giornata...voglio che smetta di fare trading alle 7 di sera e ricominci alle 1600 del mattino...per favore se qualcuno può aiutarmi sarebbe fantastico....

extern double TakeProfit = 10;

extern double Lots = 0.01;

extern double InitialStop = 80;

extern double TrailingStop = 0;

extern int MaxTrades=7;

extern int Pips=5;

extern int SecureProfit=0;

extern int AccountProtection=0;

extern int OrderstoProtect=0;

extern int ReverseCondition=0;

extern double EURUSDPipValue=10;

extern double GBPUSDPipValue=10;

extern double USDCHFPipValue=10;

extern double USDJPYPipValue=9,715;

extern int StartYear=2005;

extern int StartMonth=1;

extern int EndYear=2005;

extern int EndMonth=12;

extern int EndHour=22;

extern int EndMinute=30;

extern int mm=0;

extern int risk=12;

extern int AccountisNormal=0;

int OpenOrders=0, cnt=0;

int slippage=0;

double sl=0, tp=0;

double BuyPrice=0, SellPrice=0;

double lotsi=0, mylotsi=0;

int mode=0, myOrderType=0;

bool ContinueOpening=True;

double LastPrice=0;

int PreviousOpenOrders=0;

double Profit=0;

int LastTicket=0, LastType=0;

double LastClosePrice=0, LastLots=0;

double Pivot=0;

double PipValue=0;

string text="", text2="";

//+------------------------------------------------------------------+

//| funzione di inizializzazione dell'esperto |

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| funzione di deinizializzazione esperto |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| funzione di avvio esperto |

//+------------------------------------------------------------------+

int start()

{

//----

se (AccountisNormal==1)

{

if (mm!=0) { lotsi=MathCeil(ContoSaldo()*rischio/10000); }

else { lotsi=Lotti; }

} else { // allora è mini

if (mm!=0) { lotsi=MathCeil(AccountBalance()*rischio/10000)/10; }

else { lotsi=Lotti; }

}

if (lotsi>100){ lotsi=100; }

OpenOrders=0;

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

OpenOrders++;

}

}

/*

se (OpenOrders<1)

{

if (TimeYear(CurTime())<StartYear) { return(0); }

se (TimeMonth(CurTime())<StartMonth) { return(0); }

se (TimeYear(CurTime())>EndYear) { return(0); }

se (TimeMonth(CurTime())>EndMonth ) { return(0); }

}

*/

if (Symbol()=="EURUSD") { PipValue=EURUSDPipValue; }

if (Symbol()=="GBPUSD") { PipValue=GBPUSDPipValue; }

if (Symbol()=="USDJPY") { PipValue=USDJPYPipValue; }

if (Symbol()=="USDCHF") { PipValue=USDCHFPipValue; }

if (PipValue==0) { PipValue=5; }

if (PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdiniTotali();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=OrderType();

if (OrderSymbol()==Symbol())

{

se (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }

se (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); }

return(0);

}

}

}

PreviousOpenOrders=OpenOrders;

if (OpenOrders>=MaxTrades)

{

ContinueOpening=False;

} else {

ContinueOpening=True;

}

if (LastPrice==0)

{

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=OrderType();

if (OrderSymbol()==Symbol())

{

LastPrice=OrderOpenPrice();

se (mode==OP_BUY) { myOrderType=2; }

if (mode==OP_SELL) { myOrderType=1; }

}

}

}

if (OpenOrders<1)

{

myOrderType=3;

//se (iMACD(14,26,9,MODE_MAIN,0)>0 e iMACD(14,26,9,MODE_MAIN,0)>iMACD(14,26,9,MODE_MAIN,1)) allora OrderType=2;

if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=2; }

//se (iMACD(14,26,9,MODE_MAIN,0)<0 e iMACD(14,26,9,MODE_MAIN,0)<iMACD(14,26,9,MODE_MAIN,1)) allora OrderType=1;

if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=1; }

if (ReverseCondition==1)

{

if (myOrderType==1) { myOrderType=2; }

else { if (myOrderType==2) { myOrderType=1; } }

}

}

// se abbiamo posizioni aperte, ce ne occupiamo

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol() == Symbol())

{

se (OrderType()==OP_SELL)

{

se (TrailingStop>0)

{

if (OrderOpenPrice()-Ask>=(TrailingStop+Pips)*Point)

{

se (OrderStopLoss()>(Ask+Point*TrailingStop))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderClosePrice()-TakeProfit*Point-TrailingStop*Point,800,Purple);

return(0);

}

}

}

}

if (OrderType()==OP_BUY)

{

se (TrailingStop>0)

{

if (Bid-OrderOpenPrice()>=(TrailingStop+Pips)*Point)

{

se (OrderStopLoss()<(Bid-Point*TrailingStop))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderClosePrice()+TakeProfit*Point+TrailingStop*Point,800,Yellow);

return(0);

}

}

}

}

}

}

Profit=0;

LastTicket=0;

LastType=0;

LastClosePrice=0;

LastLots=0;

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

LastTicket=OrderTicket();

se (OrderType()==OP_BUY) { LastType=OP_BUY; }

if (OrderType()==OP_SELL) { LastType=OP_SELL; }

LastClosePrice=OrderClosePrice();

LastLots=OrderLots();

se (LastType==OP_BUY)

{

//Profit=Profit+(Ord(cnt,VAL_CLOSEPRICE)-Ord(cnt,VAL_OPENPRICE))*PipValue*Ord(cnt,VAL_LOTS);

se (OrderClosePrice()<OrderOpenPrice())

{ Profit=Profit-(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point; }

se (OrderClosePrice()>OrderOpenPrice())

{ Profit=Profit+(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; }

}

if (LastType==OP_SELL)

{

//Profit=Profit+(Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_CLOSEPRICE))*PipValue*Ord(cnt,VAL_LOTS);

se (OrderClosePrice()>OrderOpenPrice())

{ Profit=Profit-(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point; }

se (OrderClosePrice()<OrderOpenPrice())

{ Profit=Profit+(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point; }

}

//Print(Symbol,":",Profit,",",LastLots);

}

}

Profit=Profit*PipValue;

text2="Profitto: $"+DoubleToStr(Profit,2)+" +/-";

if (OpenOrders>=(MaxTrades-OrderstoProtect) && AccountProtection==1)

{

//Stampa(Simbolo,":",Profitto);

se (Profit>=SecureProfit)

{

OrderClose(LastTicket,LastLots,LastClosePrice,slippage,Yellow);

ContinueOpening=False;

return(0);

}

}

if (!IsTesting())

{

if (myOrderType==3) { text="Nessuna condizione per aprire operazioni"; }

else { text=" "; }

Comment("LastPrice=",LastPrice," Previous open orders=",PreviousOpenOrders,"\nContinue opening=",ContinueOpening," OrderType=",myOrderType,"\n",text2,"\nLots=",lotsi,"\n",text);

}

se (myOrderType==1 && ContinueOpening)

{

se ((Bid-LastPrice)>=Pips*Point || OpenOrders<1)

{

SellPrice=Bid;

LastPrice=0;

if (TakeProfit==0) { tp=0; }

else { tp=SellPrice-TakeProfit*Point; }

if (InitialStop==0) { sl=0; }

else { sl=SellPrice+InitialStop*Point; }

if (OpenOrders!=0)

{

mylotsi=lotsi;

for(cnt=1;cnt<=OpenOrders;cnt++)

{

if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*3,3); }

else { mylotsi=NormalizeDouble(mylotsi*3,3); }

}

} else { mylotsi=lotsi; }

if (mylotsi>100) { mylotsi=100; }

OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,NULL,0,0,Red);

return(0);

}

}

if (myOrderType==2 && ContinueOpening)

{

if ((LastPrice-Ask)>=Pips*Point || OpenOrders<1)

{

BuyPrice=Ask;

LastPrice=0;

if (TakeProfit==0) { tp=0; }

else { tp=BuyPrice+TakeProfit*Point; }

if (InitialStop==0) { sl=0; }

else { sl=BuyPrice-InitialStop*Point; }

if (OpenOrders!=0) {

mylotsi=lotsi;

for(cnt=1;cnt<=OpenOrders;cnt++)

{

if (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*3,3); }

else { mylotsi=NormalizeDouble(mylotsi*3,3); }

}

} else { mylotsi=lotsi; }

if (mylotsi>100) { mylotsi=100; }

OrderSend(Symbol(),OP_BUY,mylotsi,BuyPrice,slippage,sl,tp,NULL,0,0,Blue);

return(0);

}

}

//----

return(0);

}

//+------------------------------------------------------------------+