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

 
nekadabra:
Potete dirmi se Win 8 è compatibile con MT 4 e MT 5? Lo chiedo perché ho un mac e mi sto chiedendo con quale sistema operativo comprare un PC. Un tizio mi ha persino mostrato uno screenshot di MT 4 che gira su 8. Ma poiché alcuni compagni sostengono che non c'è piena compatibilità, devo chiarire... Grazie.

Win 8 è compatibile con MT 4 e 5.
 

Buon pomeriggio!

C'è un problema con il software dell'indicatore, l'autore sostiene che l'indicatore funziona, ma in realtà il grafico non viene visualizzato - qual è il problema?

#property copyright "Copyright © 2006, Profitrader."
#property link      "profitrader@inbox.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Red
//---- input parameters
extern int FastMAPeriod = 3;
extern int SlowMAPeriod = 15;
extern string SecondMarket = "GOLD";
extern bool MarketsDirectCorrelation = true;
//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string Correlation = "Invert Correlation";
   if(MarketsDirectCorrelation == TRUE) 
       Correlation = "Direct Correlation";
   IndicatorShortName("Will-Spread(" + FastMAPeriod + "," + SlowMAPeriod + 
                      "," + SecondMarket + "," + Correlation + ")");
   IndicatorDigits(Digits + 2);
   IndicatorBuffers(4);
   SetIndexBuffer(0, WillSpread);
   SetIndexBuffer(1, Spread);
   SetIndexBuffer(2, FastEMA);
   SetIndexBuffer(3, SlowEMA);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexLabel(0, "W-S");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
   if(MarketsDirectCorrelation == TRUE)
     {
       for(i = 0; i < limit; i++)
           Spread[i] = iClose(SecondMarket, 0, i) / Close[i]*100;
     }
   else
     {
       for(i = 0; i < limit; i++)
           Spread[i] = Close[i] / iClose(SecondMarket, 0, i)*100;
     }
   for(i = limit - 1; i >= 0; i--)
     {
       FastEMA[i] = iMAOnArray(Spread, 0, FastMAPeriod, 0, MODE_EMA, i);
       SlowEMA[i] = iMAOnArray(Spread, 0, SlowMAPeriod, 0, MODE_EMA, i);
       WillSpread[i] = FastEMA[i] - SlowEMA[i];
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
AlexMikash:

Buon pomeriggio!

C'è un problema con il programma indicatore, l'autore sostiene che l'indicatore funziona, ma in realtà il grafico non viene visualizzato - qual è il problema?

Il problema è in queste righe

   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
Il nuovo compilatore dà un errore durante l'esecuzione, ma durante la compilazione è ok. Fatelo eseguire all'autore nel debugger e vedrete subito il problema.
 
AlexeyVik:

Il problema è in queste righe

Il nuovo compilatore dà un errore durante l'esecuzione, ma durante la compilazione è tutto ok. Fatelo eseguire all'autore nel debugger e vedrete subito il problema.


Non c'è nessun problema, tutto funziona. È sufficiente per ripristinare la descrizione del buffer

//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];

Il problema è con lo strumento predefinito. Molto probabilmente non c'è uno strumento ORO, se si mette un altro strumento va bene


 
Cosa significa l'icona gialla di trasmissione del segnale nel Metatrader? Che il segnale non stia temporaneamente trasmettendo? E perché alcuni segnali che posso vedere ora nel terminale non sono attualmente elencati su mql5.com?
 
Vinin:


Nessun problema, tutto funziona. È sufficiente ripristinare la descrizione del buffer

Il problema è con lo strumento predefinito. Molto probabilmente non c'è uno strumento ORO, se si mette un altro strumento, tutto va bene.



Vedete, il fatto è che a me interessa molto lo strumento GOLD, come posso collegarlo al terminale?
 
AlexMikash:

Vedete, il fatto è che a me interessa molto lo strumento GOLD, come posso collegarlo al terminale?

O c'è o non c'è. Tutto dipende dalla società di intermediazione. Sia che fornisca un tale strumento o meno.
 
Vinin:

O c'è o non c'è. Tutto dipende dal DC. Sia che fornisca un tale strumento o meno.


Grazie, l'immagine è chiara!

 

Buon pomeriggio. Sto imparando come avvitare gli indicatori in un EA ma finora non ho avuto molto successo.

1 - Quando faccio girare l'EA attraverso un tester solo quando lo fermo appaiono le etichette dell'indicatore.

2 - Non capisco quali sono le condizioni e come sono scritte.

Voglio chiedere al mio EA di fare trading in base all'indicatore, ho solo bisogno di sapere come collegare l'indicatore al mio EA.

In base all'indicatore della freccia che mostra su o giù BS_Living Now ver #1.mq4 https://www.mql5.com/ru/code/11014#50910

#property



 
 indicator_chart_window //#property indicator_buffers 4 //#property indicator_color1 Red //#property indicator_color2 Yellow //#property indicator_color3 Red //#property indicator_color4 Yellow ////******************// indicator parameter inputextern int BQuant=48; // - numero di barre contate //******************// indicator components
                                        // else // { // if(iHigh(NULL,0,t)>=High[iHighest(NULL,0,2,BQuant,t+1)] && // iHigh(NULL,0,t)>iHigh(NULL,0,t-1)) // { // ExtrimHi[t] =iHigh(NULL,0,t); // Break_Detect(t,1);                               //******************// Rilevamento del breakpoint } // // if(iLow(NULL,0,t)<=Low[iLowest(NULL,0,1,BQuant,t+1)] && // iLow(NULL,0,t)<iLow(NULL,0,t-1)) // { // ExtrimLo[t] =iLow(NULL,0,t);                                         // Break_Detect(t,-1); //******************// Rilevamento del breakpoint } // } // return(0);                                                                 // //double Break_Detect(int a,int Signal) //***********************************// Determinazione dei punti di rottura { // for(int r=1; r<BQuant; r++) // // { // if(Signal==1 && iHigh(NULL,0,a+r)<High[iHighest(NULL,0,2,BQuant,a+r+1)]) // {BreakHi[a] =Low[iLowest(NULL,0,1,r+2,a-1)]; r=BQuant;}               // if(Signal==-1 && iLow(NULL,0,a+r)>Low[iLowest(NULL,0,1,BQuant,a+r+1)]) // {BreakLo[a] =High[iHighest(NULL,0,2,r+2,a-1)]; r=BQuant;}             // } return(0); //  }

Ecco il mio Expert Advisor iniziato
.

extern double Lot=0.1; extern int Magic=0; extern int Stop=98; extern int Take=70; extern int Slip=10; extern int BQuant=48; // - il numero di barre calcolate int start()
{
double S1=iCustom(NULL, 0, "BS_Living Now",BQuant,0,0)
; OrderSend(Symbol(), OP_SELL,Lot, Bid, Slip,Ask+Stop*Point,Ask-Take*Point, "SELL", Magic, 0,Red ); OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip,Bid-Stop*Point,Bid+Take*Point, " BUY", Magic, 0,Blue);

}
 

