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

 
Polivanovka8b:

Sto cercando di scrivere un MA advisor molto semplice, ma dovrebbe chiudere allo stop o al profitto invece che al crossover all'indietro. Come risultato, ho ottenuto l'errore '\fine del programma' - nessuna funzione definita. Per favore, aiutatemi, cosa c'è che non va e se potete darmi qualche spiegazione.

/*code*/

Buon pomeriggio!

In primo luogo, il codice non dovrebbe essere "appeso in aria" ma in qualche funzione.

In secondo luogo, ci deve essere una funzione start() che sarà chiamata ogni tick e deve contenere la logica di base

In terzo luogo, il codice viene inserito usando il pulsante SRC (la barra dei pulsanti si trova appena sopra la finestra dove si digita il testo del messaggio)

 
Se la cartella Metatrader viene copiata/tagliata da un PC a un altro, il terminale sarà pienamente operativo nella nuova posizione, proprio come nella posizione originale?
 
yellownight:
Se la cartella Metatrader viene copiata/tagliata da un PC a un altro, il terminale sarà pienamente operativo nella nuova posizione, proprio come nella posizione originale?
Sì. Solo la password e il login dovranno essere reinseriti. Il programma di disinstallazione non sarà in grado di disinstallare. Altri percorsi saranno in install.log. Ci saranno voci di registro extra (install.sss).
 

Buon pomeriggio. Domanda sull'identificatore della proprietà OBJPROP_TIMEFRAMES degli oggetti grafici... Ho scritto questo script per creare un oggetto grafico Horizontal Line (vedi sotto).

Domanda: perché, anche se la funzione ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) dichiara esplicitamente che l'oggetto deve essere visualizzato SOLO sul timeframe H1, l'oggetto creato viene visualizzato anche sui timeframe (almeno) H4, M30, M15.

Nota: l'intestazione dello script contiene una linea con il file include #include <WinUser32.mqh> che differisce dal file include sorgente #include <WinUser32.mqh> consegnato con il terminale client.

File:
 
7777877:

Buon pomeriggio. Domanda sull'identificatore della proprietà OBJPROP_TIMEFRAMES degli oggetti grafici... Ho scritto questo script per creare un oggetto grafico Horizontal Line (vedi sotto).

Domanda: perché, anche se la funzione ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) dichiara esplicitamente che l'oggetto deve essere visualizzato SOLO sul timeframe H1, l'oggetto creato viene visualizzato anche sui timeframe (almeno) H4, M30, M15.


https://docs.mql4.com/ru/constants/objects/visible


Un'altra costante è OBJ_PERIOD_H1

 

Buongiorno, ecco una domanda:

Ho bisogno di calcolare il numero totale di code di acquisto delle barre precedenti usando la formula close[1]-low[1] in pip

sarebbe così

...

int xBost_b;

se(close[1]>open[1])

xBost_b=xBost_b+((close[1]-low[1])*10000);

...

ma tutto ciò è scritto in start() ad ogni tick

cioè con ogni tick una e la stessa barra viene incrementata più volte, ma come devo fare perché la barra precedente (per esempio se compro) venga calcolata/incorporata 1 volta?

 
DanLett:

Buongiorno, ecco una domanda:

Ho bisogno di calcolare il numero totale di code di acquisto delle barre precedenti usando la formula close[1]-low[1] in pip

sarebbe così

...

se(close[1]>open[1])

xBost_b=xBost_b+((close[1]-low[1])*10000);

...

ma tutto ciò che è scritto nella start() viene eseguito ad ogni tick

cioè con ogni tick una e la stessa barra viene aggiunta più volte, come fare che la barra precedente (per esempio se compro) venga calcolata/aggiunta alla variabile 1 volta?

a) scrivere uno script, conterà solo 1 volta

b) contare ogni volta il numero necessario di barre

c) scoprire quando inizia una nuova barra e solo allora "aggiungere" la barra precedente al calcolo

d) se è un indicatore, usate IndicatorCounted()

Scegliete quello che è meglio per il vostro compito

 
ilunga:

a) scrivere uno script, conterà solo 1 volta

b) contare ogni volta il numero giusto di barre

c) scoprire quando inizia una nuova barra e solo allora "aggiungere" la barra precedente al calcolo

d) se è un indicatore, usate IndicatorCounted()

scegliere ciò che è meglio per il tuo compito

Ne ho bisogno come Expert Advisor; non riesco a decidere se farlo o no, ho tutto il codice nella pagina, ma non ho l'inizio

Start - come contare ogni tipo di barra una volta in start()...

 

cioè mentre la barra attuale[0] viene costruita, quella precedente viene definita

e se compriamo, troviamo la coda in pip e aggiungiamo alla variabile 1 volta

ho bisogno del vostro aiuto!

 
ilunga:

Buon pomeriggio. Domanda sull'identificatore della proprietà OBJPROP_TIMEFRAMES degli oggetti grafici... Ho scritto questo script per creare un oggetto grafico Horizontal Line (vedi sotto).

Domanda: perché, anche se la funzione ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) dichiara esplicitamente che l'oggetto deve essere visualizzato SOLO sul timeframe H1, l'oggetto creato viene visualizzato anche sui timeframe (almeno) H4, M30, M15.


https://docs.mql4.com/ru/constants/objects/visible


Un'altra costante è OBJ_PERIOD_H1


Sì, grazie, mi ha aiutato... Ma vorrei capire perché l'opzione ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) non funziona (come dovrebbe)? È un difetto della lingua stessa?