Aiuto per la codifica - pagina 538

 

Ho postato su FF e ora sul forum MQL, quindi sto tentando la mia fortuna qui.

Prima di iniziare, voglio dire che non sono assolutamente un codificatore, a malapena uno script kiddie. Sono riuscito a memorizzare il prezzo in tempo reale in excel con timestamp. C'è un modo per memorizzare solo quando il prezzo è in movimento? Perché excel continua a memorizzare ogni secondo, il che significa che ci saranno un sacco di spazi vuoti con timestamp.

Mentre lo faccio, c'è anche un modo per codificare in modo che quando passa ogni minuto, salta alla colonna successiva e memorizza da lì? Sto usando xlsapp per codificare. Ecco il codice:

//+------------------------------------------------------------------+

//| Test1.mq4 |

//| Copyright 2015, MetaQuotes Software Corp. |

//| / |

//+------------------------------------------------------------------+

#property copyright "Copyright 2015, MetaQuotes Software Corp."

#property link "https://www.mql5.com"

#proprietà versione "1.00"

#proprietà strict

#include

extern string StartBid= "C3

extern string StartAsk= "D3

extern string StartSpread="F3

extern string StartTime="A3";

bool xlsgateok=falso;

stringa StrBid;

stringa StrAsk;

stringa StrSpread;

stringa StrTime;

//+------------------------------------------------------------------+

//| Funzione di inizializzazione dell'esperto |

//+------------------------------------------------------------------+

int OnInit()

{

StrBid=StartBid;

StrAsk=StartAsk;

StrSpread=StartSpread;

StrTime=StartTime;

if (ExcelInit("mt4") && ExcelStart(""))

{

Print("XLSgate init done");

xlsgateok=true;

Print("Versione di Office = "+ExcelVersion());

ExcelSheetAdd("MT4");

}

//---

return(INIT_SUCCEED);

}

//+------------------------------------------------------------------+

//| Funzione di deinizializzazione esperto |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{

//---

}

//+------------------------------------------------------------------+

//| Funzione tick esperto |

//+------------------------------------------------------------------+

double lastBid=0;

double lastAsk=0;

int lastSpread=0;

datetime time=0;

void OnTick()

{

//---

if(xlsgateok && lastBid!=Bid)

ExcelSetValue(StrBid,Bid);

lastBid=Bid;

StrBid=ExcelRowAdd(StrBid,1);

if(xlsgateok && lastAsk!=Ask)

ExcelSetValue(StrAsk,Ask);

lastAsk=Ask;

StrAsk=ExcelRowAdd(StrAsk,1);

ExcelSetValue(StrSpread,(Ask-Bid)/Point);

StrSpread=ExcelRowAdd(StrSpread,1);

stringa s= TimeToStr(TimeCurrent());

ExcelSetString(StrTime,s);

StrTime=ExcelRowAdd(StrTime,1);

}

//+------------------------------------------------------------------+

 
mladen:
henrykfx Non saranno mai la stessa cosa semplicemente perché l'indicatore che hai postato sta ridipingendo. Non possono essere gli stessi

Miaden, per favore, che si ridipinga o no, fammi solo un favore e includi la notifica pop-up e l'avviso sonoro, e permettimi di soffrire o gioire per questo; dopo tutto il veleno di un uomo è la carne di un altro uomo, mentre la carne di un uomo è il veleno di un altro uomo. Se potete aiutare gli altri senza sforzo, non vedo perché il mio caso dovrebbe essere un tabù. per favore, fatelo per me, anche se è il vostro regalo di Natale, lo apprezzerò molto. Più ritardate, più mi negate il trading.

 
henrykfx:
Miaden, per favore, che si ridipinga o no, fammi solo un favore e includi la notifica pop-up e l'avviso sonoro, e permettimi di soffrire o gioire per questo; dopo tutto il veleno di un uomo è la carne di un altro uomo, mentre la carne di un uomo è il veleno di un altro uomo. Se potete aiutare gli altri senza sforzo, non vedo perché il mio caso dovrebbe essere un tabù. per favore, fatelo per me, anche se è il vostro regalo di Natale, lo apprezzerò molto. Più ritardi, più mi neghi il commercio.

Io non codifico avvisi per gli indicatori REPAINTING. Controlla, per esempio, questo thread: https: //www.mql5.com/en/forum/180648 e vedi quante volte mi sono rifiutato di farlo e quante volte ho detto che usare indicatori di riverniciatura in modalità di segnalazione/allarme è molto pericoloso. Quindi, tu non sei un'eccezione ma la tua richiesta è una regola generale per me: non voglio prendere parte ad una cosa che considero pericolosa per i trader

tutto il meglio

 

L'ultima richiesta!

A tutti i codificatori là fuori, ma con un ringraziamento speciale a mladen. Non solo per la sua codifica, ma anche per i suoi pazienti nelle molte, e talvolta stupide, richieste che ho fatto nel corso degli anni. Grazie collega....è davvero molto apprezzato.

Posso chiederti un'ultima cosa?

Potresti aggiungere una funzione di avviso wave alla linea di avviso LOWER sull'indicatore 'Advanced ADX' allegato?

Scelta dell'utente del suono Wav?

Per funzionare SOLO su una barra crescente.

Se tutto va bene, posterò il mio sistema con i risultati nel prossimo futuro.

 
Jeeves:
A tutti i codificatori là fuori, ma con un ringraziamento speciale a mladen. Non solo per la sua codifica, ma anche per i suoi pazienti nelle molte, e talvolta stupide, richieste che ho fatto nel corso degli anni. Grazie collega....è davvero molto apprezzato.

Posso chiederti un'ultima cosa?

Potreste aggiungere una funzione di avviso wave alla linea di avviso LOWER sull'indicatore 'Advanced ADX' allegato?

Scelta dell'utente del suono Wav?

Per funzionare SOLO su una barra crescente.

Se tutto va bene, posterò il mio sistema con il risultato nel prossimo futuro.

Jeeves

Sarà fatto

 

Tu sei l'uomo mio amico.....qualsiasi cosa io possa fare per te, fammi un PM.

 
mrtools:
Ciao Henrykfx, come ho detto prima l'indicatore CROSS è un indicatore EMA cross ridipinto, se vai al link che ho fornito e scarichi quell'indicatore e imposti il MaType a EMA e il periodo Ma veloce a 5 e il periodo Ma lento a 20 allora otterrai dei veri valori EMA cross senza ridipingere le frecce su una barra chiusa, e con avvisi.

Ok mrtools, grazie per il tuo interesse nella mia situazione. Ora ho ottenuto quello che volevo, ma il problema è che suona l'allarme e il pop up per la prossima barra. puoi aiutarmi a risolvere il bug, in modo che gli avvisi e le notifiche pop up saranno quando e dove c'è un segnale di acquisto o vendita, grazie per il tuo tempo.

 
mladen:
Non codifico avvisi per gli indicatori REPAINTING. Controlla, per esempio, questo thread: https: //www.mql5.com/en/forum/180648 e vedi quante volte mi sono rifiutato di farlo e quante volte ho detto che usare indicatori di riverniciatura in modalità di segnalazione/allarme è molto pericoloso. Quindi, tu non sei un'eccezione ma la tua richiesta è una regola per me: non voglio prendere parte ad una cosa che considero pericolosa per i trader tutto il meglio

Grazie per la tua risposta sincera. Nella mia ricerca incessante, ne ho trovato uno che è utile, ma suona avvisi e notifica all'apertura di una nuova barra. potete aiutarmi a risolvere il bug, in modo da avvisare e notificare quando c'è il segnale di COMPRA O VENDI solo. Grazie per il vostro tempo.

 
henrykfx:
Grazie per la tua risposta sincera. Nella mia incessante ricerca, ne ho trovato uno che è utile, ma suona avvisi e notifica all'apertura di una nuova barra. potete aiutarmi a risolvere il bug, in modo da avvisare e notificare solo quando c'è un segnale di ACQUISTO O VENDITA. Grazie per il vostro tempo.

henrykfx

Anche quell'indicatore usa valori futuri (repaints) - usa esattamente la stessa logica del precedente di cui parlavamo

tutto il meglio

 
mladen:
henrykfx

Anche quell'indicatore usa valori futuri (repaints) - usa esattamente la stessa logica del precedente di cui parlavamo

tutto il meglio

Mladen, l'altro giorno hai detto che il 99% degli indicatori non ridipinge. Ovunque scrivi "repaint, repaint, repaint".

Motivazione: