Aiuto per la codifica - pagina 20

 

uscita base MACD

Signor guru, può aiutarmi a fare questa base di chiusura EA su MACD cross 0.

Ho modificato ma troppo difficile per me ... grazie mille

File:
1428maplus.mq4  30 kb
 

Cerco aiuto per scrivere un pezzo di codice senza copertura

Ciao,

Spero di ricevere un po' di aiuto con una fetta di codice. Ho un sistema di supporto e resistenza e sto cercando di modificare l'ea per includere l'opzione di copertura. (Dato che vivo negli Stati Uniti e sono con un broker no-hedge).

So che quando il mio EA viene attivato e ho un ordine aperto, l'ordine pendente opposto viene automaticamente cancellato. Il problema è che non posso eseguire correttamente il backtest e mettere a punto il sistema perché lo Strategy Tester non ha opzioni hedge/no hedge.

Quindi, sto cercando di modificare il codice per includere questa opzione. Ovviamente ho bisogno di inserire un bool e impostarlo su false (cosa che ho fatto), ma non sono sicuro di dove andare da lì.

L'EA è un tipico EA di supporto/resistenza. Mette ordini pendenti a distanza x dal supporto o dalla resistenza. Usando un esempio, se il mercato è in una tendenza al ribasso e colpisce il mio ordine pendente di vendita e lo trasforma in un ordine a mercato, e poi la tendenza si inverte, ho bisogno di cancellare gli ordini pendenti di acquisto (o non permettere gli ordini pendenti di acquisto) fino a quando l'ordine di vendita è chiuso.

L'EA cancella anche gli ordini pendenti su un timer di scadenza e alla fine delle ore di trading inserite. Non ero sicuro di poter modificare parte del codice per fare quello che sto pensando.

Ecco il codice dell'EA che cancella gli ordini in sospeso. C'è un modo per modificare questo per fare ciò che sto cercando di fare, o se no, qualcuno può indicarmi la giusta direzione?

void deletebuypending(int magic)

{

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

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() &&

OrderMagicNumber()==magic &&

OrderType()==OP_BUYSTOP)

{

OrderDelete(OrderTicket());

}

}

}

void deletesellpending(int magic)

{

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

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() &&

OrderMagicNumber()==magic &&

OrderType()==OP_SELLSTOP)

{

OrderDelete(OrderTicket());

}

}

}

Qualsiasi aiuto o indicazione nella giusta direzione è apprezzato.

 

Grazie per aver cercato di assistermi (spostando di nuovo il mio thread senza commenti). Ho letto questo thread, ma non ho visto nulla di pertinente a ciò che stavo chiedendo. Ho iniziato a provare a scrivere il codice da solo.

Penso di essere più o meno sulla strada giusta. Ho scritto questo pezzo di codice, ma quello che succede è che gli ordini di vendita pendenti ( ordini di stop alla vendita) vengono cancellati non appena vengono piazzati, che ci sia un ordine di acquisto attivo o meno.

Spero ancora che qualcuno possa assistermi.

if (hedge==false)

{

int total = OrdersTotal();

for(m=total-1;m>=0;m--)

{

OrderSelect(m, SELECT_BY_POS);

int type=OrderType();

int type1=OP_BUY;

int type2=OP_BUYSTOP;

int type3=OP_SELL;

int type4=OP_SELLSTOP;

if(type==type2 && type1>0)

{

OrderDelete(OrderTicket());

}

if(type==type4 && type3>0)

{

OrderDelete(OrderTicket());

}

}

}

 

Ciao Gregwendland,

Immagino che tu possa dire che questo è il mio commento tardivo, cerchiamo di mantenere le cose un po' organizzate nel forum, e sembra che tu abbia bisogno di aiuto per la codifica, quindi è lì che ti ho spostato, la sezione di aiuto per la codifica, la ragione per cui non ho commentato era pensare dove ti ho spostato avrebbe parlato da solo e non potevo offrire alcun aiuto alla tua domanda sulla codifica, comunque spero che tu trovi qualcuno che ti aiuti.

 

Grazie, MrTools.

Lo apprezzo molto. Ho capito cosa stavi facendo spostando il mio thread. Solo che non ho trovato risposte nei post precedenti. Ci sto ancora lavorando. Penso di avercela fatta. Sembra che permetta un ordine attivo e cancelli l'ordine pendente opposto. Così come la commutazione tra i due.

if (hedge==false)

{

int total = OrdersTotal();

for(m=total-1;m>=0;m--)

{

OrderSelect(m, SELECT_BY_POS);

if(OrderType()==OP_BUY)

{

deletesellpending(magic);

}

if(OrderType()==OP_SELL)

{

deletebuypending(magic);

}

}

}

