Ciao!!! Puoi dirmi come passare un tipo di dati enum ai metodi di una classe? Diciamo che voglio passare un intervallo di tempo. Creo un enum nell'intestazione di un consigliere
public:
Signal_Line();
~Signal_Line();
double Time_Frame(double &Trend_Line_Down[][], int Frame, int Down);
int Short_Proboy(double &Trend_Line_Down[][], string Name_Static, int Down, ENUM_TIMEFRAMES);
E quando chiamo un metodo da un EA, se ho bisogno di passare il terzo valore dall'enumerazione - frame - PERIOD_M30, cosa dovrei scrivere nelle domande di codice qui sotto?
Trend_Line_Down[Timer_Down][1]=Signal.Short_Proboy(Trend_Line_Down, Name_Static, ???); // Флаг пробоя трендовой нулевой свечой
Kira27: Ciao!!! Puoi dirmi come passare un tipo di dati di enumerazione nei metodi di classe? Diciamo che voglio passare un timeframe. Creo nell'intestazione di EA di enumerazione Poi dichiaro il metodo nella classe. E quando chiamo un metodo da un EA, se ho bisogno di passare il terzo valore dall'enumerazione - frame - PERIOD_M30, cosa dovrei scrivere nelle domande di codice qui sotto?
Domanda 1: perché creare la propria enumerazione quando si ha lo standardENUM_TIMEFRAMES
Per quale dimensione del contratto (dimensione del lotto) viene calcolato questo valore?
Per esempio, per la coppia di valute EURUSD questo script dà gli stessi valori, ma per i metalli la differenza è di 10 volte. Come, perché e come faccio a saperlo?
intOnStart()
{
//---// цена тика для символаdouble symb_tick_price = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
// рассчитаная цена символа (для Forex, CFD - формула из справки)// Profit = (close_price - open_price) * Contract_Size * Lots// т.е. берем размер тика и считаем по этой формуле// -> TickPrice = TickSize * Contract_Size * Lotsdouble symb_lot_size = 1.0;
double symb_tick_size = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);
double symb_contract_size = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);
double calc_symb_tick_price = symb_tick_size * symb_contract_size * symb_lot_size;
PrintFormat("Цена тика SYMBOL_TRADE_TICK_VALUE=%f, Цена тика ВЫЧИСЛЕННАЯ=%f", symb_tick_price, calc_symb_tick_price);
//---return(INIT_SUCCEEDED);
}
... e poi un mese dopo cercherai di capire cosa significa ))))
Se dovete scrivere un codice del genere, almeno scrivetelo in int
in modo da poter almeno capire cosa ottiene l'autore in uscita
...Anche se è una perversione ))))
Perché convertirlo in int? Perché in mql5, a partire da H1, il valore di enumerazione non è uguale al numero di minuti. E al contrario, penso che causerà molta confusione.
Perché convertire in int? Perché in mql5, a partire da H1, il valore di enumerazione non è uguale al numero di minuti. E secondo me, al contrario, causerà molta confusione.
Perché enum è una costante nominata a 4 byte = int
Domanda 1: perché creare la propria enumerazione se c'èENUM_TIMEFRAMES standard
Risposta)) Disegnando un oggetto grafico nel nome dell'oggetto c'è una sottostringa M30 che dice dove questo oggetto è stato creato, e quando scrivo i dati dell'oggetto in array double, usando la divisione del nome in sottostringhe, confronto l'indice 0 dell'array con un nome rotto, tramite enumerazione a forza bruta con un array
Ottenuto, scrivo il valore nell'array double, che memorizza le caratteristiche degli oggetti del grafico. Poi, per tracciare il breakdown, il fixing e il test della linea, uso un metodo, in cui dovrei passare il parametro timeframe dall'array double scritto; poiché le linee sono create su diversi timeframe, il calcolo del breakdown, il fixing, il test dovrebbero essere calcolati secondo il timeframe in cui questi oggetti sono stati creati, indipendentemente da quale periodo è sul grafico al momento. Ho previsto di associare il valore dell'array
TimeFrame
scritto all'array di caratteristiche degli oggetti grafici da estrarre dall'array per l'indice
perché enum è una costante nominata a 4 byte = int
non il numero di minuti.
Quindi? Hanno qualcosa di diverso nell'enum ENUM_TIMEFRAMES? O c'è la paura di esaurire la memoria? Non so come si fa a scherzare in questo modo...
ps; Ah, come sono lento a scrivere...)))) Mentre stavo scrivendo una sola riga Kira27 ha digitato un sacco di......... E qualcosa che sospetto sarà usato in mql4.
Poi dichiaro un metodo in una classe.
E quando chiamo un metodo da un EA, se ho bisogno di passare il terzo valore dall'enumerazione - frame - PERIOD_M30, cosa dovrei scrivere nelle domande di codice qui sotto?
Ma scrive un errore durante la compilazione. Quale potrebbe essere la fregatura?
Ciao!!! Puoi dirmi come passare un tipo di dati di enumerazione nei metodi di classe? Diciamo che voglio passare un timeframe. Creo nell'intestazione di EA di enumerazione
Poi dichiaro il metodo nella classe.
E quando chiamo un metodo da un EA, se ho bisogno di passare il terzo valore dall'enumerazione - frame - PERIOD_M30, cosa dovrei scrivere nelle domande di codice qui sotto?
Domanda 1: perché creare la propria enumerazione quando si ha lo standardENUM_TIMEFRAMES
Domanda sul costo di una zecca.
Per quale dimensione del contratto (dimensione del lotto) viene calcolato questo valore?
Per esempio, per la coppia di valute EURUSD questo script dà gli stessi valori, ma per i metalli la differenza è di 10 volte. Come, perché e come faccio a saperlo?
Se ci pensate, sembra che si stia chiedendo di scrivere
Ma scrive un errore durante la compilazione. Quale potrebbe essere la fregatura?
Se fate questa enumerazione
allora potreste provare a scriverlo in questo modo
Se fate questa enumerazione
potresti provare a scriverlo in questo modo
... e poi tra un mese cercherai di capire cosa significa ))))
Se dovete scrivere un codice del genere, almeno scrivetelo in int
in modo da poter almeno capire cosa ottiene l'autore in uscita
...Anche se è una perversione ))))
... e poi un mese dopo cercherai di capire cosa significa ))))
Se dovete scrivere un codice del genere, almeno scrivetelo in int
in modo da poter almeno capire cosa ottiene l'autore in uscita
...Anche se è una perversione ))))
Perché convertirlo in int? Perché in mql5, a partire da H1, il valore di enumerazione non è uguale al numero di minuti. E al contrario, penso che causerà molta confusione.
Perché convertire in int? Perché in mql5, a partire da H1, il valore di enumerazione non è uguale al numero di minuti. E secondo me, al contrario, causerà molta confusione.
Perché enum è una costante nominata a 4 byte = int
non il numero di minuti
Domanda 1: perché creare la propria enumerazione se c'èENUM_TIMEFRAMES standard
Risposta)) Disegnando un oggetto grafico nel nome dell'oggetto c'è una sottostringa M30 che dice dove questo oggetto è stato creato, e quando scrivo i dati dell'oggetto in array double, usando la divisione del nome in sottostringhe, confronto l'indice 0 dell'array con un nome rotto, tramite enumerazione a forza bruta con un array
Trovare l'indice della stringa uguale nell'array
associa l'indice all'array int
Ottenuto, scrivo il valore nell'array double, che memorizza le caratteristiche degli oggetti del grafico. Poi, per tracciare il breakdown, il fixing e il test della linea, uso un metodo, in cui dovrei passare il parametro timeframe dall'array double scritto; poiché le linee sono create su diversi timeframe, il calcolo del breakdown, il fixing, il test dovrebbero essere calcolati secondo il timeframe in cui questi oggetti sono stati creati, indipendentemente da quale periodo è sul grafico al momento. Ho previsto di associare il valore dell'array
scritto all'array di caratteristiche degli oggetti grafici da estrarre dall'array per l'indice
e il trasferimento al metodo di calcolo della ripartizione, dell'ancoraggio e della prova.perché enum è una costante nominata a 4 byte = int
non il numero di minuti.
Quindi? Hanno qualcosa di diverso nell'enum ENUM_TIMEFRAMES? O c'è la paura di esaurire la memoria? Non so come si fa a scherzare in questo modo...
ps; Ah, come sono lento a scrivere...)))) Mentre stavo scrivendo una sola riga Kira27 ha digitato un sacco di......... E qualcosa che sospetto sarà usato in mql4.