Chiedete! - pagina 90

 

Aiuto con i commenti in ordersend per favore

Ho bisogno di aiuto per favore ho un EA che ha 4 diversi criteri di ingresso e vorrei essere in grado di avere un commento in ordersend per farmi sapere quale criterio di ingresso è stato soddisfatto per qualsiasi posizione particolare. ho cercato di ottenere questo per funzionare, ma tutto quello che sembra essere in grado di fare è avere una lista cioè long1, long2, long3 ecc So che ho bisogno di fare qualcosa di diverso da quello che sto facendo attualmente ma non riesco a pensare a cosa potrebbe essere. Ho allegato una versione dell'EA che sto usando per sperimentare. quindi qualsiasi aiuto per risolvere questo sarebbe fantastico. Di seguito è riportato ciò che sto vedendo attualmente.

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Errore nell'aprire un ordine BUY: valore del parametro della funzione non valido

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale Long4 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale Long3 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale long2 ricevuto

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale long1 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale short4 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Preso segnale short3

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Preso segnale short2

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Preso segnale short1

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: importo lotti non valido per funzione OrderSend

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: segnale Long4 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale Long3 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale long2 ricevuto

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale long1 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale short4 preso

2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Segnale short3 preso

Saluti

Beno

File:
 
stevex33:
Ciao ragazzi,

Ho una domanda.

Mi piacerebbe imparare a scrivere i miei indicatori, ma non ho proprio idea da dove dovrei iniziare.

Ho un'idea in testa e le basi di come dovrebbe funzionare, ma ho bisogno di un piccolo aiuto.

Vorrei creare un indicatore che mostri la media dei massimi che una valuta muove dall'apertura ogni giorno, lo stesso per il minimo e lo stesso per la chiusura.

Quindi sarebbero tutti la distanza dall'apertura del giorno in termini di pip.

Mi piacerebbe che l'utente fosse in grado di specificare su quanti giorni vuole calcolare la media.

Quindi sarebbe qualcosa come delle linee disegnate nella barra dei giorni correnti per rappresentare la media alta, bassa e vicina della valuta in x giorni, e dovrebbe mantenere le linee disegnate sul grafico.

Ho provato a usare l'indicatore della media mobile come linea di base da cui partire, ma sembra tutto piuttosto confuso. Qualcuno può semplificare per me, spiegandomi cosa dovrei aggiungere/eliminare e dove, per favore?

saluti

steve

Inizia dall'inizio, cioè: impara MQL4. Scarica gli e-book di CodersGuru, stampali se sei come me - non sei bravo a leggere qualcosa dallo schermo, poi leggili.

Leggili di nuovo se non capisci la prima volta.

Fate la pratica.

Se ancora non capisci, controlla quanti più EA possibile, vedi se c'è qualche similitudine con il tuo. Cerca la spiegazione di ogni linea nel libro di CodersGuru, poi prova a scrivere il tuo.

Potresti impiegare un po' di tempo per scrivere il tuo EA di base, ma una volta che l'hai fatto, affinarlo è una questione di provare e continuare a provare.

Buona fortuna.

 

cosa c'è di sbagliato in questi?

Ciao, ragazzi

Il mio EA all'inizio basa la sua presa di profitto dal trailing-stop. Poi aggiungo alcuni punti fibo e comincio il trailing dopo che l'ultimo punto fibo è stato raggiunto. Ma lo strategy-tester non funziona con l'ultimo sviluppo. Per favore aiutatemi a trovare il mio errore nel seguente programma.

Grazie.

void CheckForTrailing()

{

doppio massimo = Alto;

doppio minimo = Basso;

double p1u = NormalizeDouble((OrderOpenPrice()-lowest)*0.618,4);

double tpb1 = p1u*10000;

double p1d = NormalizeDouble((highest-OrderOpenPrice())*0.618,4);

double tps1 = p1d*10000;

double p2u = NormalizeDouble((OrderOpenPrice()-lowest)*1,4);

double tpb2 = p2u*10000;

double p2d = NormalizeDouble((highest-OrderOpenPrice())*1,4);

double tps2 = p2d*10000;

double p3u = NormalizeDouble((OrderOpenPrice()-lowest)*1.618,4);

double tpb3 = p3u*10000;

double p3d = NormalizeDouble((highest-OrderOpenPrice())*1.618,4);

double tps3 = p3d*10000;

double p4u = NormalizeDouble((OrderOpenPrice()-lowest)*2.382,4);

double tpb4 = p4u*10000;

double p4d = NormalizeDouble((highest-OrderOpenPrice())*2.382,4);

double tps4 = p4d*10000;

double p5u = NormalizeDouble((OrderOpenPrice()-lowest)*3.236,4);

double tpb5 = p5u*10000;

double p5d = NormalizeDouble((highest-OrderOpenPrice())*3.236,4);

double tps5 = p5d*10000;

for(int i=0; i<OrdiniTotali(); i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso)

interrompere;

if(OrderMagicNumber()!=magico || OrderSymbol()!=Symbol())

continuare;

if(OrderType()<=OP_SELL)

{

if(OrderType()==OP_BUY && Bid>OrderOpenPrice())

{

if((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice())

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb1))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb2))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb3))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb4))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE);