[/PHP]

Now, it sort of brings up another question. The EA places objects and connecting lines to show where an order was opened and closed. With setting up the deletepending this way, My chart actually gets filled with continuous Sell/Buy Stop indicators immediately followed by closing/deleted indicators. This continues until there is no longer an open position.

So, what I'd like to try now is to figure out if I can put in a check at the ordering function to stop a pending order from even being placed. This will create a cleaner chart screen for me.

I know I figured that one out on my own, but I'm still looking for help since I am not very good with programming languages.

This is the Order Function:

[PHP]

if((count(OP_BUYSTOP,magic)+count(OP_BUY,magic))<maxtrades && buy && tpb<tradesperbar && IsTradeAllowed())

{

// -- Taken out coding to shorten post

ticket=OrderSend(Symbol(),OP_BUYSTOP,ilots,resistance+distance*pt,slippage*mt,sl,tp,comment+"Bid: "+DoubleToStr(Bid,5),magic,expire,Blue);

if(ticket<=0)

{

Print("Error Occured : "+errordescription(GetLastError()));

}

else

{

tps++;

Print("Order opened : "+Symbol()+" Buy @ "+Ask+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);

}

}

if((count(OP_SELLSTOP,magic)+count(OP_SELL,magic))<maxtrades && sell && tpb<tradesperbar && IsTradeAllowed())

{

// -- Taken out coding to shorten post

ticket=OrderSend(Symbol(),OP_SELLSTOP,ilots,support-distance*pt,slippage*mt,sl,tp,comment+"Ask: "+DoubleToStr(Ask,5),magic,expire,Red);

if(ticket<=0)

{

Print("Error Occured : "+errordescription(GetLastError()));

}

else

{

tpb++;

Print("Order opened : "+Symbol()+" Sell @ "+Bid+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);

}

}

Stavo pensando di inserire qualcosa come && OP_SELL==false (o OP_BUY==false nella sezione dell'ordine di vendita ). È l'idea giusta?

 

Bar Counter per MT4 - IndicatoreCounter

Ciao a tutti.

Questo è il mio primo post.

Ho bisogno di aiuto da chiunque sia in grado di farlo.

Ho sviluppato il mio primo EA per MT4 usando un generatore di codice e modificandolo dopo la compilazione e sto cercando di:

1. Dopo l'entrata, uscire dal trade dopo es. 15 barre.

2. Il numero di barre per uscire è modificabile nella sezione "extern int".

L'EA fa trading sui parametri RSI specificati e attualmente esce su TP, SL e TS (trailing stop).

Vorrei anche uscire per esempio quando sono passate 10 o 15 barre.

Ho provato come un pazzo ma non riesco a farlo funzionare.

Apprezzo molto se qualcuno può aiutarmi per favore.

Ho allegato l'EA per chiunque voglia dare un'occhiata.

Grazie e cordiali saluti

cj

 
freefreecj:
Ciao a tutti.

Questo è il mio primo post.

Ho bisogno di aiuto da chiunque sia in grado di farlo.

Ho sviluppato il mio primo EA MT4 utilizzando un generatore di codice e modificandolo dopo la compilazione e sto cercando di:

1. Dopo l'entrata, uscire dal trade dopo es. 15 barre.

2. Il numero di barre per uscire è modificabile nella sezione "extern int".

L'EA fa trading sui parametri RSI specificati e attualmente esce su TP, SL e TS (trailing stop).

Vorrei anche uscire per esempio quando sono passate 10 o 15 barre.

Ho provato come un pazzo ma non riesco a farlo funzionare.

Apprezzo molto se qualcuno può aiutarmi per favore.

Ho allegato l'EA per chiunque voglia dare un'occhiata.

Saluti e cordiali saluti

cj

Ciao Cj,

Ti ho spostato qui, spero che troverai una soluzione qui in questo thread o qualcuno passerà ad aiutarti.

 

Grazie MrTools

Grazie MrTools

 

Ciao a tutti,

Ho bisogno di un indicatore che possa dare un allarme sonoro e di cassa per

a) Comprare quando il basso incrocia sopra il 34 EMA dei massimi verso l'alto

b) Vendere quando l'alto incrocia il 34 EMA del basso verso il basso

Qualcuno può aiutarmi per favore?

Qualsiasi tipo di aiuto sarà apprezzato.

Grazie in anticipo

saluti

Sahilsri

 

...

Mladen... perché Squize MA non mostra le bande dove c'è la freccia... a quanto ho capito deve mostrare le bande quando le MA arrivano entro una certa distanza l'una dall'altra?

File:
a.tpl  2 kb
a_2.jpg  161 kb
Motivazione: