Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 815

 
Igor Makanu:

dobbiamo parlare di questo esempio:

No, per niente, prima, in Ordersend() il valore era impostato dalla stessa variabile. Anche nella stampa era esattamente lo stesso.

 
Andrey Sokolov:

No, non solo, ma prima, in Ordersend() il valore era impostato dalla stessa variabile. Anche l'output di stampa era esattamente lo stesso.

Secondo me, Print() non sempre emette tutti i doppi in modo accurato, non so quale sia la ragione

Ma per il nostro punto - normalizzare StopLosses e TakeProfits prima di inviarli al server, è scritto nella guida, e penso che questo sia corretto.

 
Igor Makanu:

Penso che Print() non emetta sempre tutti i doppi in modo accurato, non so quale sia la ragione

ma al nostro punto - normalizzare gli stoploss e i takeprofits prima di inviarli al server, è scritto nell'aiuto, e penso che questo sia corretto.

Quella variabile proveniva da un'espressione normalizzata
 
Andrey Sokolov:
La variabile era dall'espressione normalizzata

Non lo vedo da qui)), normalizzare il valore in OrderSend () quando lo invia al server - non ci sono opzioni lì, il valore normalizzato sarà sicuramente inviato al server

 
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && 
         MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)


Questo è il MACD standard (come hai già capito)

Per favore dimmi cosa significa questa lineaMathAbs(MacdCurrent)>(MACDOpenLevel*Point) ?

Cosa sonoMathAbs e(MACDOpenLevel*Point)?

 
Maxim Kuznetsov:

ruotare il testo di 30-40 gradi. Allora le etichette rimarranno leggibili, ma si sovrapporranno meno spesso

aggiungere "moltiplicazione" - quando il puntatore del mouse è all'interno della sessione, evidenzia il prezzo in dimensione e colore

Prima il codice è molto lontano anche se trovato un piccolo giro di gradi, sì ora ho voluto fare uno spostamento orizzontale e verticale del prezzo e il codice evidenziato non funziona, perché non so?

objname = session + " Session Low label";

ObjectCreate(objname, OBJ_TEXT, 0, time2 - 1800, price1);

ObjectSet(objname, OBJPROP_BACK, false);

ObjectSet(objname, OBJPROP_XDISTANCE, 477);

ObjectSet(objname, OBJPROP_YDISTANCE, 91);

ObjectSetText(objname, DoubleToStr(price1, Digits), 9, "Tahoma", Lime);

ObjectSet(objname, OBJPROP_ANGLE,-41);

E cos'è la "moltiplicazione".
 
Ci parli brevemente degli algoritmi di lisciatura delle citazioni, cosa sono?
 

c'è una domanda, probabilmente non c'è una risposta: così, guarda, c'è una certa ideologia di scrivere espressioni, che si ripete continuamente, per esempio:

if(Tdk>Odk) flag=true; c'è l'espressione di segno esattamente opposto ma con la stessa ideologia if(Tdk<Odk) flag=true; in entrambi i casi si tratta dello stesso codice if(Tdk Odk) flag=true; cambia il segno > in questo <, sarebbe bello se potessimo salvare il segno nella variabile per condizione logica per esempio:

if(p==2) salva il segno >, if(p==1) salva il segno < e sostituiscilo tra i valori if(Tdk segno Odk) ed eventualmente non c'è bisogno di usare questa voce 2 volte, sarebbe molto comodo in espressioni lunghe con la stessa ideologia, potremmo mettere questa cosa in una funzione e ridurre la quantità di codice. È possibile una cosa del genere?

 
Seric29:

c'è una domanda, probabilmente non c'è una risposta: così, guarda, c'è una certa ideologia di scrivere espressioni, che si ripete continuamente, per esempio:

if(Tdk>Odk) flag=true; c'è l'espressione di segno esattamente opposto ma con la stessa ideologia if(Tdk<Odk) flag=true; in entrambi i casi si tratta dello stesso codice if(Tdk Odk) flag=true; cambia il segno > in questo <, sarebbe bello se potessimo salvare il segno nella variabile per condizione logica per esempio:

if(p==2) salva il segno >, if(p==1) salva il segno < e sostituiscilo tra i valori if(Tdk segno Odk) ed eventualmente non c'è bisogno di usare questa voce 2 volte, sarebbe molto comodo in espressioni lunghe con la stessa ideologia, potremmo mettere questa cosa in una funzione e ridurre la quantità di codice. È possibile una cosa del genere?

Sì.

Leggi il codice di @fxsaber.

Leggi di più qui

LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...
 
Seric29:

c'è una domanda, probabilmente non c'è una risposta: così, guarda, c'è una certa ideologia di scrivere espressioni, che si ripete continuamente, per esempio:

if(Tdk>Odk) flag=true; c'è l'espressione di segno esattamente opposto ma con la stessa ideologia if(Tdk<Odk) flag=true; in entrambi i casi si tratta dello stesso codice if(Tdk Odk) flag=true; cambia il segno > in questo <, sarebbe bello se potessimo salvare il segno nella variabile per condizione logica per esempio:

if(p==2) salva il segno >, if(p==1) salva il segno < e sostituiscilo tra i valori if(Tdk segno Odk) ed eventualmente non c'è bisogno di usare questa voce 2 volte, sarebbe molto comodo in espressioni lunghe con la stessa ideologia, potremmo mettere questa cosa in una funzione e ridurre la quantità di codice. È possibile una cosa del genere?

Bene, allora scriviti una funzione/template di confronto

if (Compare3(Tdk,Odk)==GREATER_THEN) { flag=true; do_something(); }