[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 321
Quando scrivo questo, non scrivo Flag=0 davanti alla condizione, perché allora sarà aggiornato ogni volta prima di una transazione e sarà sempre 0. Se non specifichiamo un valore, per esempio solo int Flag, il programma gli assegnerà 0, giusto?
Vi ho scritto del codice in cui Flag è fuori dalla funzione start, non dentro. Se lo metti dentro, è inutile.
Strano, il codice funziona. Forse l'hai messo nel posto sbagliato?
Ho capito, il valore di Flag era dato all'interno dell'if, e perché lo perdeva all'uscita da esso.Ho messo la variabile di tipo statico int Flag.Tutto ora funziona
Vi ho scritto del codice in cui Flag è fuori dalla funzione di avvio, non dentro. Se lo metti dentro, è inutile.
Scusa, ho scritto una risposta, ma non ho visto la tua risposta. Sì, sì, hai ragione, è esattamente il mio errore, ma la via d'uscita era usare Static.
Ho una domanda: è possibile accedere alla cronologia degli scambi da un Expert Advisor (MQL4)?
Vale a dire, che l'affare precedente non era redditizio e quello precedente era redditizio, e così via per 10 affari in profondità nella storia?
È necessario per MM, poiché l'Expert Advisor ha una serie di operazioni redditizie dopo un trade in grande perdita.
Ho un'idea: dopo un trade perdente, iniziate ad aumentare la vostra posizione, per esempio, in tre o cinque trade consecutivi e aspettate il prossimo
un commercio perdente.
Certo che è possibile. Guarda qui - puoi prendere la base per te e adattarla alle tue condizioni di trading.
Ecco un esempio di organizzazione delle posizioni secondo i risultati dell'ultimo ordine chiuso (il più fresco nella storia degli ordini - è così che è organizzato nel mio sistema)
//---Поиск последнего отработавшего ордера для открытия очередной позиции ---for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
{
if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
{
Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
continue;
}
if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
{
continue;
}
//-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------if(time<OrderCloseTime()) //(сравниваем его с хранящимся в пероеменной time)
{
time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменнуюint lastType = OrderType();
double lastLots = OrderLots();
double lastProfit = OrderProfit() + OrderSwap();
// Print ("lastProfit = ", NormalizeDouble(lastProfit, 1));// Анализ только что закрывшегося ордераif (lastProfit >= 0.0)
{.... Здесь действия, при положительном профите ордера...
.....
......
......
Prezzo usato. Può essere una qualsiasi costante di prezzo.
turno
-
Indice del valore ottenuto dal buffer dell'indicatore (spostamento relativo alla barra corrente del numero specificato di periodi indietro).
Come vedete ma_shift è un intero (numero di barre per spostare la linea МАшки a destra o a sinistra). E +/-0,21% è doppio, quindi non funzionerà.
Ho capito cosa vuoi?
Avete capito tutto correttamente. Solo Rumus (Forex Club) ha una tale possibilità e questa "busta" è la base del TS "Intraday Conservative Scalping". Volevo fare lo stesso con MT4. Ma come hai spiegato tu non è così :)
Avete capito tutto correttamente. È solo che Rumus (Forex Club) ha una tale opportunità e questa "busta" è la base del TS "Conservative Intraday Scalping". Volevo fare lo stesso con MT4. Ma come hai spiegato tu non è destino :)
Lei è incompreso.
Se hai bisogno di una busta, il MA è spostato su e giù.
Quando scrivo questo, non scrivo Flag=0 davanti alla condizione, perché allora sarà aggiornato ogni volta prima di una transazione e sarà sempre 0. Se non specifichiamo un valore, per esempio solo int Flag, il programma gli assegnerà 0, giusto?
Vi ho scritto del codice in cui Flag è fuori dalla funzione start, non dentro. Se lo metti dentro, è inutile.
Strano, il codice funziona. Forse l'hai messo nel posto sbagliato?
Vi ho scritto del codice in cui Flag è fuori dalla funzione di avvio, non dentro. Se lo metti dentro, è inutile.
Scusa, ho scritto una risposta, ma non ho visto la tua risposta.
Sì, sì, hai ragione, è esattamente il mio errore, ma la via d'uscita era usare Static.
Grazie mille per tutto.
Buona notte!
Potete dirmi per favore se c'è una funzione
int start()
{
OrderSend (Symbol(), OP_SELL, Loot,Bid, 50, SL, TP,NULL,1001,0,L);
if (OrderSelect(1001, SELECT_BY_TICKET)== true)
int Ticket = OrderTicket ();
Alert ("Ticket =",Ticket);
OrderClose(Ticket,Loot,Ask,50,R);
}
Non capisco bene come usare il parametro magico nella funzione ordersend per cercare un ordine con questo numero?
E quando si usa la funzione
Per utilizzare un mago, deve prima essere impostato, come il vostro, e poi controllato per la sua presenza quando si va in giro
Ciao a tutti!!!
Ho una domanda: è possibile accedere alla cronologia degli scambi da un Expert Advisor (MQL4)?
Vale a dire, che l'affare precedente non era redditizio e quello precedente era redditizio, e così via per 10 affari in profondità nella storia?
È necessario per MM, poiché l'Expert Advisor ha una serie di operazioni redditizie dopo un trade in grande perdita.
Ho un'idea: dopo un trade perdente, iniziate ad aumentare la vostra posizione, per esempio, in tre o cinque trade consecutivi e aspettate il prossimo
e aspettare il prossimo trade perdente.
Non toccare tutti, stanno ancora dormendo, è sabato dopo tutto.
L'accesso può essere organizzato, cercate nel codebase gli EA con la parola di controllo "martingale" (martingala).
Ciao a tutti!!!
Ho una domanda: è possibile accedere alla cronologia degli scambi da un Expert Advisor (MQL4)?
Vale a dire, che l'affare precedente non era redditizio e quello precedente era redditizio, e così via per 10 affari in profondità nella storia?
È necessario per MM, poiché l'Expert Advisor ha una serie di operazioni redditizie dopo un trade in grande perdita.
Ho un'idea: dopo un trade perdente, iniziate ad aumentare la vostra posizione, per esempio, in tre o cinque trade consecutivi e aspettate il prossimo
un commercio perdente.
Certo che è possibile. Guarda qui - puoi prendere la base per te e adattarla alle tue condizioni di trading.
Ecco un esempio di organizzazione delle posizioni secondo i risultati dell'ultimo ordine chiuso (il più fresco nella storia degli ordini - è così che è organizzato nel mio sistema)
double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)
Calcolo della media mobile.Come vedete ma_shift è un intero (numero di barre per spostare la linea МАшки a destra o a sinistra). E +/-0,21% è doppio, quindi non funzionerà.
Ho capito cosa vuoi?
Avete capito tutto correttamente. Solo Rumus (Forex Club) ha una tale possibilità e questa "busta" è la base del TS "Intraday Conservative Scalping". Volevo fare lo stesso con MT4. Ma come hai spiegato tu non è così :)
Rimlyanin:
Avete capito tutto correttamente. È solo che Rumus (Forex Club) ha una tale opportunità e questa "busta" è la base del TS "Conservative Intraday Scalping". Volevo fare lo stesso con MT4. Ma come hai spiegato tu non è destino :)
Lei è incompreso.
Se hai bisogno di una busta, il MA è spostato su e giù.
Il MA è uno spostamento a sinistra, a destra (come in Alligator).