return(0);

}

if((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE);

return(0);

}

}

else if(OrderType()==OP_SELL && Ask<OrderOpenPrice())

{

if((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice())

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps1))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps3) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps2))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps3))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE);

return(0);

}

if((Ask<=OrderOpenPrice()-Point*tps5) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps4))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE);

return(0);

}

if((AskAsk))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE);

return(0);

}

}

}

}

}
 

Come si impedisce che questo accada????

Il MACDI sul grafico a 4 ore è positivo, ma se lo uso come indicatore ottengo una vendita perché il MACDI su 1-Min può diventare negativo per un breve periodo di tempo, ma non si riflette sul grafico a 4 ore. Come faccio a codificare questo in modo che il mio programma riceva la media oraria e non i risultati 1-Min.

Dave

 
 

Quale basso?

Credo che tu abbia dimenticato quale minimo usi come currentlow. Vedi, non posso immaginare se intendi il minimo della barra corrente. Se intendi quello che penso tu intenda, prova ad usare iLowest[]. Vedi nel dizionario di Metaeditor.

 

punto mancato

Scusa, non ho visto che hai messo currentlow = 1000;. Ma il suggerimento rimane. Vedi, currentlow = 1000; 1000 cosa? 1.0000 come in GBP/USD? 1000 punto, da dove? Quindi, sempre lo stesso, usa iLowest[] per currentlow. Penso che funzionerebbe bene.

 

iLowest

Ciao Sendra,

Grazie per la tua pronta risposta.

Quello che sto cercando di ottenere non è basato su un massimo o un minimo di qualsiasi timeframe, ma sul punto più basso prima di un ritracciamento Ret1 (75 pip). Mi sto concentrando su EUR/USD per iniziare.

CurrentLow dovrebbe tracciare il punto più basso prima del ritracciamento.

Il seguente è un esempio di ciò che sto cercando di ottenere.

a) Diciamo che apriamo l'EA e il prezzo è 1.4000 e oscilla tra 1.4030 e 1.3970 prima di andare a 1.4045. Vorrei che CurrentLow fosse 1.3970 (punto più basso) e che piazzassi il primo ordine di vendita a 1.4045 (Entry1) con uno SL di 1.4195 (SL1 =150 pips) e un Take Profit (TPA = 75 pips) di 1.3970.

b) se il prezzo continua a salire fino a 1.4120 (Entry2), vorrei un 2° ordine di vendita piazzato con take profit (TPB =76 pips) di 1.4044 e SL di 1.4195 (lo stesso del primo ordine).

Il mio EA sembra funzionare per il primo ordine ma non sembra arrivare al secondo ordine. Sono stato in grado di fargli piazzare il secondo ordine ma il prezzo era lo stesso del primo ordine e lo SL era incasinato.

Il mio obiettivo a lungo termine è quello di fargli decidere se deve essere un acquisto o una vendita in base agli indicatori di tendenza a lungo termine e, naturalmente, avere un acquisto impostato come questo set up di vendita come mostrato qui. Non ho idea se sarà redditizio, ma sto cercando di imparare e sicuramente farò un milione di modifiche prima che sia completato. Sono giunto alla conclusione che per scoprire se una strategia funziona, deve essere automatizzata e togliere l'errore umano dal processo decisionale. Ovviamente, i fondamentali devono essere esaminati, ma questo verrà dopo... forse.

Qualsiasi aiuto da Sendra o da chiunque altro sarà molto apprezzato.

Grazie

Putz

 

i Lowest e CurrentLow

Ciao Sendra,

Per rispondere alla tua domanda su CurrentLow, gli ho dato un valore di 1000 perché sarà sempre più grande di qualsiasi prezzo E/U. Questo per essere sicuro che prenda il primo prezzo EU quando si apre. Se lo impostassi a 0, il prezzo non sarebbe mai più basso e quindi non avrebbe mai luogo alcun trade.

Non ho mai visto iLowest ma lo controllerò per vedere se potrebbe funzionare per me.

Grazie

Putz

 

Codice - Commercio una volta al giorno

Qualcuno può aiutarmi con uno script o un'ea che forza solo 1 trade al giorno?

Grazie un sacco

Motivazione: