Pulsanti e campi di testo sul grafico mt4 ora possibili - pagina 6

 

Ciao,

Qualcuno qui è in grado di fornirmi i file per questo, per favore? Mi piacerebbe davvero essere in grado di utilizzare questo tipo di funzionalità, sono andato su fx1.net e non riesco a trovare nulla. Ho provato a cercare su Google ma non ho avuto fortuna nel trovare il download di tutti i file.

Se qualcuno fosse così gentile da fornire copie sarebbe molto apprezzato. la mia email è paul@lukafour3.com o semplicemente pm me

Cordiali saluti

Paul

 
fridaystreet:

Ciao,

Qualcuno qui è in grado di fornirmi i file per questo, per favore? Mi piacerebbe davvero essere in grado di utilizzare questo tipo di funzionalità, sono andato su fx1.net e non riesco a trovare nulla. Ho provato a cercare su Google ma non ho avuto fortuna nel trovare il download di tutti i file.

Se qualcuno fosse così gentile da fornire copie sarebbe molto apprezzato. la mia email è paul@lukafour3.com o semplicemente pm me

Cordiali saluti

Paul


In realtà, non capisco il vostro problema.

Ho ottenuto le mie copie visitando prima fx1.net che mi ha portato a questo sito:

https://www.mql5.com/go?link=http://taurus-traders.com/index.php/de/services/forex-download/viewdownload/6-plugins/246-mt4gui-toolbox-addon-for-metatrader

Ho preso le DLL da lì. Il pulsante "Download" è in fondo alla pagina, dopo il testo.

È tutto spiegato come usare le funzioni per creare pulsanti.

Ricorda solo i lati negativi e testa prima accuratamente il tuo programma su demo, per evitare spiacevoli sorprese

se avete intenzione di utilizzare questi pulsanti nel trading reale !!!

Inoltre, leggete questo thread dall'inizio alla fine!

E: avete cercato su Google "mt4gui.dll"? Provate, sarete sorpresi di quanto sia facile!

 

Ciao,

Ho scritto un semplice EA basato su MT4GUI, ma sfortunatamente MT4 va in crash quando provo a cambiare timeframe (per esempio da M1 a M5). Qualcun altro ha avuto questa esperienza o ha un'idea su come risolvere il problema?

Ho provato in molti modi ma finora non ho trovato una soluzione. Anche il più semplice EA con pulsanti va in crash quando si cambia timeframe. Ho sperimentato il problema sulle build 432 e 438.

Grazie

 
darksamu:

Ciao,

Ho scritto un semplice EA basato su MT4GUI, ma sfortunatamente MT4 va in crash quando provo a cambiare timeframe (per esempio da M1 a M5). Qualcun altro ha sperimentato questo o ha un'idea su come risolvere il problema?

Ho provato in molti modi ma finora non ho trovato una soluzione. Anche il più semplice EA con pulsanti va in crash quando si cambia timeframe. Ho sperimentato il problema sulle build 432 e 438.

Grazie

Sì, è così. Ho scritto di questo prima.

Non c'è niente che tu possa fare, è un problema di dll.

Basta aggirare il problema aprendo molti grafici, ognuno con diversi TF.

Oppure, io faccio anche così:

C'è un'altra situazione, quando le dll mandano in crash MT4, quando vuoi modificare gli esterni cliccando sullo smiley face.

Ecco perché ho creato il pulsante Defaults, che rimuove l'EA e lo apre di nuovo, facendo apparire la finestra di avvio dell'EA.

 

Ciao Dadas,

puoi inserire parte del tuo codice, per favore? Non so creare il menu "Seleziona la dimensione del lotto". Grazie.

 
endy5:

Ciao Dadas,

puoi inserire parte del tuo codice, per favore? Non so creare il menu "Seleziona la dimensione del lotto". Grazie.


int    hwnd = WindowHandle(Symbol(),Period());

string MinimumLot = DoubleToStr(MarketInfo(Symbol(),MODE_MINLOT),2);

int SelectLotSizeBox = tbPutObject(hwnd,"list",-130,213,60,9,"");
    tbAddListItem(hwnd,SelectLotSizeBox,MinimumLot);
    if(MinimumLot=="0.01"){
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.02");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.03");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.04");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.05");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.06");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.07");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.08");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.09");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.10");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.20");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.30");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.40");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.60");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.70");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.80");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.90");
    tbAddListItem(hwnd,SelectLotSizeBox ,"1.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"2.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");}
    if(MinimumLot=="0.10"){  
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.20");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.30");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.40");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.60");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.70");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.80");
    tbAddListItem(hwnd,SelectLotSizeBox ,"0.90");
    tbAddListItem(hwnd,SelectLotSizeBox ,"1.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"2.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");}
    if(MinimumLot=="1.00"){    
    tbAddListItem(hwnd,SelectLotSizeBox ,"2.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.00");
    tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");    
    }
    tbSetListSel(hwnd,SelectLotSizeBox ,0);
È così che faccio.
 
Buon pomeriggio.
mi dispiace per il mio inglese sono francese.
Non capisco molto bene come le liste.
potrebbe dirmi come recupera i suoi valori?

esempio .

    tbAddListItem(hwnd,SelectLotSizeBox ,"2.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"3.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"4.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"5.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"6.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"7.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"8.50");
    tbAddListItem(hwnd,SelectLotSizeBox ,"9.50"); 

tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");

cordialmente
 

Ciao Dadas,

grazie mille per aver inserito il tuo codice passato!!! Ho il mio codice :-)

Ma ho una domanda - come ottengo il valore (dimensione del lotto) dal menu di selezione (oggetto SelectLotSizeBox).

Ho trovato la funzione:string tbGetListSel(int hwnd, int object);

Codice:stringa size=tbGetListSel(hwnd, SelectLotSizeBox);

ritorna per select lotsize 0.01 valore zero,

per select lotsize 0.02 valore 1 ecc. Questo è il numero di serie di select item. Posso ottenere direttamente il valore lotsize (0.01; 0.02; ecc.)?

Grazie per l'aiuto.

 
phenix77:
Buon pomeriggio.
mi dispiace per il mio inglese sono francese.
Non capisco molto bene come le liste.
potrebbe dirmi come recupera i suoi valori?

esempio .

tbAddListItem(hwnd,SelectLotSizeBox ,"10.00");

Hai familiarità con questo?

  string tbVersion();         
  int tbPutObject(int,string,int,int,int,int,string); // hwnd,type,x,y,w,h,label     
  int tbSetBgColor(int,int,int); // hwnd,object,bgcolor  
  int tbSetTextColor(int,int,int); // hwnd,object,color  
  int tbRemove(int,int);
  int tbRemoveAll(int); // hwnd 
  int tbEnable(int,int,int); // hwnd, object, 0|1   
  bool tbIsClicked( int,int ); // hwnd,object  
  int tbSetText(int,int,string,int,string); // hwnd,object,text,fontsize,fontname     
  string tbGetText(int,int); // hwnd,object 
  int tbAddListItem(int,int,string); // hwnd,object,item  
  int tbGetListSel(int,int); // hwnd,object  
  int tbSetListSel(int,int,int); // hwnd,object,index 
Questo vi darà il valore:
Lot=StrToDouble(tbGetText(hwnd,SelectLotSizeBox));

Il testo nella select box è testo, quindi stringa - giusto?

E dovete rendere questa stringa doppia - giusto?

 
endy5:

Ciao Dadas,

Ho trovato la funzione:string tbGetListSel(int hwnd, int object);

Codice:stringa size=tbGetListSel(hwnd, SelectLotSizeBox);

ritorna per select lotsize 0.01 valore zero,

per select lotsize 0.02 valore 1 ecc. Questo è il numero di serie di select item. Posso ottenere direttamente il valore lotsize (0.01; 0.02; ecc.)?

Grazie per l'aiuto.

// It is:
string tbGetText(int,int); // hwnd,object 
// This one is int (integer):
int tbGetListSel(int,int); // hwnd,object  
// You are looking for:
double size = StrToDouble(tbGetText(hwnd,SelectLotSizeBox));
Motivazione: