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

 
MakarFX:

L'ho firmato.

Makar, smettila di incasinare la testa di quell'uomo. Ha solo bisogno della variabile di livello globale e del prezzo corrente.

input int      Points = 30;
double LoU;

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(Bid-LoU >= Points*_Point)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"300",0);
     Print("---------------------КАЖДЫЙ ТИК ------Tick---------=     "    ,   Tick);
     LoU = Bid; // Здесь вместо Bid можно поставить любую цену
    }
  }

Così, ad ogni tick si controlla la differenza del prezzo corrente e il prezzo nella variabile LoU e se questa differenza è uguale o supera i 30 punti - la condizione è soddisfatta, la variabile LoU prenderà un nuovo valore e la differenza sarà controllata con un valore diverso.

 
ANDREY:

Ecco il tuo codice.

Ma per qualche motivo non apre nessun ordine.

Si sta aprendo per me. Controlla cosa dice il registro.


 

Buona giornata!


Sto creando un indicatore in una finestra separata. Voglio impostare l'altezza iniziale della finestra, per esempio 100

Abbiamo una funzione standard:

#property indicator_height  100
IndicatorSetInteger(INDICATOR_HEIGHT, 100)

Ma bloccano la modifica dell'altezza dell'utente, rimane sempre 100(((( E ho davvero bisogno di essere in grado di cambiarla manualmente dopo


Altre opzioni?). Finora, ho trovato un modoper simulare attraversoWinAPI, che si allunga la finestra con il mouse (e non sono sicuro di cosa posso fare)

 

Fate in modo che sia così:

IndicatorSetInteger(INDICATOR_HEIGHT, 100);
IndicatorSetInteger(INDICATOR_HEIGHT, 0);
 
alex_xss:

Buona giornata!


Basta cancellare

IndicatorSetInteger(INDICATOR_HEIGHT, 100)
 
C'è una sottigliezza qui. Prima si imposta la dimensione e poi si resetta a zero per rilasciare la fissazione, che non cambia la dimensione. Non c'è altro modo per aggirare questo problema.
 
Alexey Viktorov:

Makar, smettila di incasinare la testa di quell'uomo. La variabile di livello globale e il prezzo attuale sono sufficienti per lui.

Così, ad ogni tick verrà controllata la differenza del prezzo corrente e il prezzo nella variabile LoU e se questa differenza è uguale o superiore a 30 punti - la condizione è soddisfatta, la variabile LoU prenderà un nuovo valore e la differenza verrà controllata con un valore diverso.

Ti sbagli radicalmente.... Grazie a Makar, ho ampliato in modo significativo e soprattutto molto efficace i miei orizzonti nel forex. Se non fosse stato per lui non so quando avrei imparato tante cose utili per me. Vorrei che ci fossero più "manager" di questo tipo su questo forum. È stato lui, e non qualcun altro, a dirmi che la soluzione al mio problema è l'uso di EventSetTimer(60) Gli sono molto grato per il supporto informativo rapido e di alta qualità.

E quello che consigli, lo sapevo già da molto tempo e nel mio codice il tuo consiglio era presente fin dall'inizio.
 
Alexey Viktorov:

Makar, smettila di incasinare la testa di quell'uomo. La variabile di livello globale e il prezzo attuale sono sufficienti per lui.

Non leggete mai l'argomento prima e consigliate ciò che è già stato passato

 
MakarFX:

Non leggete mai l'argomento prima e consigliate ciò che è già stato fatto

Sono d'accordo con te al 100%.... senza offesa per Alexei.....

 
MakarFX:

Per me funziona. Controlla cosa dice il registro


2021.05.20 06:30:45.176 GBPUSD,M1: 52255 tick events (1440 bars, 53255 bar states) processed in 0:00:00.000 (total time 0:00:05.906)
2021.05.20 06:30:45.163 2010.01.04 00:00:00  ×ÈÑÒÛÉ inputs: Points=30; 
2021.05.20 06:30:45.145 TestGenerator: spread set to 2
2021.05.20 06:30:45.145 TestGenerator: no connect to trade server, default environment will be applied