Come codificare? - pagina 247

 

bisogno di aiuto per hide_breakeven

Ciao a tutti, ho trovato questo codice per un hide trailing stop e voglio fare un hide breakeaven, funziona, ma non chiude l'ordine. Voglio chiudere l'ordine se il BID scende dall'alto e attraversa il BE HLINE, e non chiudere se il BID attraversa il BE HLINE dal basso. Ho fatto molti esempi ma non funziona come voglio... per favore aiutatemi, ecco il codice per "buy":

void HideBreakEvenBuy(){

int totalorders = OrdersTotal();

for(int i=totalorders-1;i>=0;i--){

if (OrderSymbol()==OrderSymbol()){

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){

se (OrderType()==OP_BUY){

if (MarketInfo(OrderSymbol(),MODE_ASK)-OrderOpenPrice() >= breakeven*Point && ObjectGet("sl "+OrderTicket()+"b", OBJPROP_PRICE1) < OrderOpenPrice()){

ObjectCreate("BE "+OrderTicket()+"b", OBJ_HLINE, 0, 0, 0);

ObjectSet("BE "+OrderTicket()+"b", OBJPROP_PRICE1, OrderOpenPrice()+BE*Point);

ObjectSet("BE "+OrderTicket()+"b", OBJPROP_COLOR, Red);

ObjectSet("BE "+OrderTicket()+"b", OBJPROP_STYLE, 3);

}

if (MarketInfo(OrderSymbol(),MODE_ASK) -ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1)

>= breakeven*Point && ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1)

>= OrderOpenPrice() && ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1) <MarketInfo(OrderSymbol(),MODE_ASK)){

//ObjectSet("BE "+OrderTicket()+"b", OBJPROP_PRICE1, MarketInfo(OrderSymbol(),MODE_ASK) -TrailingStop*Point);

if (OrderType() == OP_BUY && MarketInfo(OrderSymbol(),MODE_ASK) >= ObjectGet("BE "+OrderTicket()+"b", OBJPROP_PRICE1)) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),MODE_BID), SlippageClose, Silver);

}

}

}

}

}

}

cordiali saluti go_rich

 

Come aggiungere un trailing Stop a un Expert Advisor esistente

Come posso aggiungere un trailing Stop a un esperto che è già fatto? Questo esperto può essere modificato. Grazie per qualsiasi aiuto

 

2 indicatori in uno

Ciao a tutti, da qualche mese uso la strategia che si basa su 2 indicatori e mi porta un buon profitto (io uso e fondamentale con esso), sto cercando qualcuno che può collegare questi indicatori in uno per più convenienza! Se qualcuno è interessato si prega di scrivere in privato, grazie

 
vladokvr:
Ciao a tutti, da qualche mese uso la strategia che si basa su 2 indicatori e mi porta un buon profitto (io uso e fondamentale con esso), sto cercando qualcuno che può collegare questi indicatori in uno per più convenienza! Se qualcuno è interessato si prega di scrivere in privato, grazie

qualcuno mi aiuterà, o prenderà un esempio di come fare un indicatore di due, penso che sarà interessante per molti commercianti!

 

Calcolo delle barre precedenti/Congelamento del tester

Salve, mi chiedevo se qualcuno potesse aiutarmi con una rapida correzione del codice EA.

Ho bisogno che il mio EA prenda il prezzo più basso negli ultimi 60 giorni e lo sottragga dal prezzo più alto nello stesso periodo. Una volta fatta la differenza, vorrei che il risultato fosse moltiplicato per 1000 in modo da ottenere l'intervallo desiderato per i miei calcoli.

Per esempio, se il prezzo più alto per EURUSD negli ultimi 60 giorni fosse 1,30000, e il prezzo più basso fosse 1,20000, la differenza sarebbe 0,1 (o 1000 pips). Dovrei quindi moltiplicare questo 0,1 per 1000 per ottenere il mio range desiderato di 100. (Fondamentalmente per ogni intervallo di trading di 1000 pip, ho bisogno di un valore di 100 per i miei calcoli).

Se la differenza fosse di 1250 pip, il valore di cui ho bisogno sarebbe 125.

Comunque, questo è il codice che ho usato:

double highval = High;

double lowval = Low;

int DesiredRange = NormalizeDouble(highval - lowval,3)*1000;

Per qualche motivo, nel tester della strategia, funziona bene per un breve periodo. Tuttavia, in certe date, il tester si ferma e non continua a fare trading. Si blocca senza fermarsi e bisogna fermare manualmente il programma e cambiare la data di inizio al giorno successivo per poter continuare.