Se si scrive un semplice script che crea un oggetto di tipo OBJ_ARROW_RIGHT_PRICE e poi lo elimina, l'oggetto non viene cancellato. Inoltre, il comando ObjectType scopre improvvisamente che l'oggetto creato non è di tipo OBJ_ARROW_RIGHT_PRICE (==36), ma ==22 cioè una semplice "freccia su" !!! Sono l'unico che ce l'ha o ce l'hanno tutti?

C'erano già opinioni di "esperti" su questo problema: come leggere la guida, o non abbastanza memoria :) .

La memoria è sufficiente.

Sembra che il comando ObjectCreate disegni un oggetto del tipo OBJ_ARROW_RIGHT_PRICE , che non può essere rimosso dal comando ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE), ma può essere rimosso dal comando ObjectsDeleteAll(0,22), come se avessimo non il cartellino del prezzo giusto ma una "freccia in su". Di chi è la colpa?

#property copyright "Copyright 2014, MetaQuotes Software Corp."

#proprietà link "https://www.mql5.com"

#proprietà versione "1.00"

#proprietà rigorosa

//+------------------------------------------------------------------+

//| funzione di avvio del programma script |

//+------------------------------------------------------------------+

void OnStart()

{

Alert(") ;

Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // ==36

ObjectCreate("MyArrow", OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; //

Alert("objectTipe=", ObjectType("MyArrow") ) ; // ==22 !

ResetLastError() ;

Alert("script delete arrow right price=",ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // numero di oggetti cancellati ==0, errori ==0

}

Per cancellare un oggetto di tipo OBJ_ARROW_RIGHT_PRICE, usate il comando ObjectsDeleteAll(0,OBJ_ARROW), facendo attenzione a specificare la sua sottofinestra.

p.s. Un oggetto di tipo OBJ_ARROW è "freccia" qualsiasi, non solo "freccia su". ObjectCreate(...OBJ_ARROW...) crea immediatamente una "freccia in alto". Allora perché questo non c'è nell'aiuto?