Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 285

 
SpikeOne:

Saluti ai professionisti della programmazione!

Ho una grande idea, c'è un tale Expert Advisor https://www.mql5.com/ru/code/11030 controllato e testato l'idea di lavorare di notte su di esso.

L'idea è questa: avvio il mio Expert Advisor a mezzanotte a Mosca e dopo aver raggiunto le 3-4 del mattino, devo aspettare che gli ordini si chiudano con un certo take profit, dopo aver raggiunto il take profit, lo disabilito, e il giorno dopo lo avvio di nuovo a mezzanotte.

È possibile implementare questo? Se sì, allora per favore ditemi in quale punto del codice è possibile inserire il controllo delle condizioni di tempo (per esempio, le 3 del mattino) e il controllo se il take profit è chiuso.

Il risultato dovrebbe essere che l'Expert Advisor chiude la mattina con profitto.

Prima di tutto, decidi: cosa farai se non c'è profitto al mattino?! (A meno che, naturalmente, non sia "quando c'è il profitto, c'è il mattino")... :)))))))
 
TarasBY:
Prima di tutto, decidi: cosa farai se non c'è profitto al mattino?! (A meno che, naturalmente, non sia "quando i profitti sono lì al mattino")... :)))))))

Ti ho detto che l'ho testato, c'è comunque un profitto. Le mie impostazioni non sono standard. Dovrebbe essere così che raggiunge le 3 del mattino, aspetta il take profit e spegne l'EA.
 
SpikeOne:

Ho già scritto che l'ho testato, c'è comunque un profitto. Le mie impostazioni non sono standard. E dovrebbe essere così che raggiunge le 3 del mattino, aspetta il take profit e spegne l'Expert Advisor.

In termini di logica di programmazione, questo è assurdo.

C'è la possibilità di un tale risultato. Pertanto, deve essere previsto. Altrimenti, potreste ritrovarvi con una situazione indefinita, in cui, per esempio, potreste perdere il vostro deposito.

 
Zhunko:

In termini di logica di programmazione, questo è assurdo.

C'è la possibilità di un tale risultato. Pertanto, deve essere previsto. Altrimenti, ci può essere una situazione indefinita in cui, per esempio, si perde un deposito.


Se sei un Martin, c'è sempre la possibilità di perdere il deposito, è possibile farlo senza considerare che è assurdo? Puoi almeno mostrarmi quel punto del codice in cui gli ordini vengono chiusi al take profit, in modo che io abbia qualcosa da cui partire?
 
SpikeOne:

Se sei un Martin, c'è sempre la possibilità di perdere il deposito. Puoi almeno mostrarmi il punto del codice in cui gli ordini vengono chiusi al take profit, in modo che io abbia qualcosa da cui partire?

Si può, naturalmente! Il programmatore giusto prenderà in considerazione tutti i casi.

 

Chi può dirmi perché non posso caricare MT4? Presentare uno screenshot dell'errore.


 
SpikeOne:

C'è sempre la possibilità di perdere la caparra su un martin, è possibile farlo senza considerare che è assurdo? Puoi almeno mostrarmi il punto del codice in cui gli ordini vengono chiusi al take profit, in modo che io abbia un buon inizio?


Su un martin, c'è sempre la possibilità di ottenere il profitto atteso dal take profit del primo lotto. E se siete sfortunati, finirete il deposito o supererete la dimensione massima consentita del lotto.

E vale la pena rischiare così tanto denaro per rivincere la scommessa iniziale? Soprattutto perché le leggi di Murphy non sono mai state abolite..... E non è assurdo, è solo vita pratica, non teorica))

 
Se è possibile, forse puoi aiutarmi ad eseguire i test, e posso provare che il programma funziona con i miei dati iniziali e sui test.
 

I precedenti problemi di chiusura sono stati risolti, ma sono apparse nuove domande. L'essenza della domanda è come confrontare le letture attuali dell'indicatore (in particolare MACD) sulla barra zero con le letture dello stesso indicatore sulla prima e seconda barra (cioè quelle precedenti). Non capisco bene come fare, quindi sarò molto grato per qualsiasi aiuto)))

 
ElhoroS:

I precedenti problemi di chiusura sono stati risolti, ma sono apparse nuove domande. L'essenza della domanda è come confrontare le letture attuali dell'indicatore (in particolare MACD) sulla barra zero con le letture dello stesso indicatore sulla prima e seconda barra (cioè quelle precedenti). Non capisco bene come fare, quindi sarò molto grato per qualsiasi aiuto)))

   double macd_1=iMACD(Symbol(),Period(),fast_ema,slow_ema,signal,PRICE_CLOSE,1); // макдак на первом баре
   double macd_2=iMACD(Symbol(),Period(),fast_ema,slow_ema,signal,PRICE_CLOSE,2); // макдак на втором баре
Sulla barra zero i dati dell'indicatore non saranno fissati. Ad ogni tick, infatti, cambierà, perché la barra zero non si è ancora formata. Pertanto, i dati saranno presi dalla prima barra. Se volete prenderlo dalla barra zero, allora cambiate PRICE_CLOSE in PRICE_OPEN - questo è l'unico prezzo che non cambia sulla barra zero, ma l'indicatore sarà leggermente diverso dalla sua rappresentazione standard - solo un po'.
Motivazione: