Come codificare? - pagina 189

 
Big Be:
Credo che si possa fare e credo di poterlo fare. La maggior parte dei compiti li ho già nel mio lungo EA. Non sarà economico perché do valore al mio tempo. Big Be

Big Be, potresti mandarmi un'email - h.stilyanov@abv.bg con la tua offerta.

Grazie

 
InTrance:
Dovrai farlo con una DLL.

Grazie per aver postato, InTrance.

Vuoi dire che è impossibile realizzarlo solo con l'EA e che devo usare un altro software?

Non conosco bene la connessione tra MT4 e altri software.

Se possibile, mi diresti cosa devo fare, per favore?

 

aiuto per iBarShift() / TimeCurrent()

Ciao a tutti,

Sto costruendo un indicatore che stampa london open / close / high /range e altre cose sul mio grafico.

Il problema che ho incontrato è il seguente, dal momento che abbiamo una nuova barra diciamo ogni 1 ora. Cercare di far sì che lo shift abbia il prezzo dell'open londinese è impossibile. Inoltre, ho provato la funzione iBarShift() ma non ci sono riuscito. So che dovrebbe esserci un modo per farlo (molto probabilmente una combinazione di iBarShift() e timeCurrent() ) ma non l'ho ancora capito. Qualche suggerimento?

Grazie

 
Dax:
Ciao.

Vorrei aprire una finestra popup di trading tramite EA.

E' possibile?

Se è possibile aprirla dall'EA, è possibile aprire una finestra di trading popup sulla quale il numero del volume scambiato (il numero di lotto) è impostato su un numero ordinato dall'EA?

Segna "Chiedi conferma manuale" in Strumenti->Opzioni->Expert Advisors e codifica OrderSend(...) nel tuo EA. Quando arriveranno le condizioni, vedrai la finestra di trading.

 
paradiseview:
Ciao a tutti,

Sto costruendo un indicatore che stampa london open / close / high /range e altre cose sul mio grafico.

Il problema che ho incontrato è il seguente, dato che abbiamo una nuova barra diciamo ogni 1 ora. Cercare di far sì che lo shift abbia il prezzo dell'open londinese è impossibile. Inoltre, ho provato la funzione iBarShift() ma non ci sono riuscito. So che dovrebbe esserci un modo per farlo (molto probabilmente una combinazione di iBarShift() e timeCurrent() ) ma non l'ho ancora capito. Qualche suggerimento?

Thx

Non capisco questa parte "Cercare di ottenere lo spostamento per avere il prezzo aperto di Londra è impossibile". Potresti descrivere meglio? Forse posso aiutarti.

 
Roger09:
Segna "Chiedi conferma manuale" in Strumenti->Opzioni->Expert Advisors e codifica OrderSend(...) nel tuo EA. Quando arrivano le condizioni, vedrai la finestra di trading.

Grazie, Roger09!

Una finestra di trading è apparsa bene.

Vorrei fare un'altra domanda.

Sto pianificando un'operazione di sculping.

Ho impostato EA e "chiedere conferma manuale" come mi hai mostrato.

Sto cercando di aprire una finestra di trading cliccando sul pulsante Expert Adviser non appena trovo una buona condizione di trading.

Ma l'Expert Adviser non risponde finché il mercato non si muove sul grafico dopo che ho cliccato il pulsante.

Cioè, la finestra di trading non si apre finché il mercato non avanza di un passo.

E' possibile risolvere questo problema?

 
fosgate_r:
Non capisco questa parte "Cercare di ottenere lo shift per avere il prezzo aperto di Londra è impossibile". Potresti descrivere meglio? Forse posso aiutarti.

Ciao Fosgate,

diciamo che siamo alle 12:00 e l'open di Londra è alle 08:00. Per ottenere il prezzo dell'open di Londra ci sono pochi modi per farlo:

int open1= iMA(NULL,PERIOD_H1,4,test1,MODE_SMA,PRICE_OPEN,0);

un altro modo per farlo è

double Open[4];

un altro modo anche:

iOpen(NULL,PERIOD_H1,4);

Tutti questi metodi mi darebbero il prezzo aperto di Londra. Ora il problema è che una volta che siamo alle 13:00, mi daranno il prezzo aperto alle 09:00 e non alle 08:00 (che è quello che voglio)

In altri termini, alle 13:00 lo shift dovrebbe passare a 5 invece che a 4.

Spero di essere stato chiaro

tc

 

Usate iBarShift per ottenere lo spostamento corretto e poi usate semplicemente iOpen. L'esempio nel file di aiuto mostra come ottenere la barra giusta...

datetime some_time=D'2004.03.21 12:00';

int shift=iBarShift("EUROUSD",PERIOD_M1,some_time);

Print("shift della barra con tempo aperto ",TimeToStr(some_time)," è ",shift);

Ho messo insieme questo per mostrarvi come fare...

string sDate = TimeToStr(TimeCurrent(), TIME_DATE);

datetime dtTenToday = StrToTime(sDate + " 10:00");

Print("Bar shift " + iBarShift(Symbol(), PERIOD_H1, dtTenToday) + " was the last 10:00 bar");

Lux

 
 
File:
1hfib2.mq4  5 kb
Motivazione: