[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

 
Boneshapper:

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.
 
Roger:

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
 
Roger:

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

bool OrderSelect( int index, int select)
Opzione SELECT_BY_TICKET, quale indice dovremmo impostare?

 

Per utilizzare un mago, deve prima essere impostato, come il vostro, e poi controllato per la sua presenza quando si va in giro

int start()
{
OrderSend (Symbol(), OP_SELL, Loot,Bid, 50, SL, TP,NULL,1001,0,L);
//...
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderMagic()==1001)
{

Alert ("Ticket =",OrderTicket()); 
OrderClose(OrderTicket(),Loot,Ask,50,R); 
}}}
 

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).

 
Tatar:

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)

//---Поиск последнего отработавшего ордера для открытия очередной позиции ---
   
   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)
         {.... Здесь действия, при положительном профите ордера...
 .....
......
......
 
 
artmedia70:

double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

Calcolo della media mobile.
Parametri:
simbolo - Nome del simbolo, sui cui dati verrà calcolato l'indicatore. NULL significa simbolo corrente.
timeframe - Periodo. Può essere uno dei periodi del grafico. 0 significa il periodo del grafico corrente.
periodo - Periodo di media per il calcolo della media mobile.
ma_turno - Spostamento dell'indicatore rispetto al grafico del prezzo.
ma_metodo - Metodo di mediazione. Può essere uno qualsiasi dei valori dei metodi della media mobile.
prezzo applicato - 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ì :)

 

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).

Motivazione: