Come codificare? - pagina 290

 

...

Non so se questo risolverà il tuo problema, ma dai un'occhiata a questo: https: //www.mql5.com/en/forum/general

Pava:
Come fare in modo che il mio computer mostri correttamente le parole in russo negli indicatori?...Grazie...
 

...

mladen:
Non so se questo risolverà il tuo problema, ma dai un'occhiata a questo: https: //www.mql5.com/en/forum/general

grazie...proverò

 

...

Questo è un esempio... Al mio Mac non piace:)

"

//

// VisualOrders.mq4

// Dmitry Yakovlev

// dmitry_yakovlev@rambler.ru

// ?? ???? WebMoney R865705290089

//------------------------------------------------------------------

#property copyright "Dmitry Yakovlev, Russia,Omsk, WM R865705290089"

#property link "dmitry_yakovlev@rambler.ru"

#proprietà indicator_chart_window

#importare "shell32.dll" //Collegare una dll (fornita con Windows)

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#importare "user32.dll"

int MessageBoxA(int hWnd,string lpText,string lpCaption,int uType);

#import

extern string _ModeProf="??????? 1-???????.,2-??????";

extern int ModeProf=2;

extern string _orders="?????????? ?????? ? ???????:";

extern string _Type = "0 ???,-1 Sell,1 Buy";

extern int Type = 0;

extern bool CurOrders=true;

extern int lblSize=1;

extern bool HistOrders=true;

extern bool ShowProfits=true;

extern int ShiftProfits=0;

extern bool lShowTargets=true;

extern string _donate1="? ???? :-) WebMoney";

extern string _donate2="R865705290089";

"

 

...

Queste sono lettere cirilliche, ecco perché non sono mostrate

Se hai problemi a vederle in metaeditor, fai così: nel menu di metaeditor strumenti->opzioni->font imposta lo script su cirillico. Sarete ancora in grado di vedere le normali lettere latine + vedrete anche il russo (come questo:

Per quanto riguarda la visualizzazione nella finestra del terminale, temo che la vedrete solo se avete installato Windows russo

Pava:
Questo è un esempio...Al mio Mac non piace!:)

"

//

// VisualOrders.mq4

// Dmitry Yakovlev

// dmitry_yakovlev@rambler.ru

// ?? ???? WebMoney R865705290089

//------------------------------------------------------------------

#property copyright "Dmitry Yakovlev, Russia,Omsk, WM R865705290089"

#property link "dmitry_yakovlev@rambler.ru"

#proprietà indicator_chart_window

#importare "shell32.dll" //Collegare una dll (fornita con Windows)

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#importare "user32.dll"

int MessageBoxA(int hWnd,string lpText,string lpCaption,int uType);

#import

extern string _ModeProf="??????? 1-???????.,2-??????";

extern int ModeProf=2;

extern string _orders="?????????? ?????? ?? ???????:";

extern string _Type = "0 ???,-1 Sell,1 Buy";

extern int Type = 0;

extern bool CurOrders=true;

extern int lblSize=1;

extern bool HistOrders=true;

extern bool ShowProfits=true;

extern int ShiftProfits=0;

extern bool lShowTargets=true;

extern string _donate1="? ???? :-) WebMoney";

extern string _donate2="R865705290089";

"
File:
editor.jpg  143 kb
 

...

"extern string _donate1="на пиво :-)"...grazie...ha funzionato

 

chiudere base MACD

Ciao... potete aiutarmi a modificare questa uscita da MACD cross 0. come al solito questo ea chiudere se tp = x o sl = x punto.

Ho provato ma è ancora troppo difficile per me ...

grazie mille... 1428maplus.mq4

File:
1428maplus.mq4  30 kb
 
mladen:
Aggiungi qualcosa del genere nel tuo EA all'inizio della procedura start():
if (TimeDayOfWeek(TimeCurrent())==5 && TimeCurrent()>=StrToTime("22:59")) { CloseAll(); return(0); }

Aggiungete questo nel codice:

[PHP]void CloseAll()

(Tutto il codice)

Questo risolverà i tuoi punti 2 e 3 (ordini aperti al venerdì)

Il primo punto è piuttosto complicato da codificare - probabilmente dovrai ridefinire quella regola

Grazie mille! Per l'ultima parte, un codice ascoltatore di tracce di eventi di qualche tipo potrebbe fare il trucco (solo scrivendo un altro suggerimento che ho letto)? Se ho capito bene, per aumentare il take profit di un trade quando l'altro si chiude, ci vorrebbero delle sottoparti di codice per farlo?

Quando due trade si aprono con questo EA comunque significa che ad un certo punto uno colpirà lo stop loss (a meno che non vadano nella stessa zona fino alla chiusura di tutti i trade ad un certo punto), se due trade sono aperti e uno chiude con un profitto negativo, l'altro trade aperto potrebbe rispondere al profitto negativo aumentando il take profit? A proposito, tutto questo sta accadendo su un solo simbolo finora.

Per dirla in modo più semplice, sarebbe possibile aumentare il take profit di un trade una volta che l'altro ha chiuso, indipendentemente dal suo profitto? Questo perché il modo in cui voglio che l'EA sia è che se due trade sono aperti e uno si chiude sarà comunque negativo.

Grazie ancora!

 
Ci sono un paio di problemi in questo:

- la ricerca nella lista degli ordini chiusi può portare a un'errata identificazione dell'ordine "correlato".

- a causa di ciò l'EA avrebbe bisogno di sapere quale "altro" ordine dovrebbe monitorare. Quindi ognuno degli ordini avrebbe bisogno di sapere in qualche modo l'ID dell'altro ordine (ticket). Ma questo, a causa della mancanza di un campo in cui noi (gli utenti) possiamo scrivere qualcosa che vogliamo usare come informazione, non è possibile. Il campo di commento può essere scritto solo al momento della creazione dell'ordine: non c'è modo di modificarlo una volta che l'ordine è aperto (solo il broker può farlo), quindi non abbiamo modo di aggiungere informazioni all'ordine stesso.

- Se non possiamo salvare alcune informazioni nell'ordine stesso, possiamo dimenticarci di alcuni tipi di modifiche. Per esempio: come si può dire dai campi disponibili di un ordine che è già stato modificato (il take profit). Non sto parlando di alcune "variabili globali" (che sono inutili nel caso in cui si usi il terminale anche su 2 cartelle diverse e tanto meno su 2 PC diversi) né di salvare alcuni stati nell'EA (cosa succede se smette di funzionare - un caso che accade molto più spesso di quanto si voglia ammettere).

Quindi, per quanto vedo con i vincoli di cui sopra, quel tipo di "comportamento" condizionato non è possibile fare senza una reale possibilità di un errore da qualche parte lungo il processo

madmax3:
Grazie mille! Per l'ultima parte, un codice ascoltatore di tracce di eventi di qualche tipo potrebbe fare il trucco (solo scrivendo un altro suggerimento che ho letto)? Se ho capito bene, per aumentare il take profit di un trade quando l'altro si chiude ci vorrebbero delle sottoparti di codice per farlo?

Quando due trade si aprono con questo EA comunque significa che ad un certo punto uno colpirà lo stop loss (a meno che non spaziano nella stessa area fino alla chiusura di tutti i trade in un certo momento), se due trade sono aperti e uno chiude con un profitto negativo, l'altro trade aperto potrebbe rispondere al profitto negativo aumentando il take profit? A proposito, tutto questo sta accadendo su un solo simbolo finora.

Per dirla in modo più semplice, sarebbe possibile aumentare il take profit di un trade una volta che l'altro ha chiuso, indipendentemente dal suo profitto? Questo perché il modo in cui voglio che l'EA sia è che se due trade sono aperti e uno si chiude sarà comunque negativo.

Grazie ancora!
 

Sembra un compito abbastanza difficile, che ne dici di fare così, quando un trade è aperto (può essere uno o due trade) il take profit viene modificato una volta che il prezzo colpisce un certo livello?

 

...

Perché non usare un trailing stop allora?

Voglio dire che farebbe quasi il 100% (quasi) di ciò che la tua idea originale è ed è molto, molto più facile da codificare

madmax3:
Sembra un compito abbastanza difficile, che ne dici di fare così, quando un'operazione è aperta (può essere una o due operazioni) il take profit viene modificato una volta che il prezzo colpisce un certo livello?