Ho bisogno di aiuto per creare un EA MOLTO semplice

 
Non ho mai creato un EA prima, ma ho un commercio che faccio che accade ogni 30 minuti. lo scambio sul gbpusd. quando la candela corrente 30min viola la candela precedente di un pip, entro per andare per 5 pips. può essere un acquisto o una vendita, dosnt importa. ho poche altre regole molto semplici per questo commercio, quindi ho bisogno di un EA che farà questo commercio per me. qualcuno può aiutarmi per favore!???
 
crazfoto:
Non ho mai creato un EA prima, ma ho un commercio che faccio che accade ogni 30 minuti. lo commercio sul gbpusd. quando l'attuale candela 30min viola la candela precedente di un pip, entro per andare per 5 pips. può essere un acquisto o una vendita, non importa. ho poche altre regole molto semplici per questo commercio, quindi ho bisogno di un EA che farà questo commercio per me. qualcuno può aiutarmi per favore!???

Potrei essere in grado di aiutare su questo se non è così complicato.

pls fornirmi maggiori informazioni

 
doshur:

Potrei essere in grado di aiutare su questo se non è così complicato.

pls fornirmi più informazioni

Ottimo. le uniche regole sono:


entrare quando la candela corrente viola l'alto o il basso della candela precedente di 30m di 1 pip (alto per comprare, basso per vendere)

scambiare solo una candela che è 20 pip o più grande.

lo stop è il minimo (o il massimo) della candela precedente di 30 minuti una volta attivato un ordine

se non c'è una violazione della candela o un ordine piazzato, allora aspetta che si formi la prossima candela di 30 minuti che sia di 20 pip o più grande


Io vado per 5 pip di profitto. Ho intenzione di provare un trailing stop su questo commercio questa settimana vedere se posso raccogliere alcuni pips più. ma 5 pips ogni mezz'ora non è male.


Fatemi sapere. grazie ancora

 

entrare quando la candela corrente viola il massimo o il minimo della candela precedente di 30m di 1 pip (alto per comprare, basso per vendere)

Capito questo punto


commerciare solo una candela che è 20 pip o più grande.

Vuoi dire che l'alto - basso della candela precedente dà 20 o più pip?


lo stop è il minimo (o massimo) della candela precedente di 30 minuti una volta che un ordine è attivato

Si prega di spiegare meglio


se non c'è una violazione della candela o un ordine piazzato, allora aspetta che si formi la prossima candela di 30 minuti che sia di 20 pips o più grande

Si prega di chiarire il punto 2


:)


Saluti

Doshur

 
doshur:

entrare quando la candela corrente viola il massimo o il minimo della candela precedente di 30m di 1 pip (alto per comprare, basso per vendere)

Capito questo punto


scambiare solo una candela che è 20 pip o più grande.

Vuoi dire che il massimo e il minimo della candela precedente danno 20 o più pip?


lo stop è il minimo (o il massimo) della candela precedente di 30 minuti una volta attivato un ordine

Si prega di spiegare di più


se non c'è una violazione della candela o un ordine piazzato, allora aspetta che si formi la prossima candela di 30 minuti che sia di 20 pip o più grande

Si prega di chiarire il punto 2


:)


Saluti

Doshur

Sì, la candela precedente deve essere di 20 pip o più grande per fare trading. in questo modo abbiamo un pannello di dimensioni decenti.


lo stop

esempio:

il massimo precedente è 1,7500

il minimo precedente è 1,7480

l'ordine di acquisto sarebbe 1,7001 tp 1,7506 st è 1,7480

o la vendita sarebbe 1,7479 tp 1,7474 st è 1,7500



ora, se abbiamo il nostro range e un ordine non viene mai piazzato, cioè il mercato non viola mai il massimo o il minimo per attivare un ordine. allora il precedente range di 30min viene deregardato e la nuova candela di 30min (che ora diventerebbe il nostro range precedente) diventerà i nuovi numeri da scambiare.


esempio:


il massimo precedente è 1,7550

il minimo precedente è 1,7500

la nuova candela di 30m rimane tra il nostro range e un ordine non viene mai attivato.


abbiamo una nuova candela di 30m e il range precedente è:

alto 1.7540

basso 1,7520


Quindi questo diventa il nostro nuovo range in cui fare trading e il range 1.7550 1.7500 viene ignorato.


Questo ha senso? Io faccio trading con ordini pendenti quando inizia la nuova candela di 30 minuti. quando uno degli ordini è attivato cancello l'altro ordine. quindi se l'acquisto è attivato cancello l'ordine pendente di vendita e viceversa. se figura con un robot non è necessario avere un ordine pendente.

 

Ora ho le idee chiare.

Inizierà a codificare in questi giorni. Lasciatemi digerire.

:)

 
doshur:

Ora ho le idee chiare.

Comincerà a codificare in questi giorni. Lasciatemi digerire.

:)

Mi chiedo se si potrebbe aggiungere qualcosa che raddoppi i lotti inseriti dopo un'operazione fallita solo per la prossima entrata dopo che un'operazione è fallita, aiuta a mantenere le perdite molto basse.


Non l'ho mai fatto prima, sono sempre andato per 5 pips.

 
crazfoto wrote >>

Mi chiedo se si potrebbe aggiungere qualcosa che raddoppia i lotti inseriti dopo un'operazione fallita solo per la prossima entrata dopo che un'operazione fallisce.

Non l'ho mai fatto prima, sono sempre andato per 5 pips.

Strategia interessante. Ho scritto il seguente codice da implementare. Il codice è pesantemente commentato quindi dovresti essere in grado di capirlo e modificarlo. Staregy non ha backtestato bene però.

//+------------------------------------------------------------------+
//| 30Min Strategy.mq4 ||
//| Copyright © 2008, Brendan Kelly ||
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, Brendan Kelly"
#proprietà link ""
extern string Order_Comment = "30Min Strategy";
extern double Lots = 0.1;
extern int TakeProfit = 5;

static bool ReadyToTradeThisBar = false;
int MagicNumber = 9999;

int start()
{

if (NewBar()) // Questo viene fatto all'inizio di ogni nuova barra
{
CloseAllOpenOrders(); //prima chiude qualsiasi operazione esistente rimasta dalla barra precedente
if(High[1] - Low[1]>= 20*Point) //se la barra precedente è lunga almeno 20
ReadyToTradeThisBar = true; //allora possiamo trattare questa barra
else //altrimenti
ReadyToTradeThisBar = false; //non possiamo trattare questa barra
}

//questo viene fatto ogni tick
if (ReadyToTradeThisBar == true) //se possiamo trattare questa barra
{
if (OrdersTotal() < 1) //e se non c'è nessuna operazione in corso
{
if(Ask > High[1] + 1*Point) //e se l'attuale prezzo ask è maggiore del massimo della barra precedente più 1
{ // allora piazzate un ordine di acquisto
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Low[1],Ask+ TakeProfit*Point,Order_Comment,MagicNumber,0,Blue);
ReadyToTradeThisBar = false; //impedisce ulteriori compravendite fino alla chiusura del trade corrente
}
if(Bid < Low[1] - 1*Point) //e se l'attuale prezzo richiesto è inferiore al minimo della barra precedente meno 1
{ // allora piazza un ordine di vendita
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,High[1],Bid- TakeProfit*Point,Order_Comment,MagicNumber,0,Red);
ReadyToTradeThisBar = false; //impedisce ulteriori compravendite fino alla chiusura dell'operazione corrente
}
}
}

return(0);
}//fine


//##########################Funzioni di supporto ##########################################

// Questa funzione restituisce il valore true se la barra/candela corrente è stata appena formata
bool NewBar()
{
static datetime PreviousBar;
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false); // nel caso in cui l'istruzione if - else non venga eseguita
}

//Chiude tutti gli ordini aperti e pendenti
int CloseAllOpenOrders()
{
int OrderCount = OrdersTotal();
int index = 0;
int TicketNumber = 0;
for(index=OrderCount-1;index>-1;index--)
{
OrderSelect(index,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==MagicNumber)
{

TicketNumber = OrderTicket();
if(OrderType() == OP_BUY || OrderType() == OP_SELL )
{
OrderClose(TicketNumber,Lots,Bid,3,Red);
}
}
}
return(0);
}

Saluti

Brendan

 
bello. sarei in grado di modificarlo per lavorare su una candela 2hr anche? <br / translate="no">
 
vedo perché questo non funziona. sta cancellando ogni ordine automaticamente ogni mezz'ora invece di lasciare che il mercato lo fermi o prenda profitto. vedo un sacco di ordini che avrebbero pagato ma il robot ha chiuso l'ordine. se questo può essere cambiato penso che i risultati saranno migliori
 

Grazie Brendan per il codice.

Devo ancora testare il codice, ma sembra che se si attiva l'EA, eseguirà un ordine immediatamente se tutte le regole sono soddisfatte anche se il prezzo corrente è come 10pip sopra la barra precedente già.