C'è qualcosa di sbagliato nel mio codice? Se tolgo il codice di cui sopra, funziona bene con un DesiredRange costante. All'inizio ho pensato che potesse essere a causa dell'arrotondamento, ma sembra arrotondare correttamente.

PER FAVORE AIUTATEMI! Grazie in anticipo!

 

Perché non usi il timeframe mensile e ottieni il massimo e il minimo dei 2 mesi precedenti. 2 mesi equivalgono a 60 giorni.

Ottenere il valore più alto in questo caso è confrontare solo il massimo della candela attuale e il massimo della candela precedente. Lo stesso per il minimo.

jamesmean:
Salve, mi chiedevo se qualcuno potesse aiutarmi con una rapida correzione del codice EA.

Ho bisogno che il mio EA prenda il prezzo più basso negli ultimi 60 giorni e lo sottragga dal prezzo più alto nello stesso periodo. Una volta fatta la differenza, vorrei che il risultato fosse moltiplicato per 1000 in modo da ottenere l'intervallo desiderato per i miei calcoli.

Per esempio, se il prezzo più alto per EURUSD negli ultimi 60 giorni fosse 1,30000, e il prezzo più basso fosse 1,20000, la differenza sarebbe 0,1 (o 1000 pips). Dovrei quindi moltiplicare questo 0,1 per 1000 per ottenere il mio range desiderato di 100. (Fondamentalmente per ogni intervallo di trading di 1000 pip, ho bisogno di un valore di 100 per i miei calcoli).

Se la differenza fosse di 1250 pip, il valore di cui ho bisogno sarebbe 125.

Comunque, questo è il codice che ho usato:

double highval = High;

double lowval = Low;

int DesiredRange = NormalizeDouble(highval - lowval,3)*1000;

Per qualche motivo, nel tester della strategia, funziona bene per un breve periodo. Tuttavia, in certe date, il tester va in pausa e non continua il trading. Si blocca senza fermarsi e bisogna fermare manualmente il programma e cambiare la data di inizio al giorno successivo per poter continuare.

C'è qualcosa di sbagliato nel mio codice? Se tolgo il codice di cui sopra, funziona bene con un DesiredRange costante. All'inizio ho pensato che potesse essere a causa dell'arrotondamento, ma sembra arrotondare correttamente.

PER FAVORE AIUTATEMI! Grazie in anticipo!
 

Questo non è un compito facile.

vladokvr:
qualcuno mi aiuterà, o prenderà un esempio di come fare un indicatore di due, penso che sarà interessante per molti commercianti!
 

Controlla le tue barre

jamesmean:
Ciao, mi chiedevo se qualcuno potesse aiutarmi con una rapida correzione del codice EA.

Ho bisogno che il mio EA prenda il prezzo più basso negli ultimi 60 giorni e lo sottragga dal prezzo più alto nello stesso periodo.

......

Comunque, questo è il codice che ho usato:

double highval = High;

double lowval = Low;

int DesiredRange = NormalizeDouble(highval - lowval,3)*1000;

C'è qualcosa di sbagliato nel mio codice? Se tolgo il codice sopra, funziona bene con una costante DesiredRange. All'inizio ho pensato che potesse essere a causa dell'arrotondamento, ma sembra arrotondare correttamente.

PER FAVORE AIUTATEMI! Grazie in anticipo!

Ciao James,

Modifica - ho cancellato il mio suggerimento. Non è il codice giusto (era per iCustom's, non iHighest, iLowest). Sto ancora imparando.

---

Puoi prendere in considerazione anche il suggerimento di Codersguru usando il periodo del mese in quanto potrebbe darti una media più accurata.

Spero che questo aiuti,

Robert

 

Indicatore, il prezzo rompe l'ultimo frattale

Come determinare (tramite codice) se il prezzo ha rotto l'ultimo frattale in alto o in basso.

Ho provato qualcosa con ifrattali in mql ma senza successo. Vorrei identificare l'ultimo frattale al ribasso nel mio codice.

Voglio selezionare la barra con la freccia in alto nel grafico allegato tramite codice, ma non ho idea di come fare. Qualsiasi aiuto è apprezzato.

TIA !

File:
chrt1.gif  23 kb
 

Lasciando perdere la domanda sul frattale, ho trovato una soluzione. Il problema è che per determinare il frattale si deve andare indietro nel tempo con un "ciclo for" che IMO risulta in un sacco di overhead. Ma non sono un programmatore quindi probabilmente ci sono soluzioni migliori.

THNX

Motivazione: