[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 35

 
skyjet:
Guten Abend, könnten Sie mir bitte sagen, ob ich die Funktion start() eines Indikators in einem EA richtig implementiert habe? Die Zusammenstellung stimmt nicht überein!


Na ja, so viele Siebener können einfach nicht irren, das ist ein JACK-POT!!!

Aber im Ernst, die Beschreibung des Problems ist offensichtlich unvollständig, Sie sollten in den Telepathenclub gehen. Oder beschreiben Sie detaillierter, was falsch ist, z. B. eine Liste von Compilerfehlern.

 
evillive:


Nun, so viele Siebener können einfach nicht falsch sein, das ist ein JACK POINT!!!

Aber im Ernst, die Beschreibung des Problems ist offensichtlich unvollständig, Sie sollten in den Telepathenclub gehen. Oder beschreiben Sie genauer, was falsch ist, z. B. eine Liste von Compilerfehlern.


Zuerst erhielt ich diese Fehlermeldung:

'\Ende_des_Programms' - Endklammer '}' erwartet C:\Programmdateien\Alpari \experts\xxx.mq4 (305, 1)

Natürlich habe ich eine Klammer hinzugefügt, nach der :

'Ind_Start' - Funktion ist nicht definiert C:\Programmdateien\ Alpari \experts\xxx.mq4 (86, 1)

'{' - Semikolon erwartet C:\Programmdateien\ Alpari \experts\xxx.mq4 (87, 3)

 
skyjet:
Guten Abend, können Sie mir sagen, ob ich die Funktion start() eines Indikators in meinem EA richtig vorgeschrieben habe? Die Zusammenstellung stimmt nicht überein!
int start()
{

int varGet_Indicator_start = funcGet_Indicator_start();

return();
  
}


int funcGet_Indicator_start()

{
77777777777777777777777777777
77777777777777777777777777
777777777777777777777777777777
и чтоб возвращало int!!!
}


es sollte so sein, einverstanden

 

Hilfe, der Indikator funktioniert nicht. Was habe ich falsch geschrieben?

//-----
  int i,limit;
  int counted_bars=IndicatorCounted();
  if (counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
//-----
   for(i=limit; i>=0; i--)
  {SMMA[i]=iMA(NULL,0,TrixPeriod,0,MODE_SMMA,PRICE_CLOSE,i);}
//-----
  for(i=limit; i>=0; i--)
  {EMAOnArray[i]=iMAOnArray(SMMA,0,TrixPeriod,0,MODE_EMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {SMMAOnArray[i]=iMAOnArray(EMAOnArray,0,TrixPeriod,0,MODE_SMMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {Trix[i]=(SMMAOnArray[i]-SMMAOnArray[i+1])/SMMAOnArray[i];}
//-----
  for(i=limit; i>=0; i--)
  {Signal[i]=iMAOnArray(Trix,0,SignalPeriod,0,MODE_EMA,i);}       
//-----
  for(i=limit; i>=0; i--)
  {Histogram[i]=Trix[i]-Signal[i];}
//-----
 

Bitte beraten Sie mich!

Angenommen, ich habe mehrere offene Positionen im Terminal und muss den Eröffnungskurs eines der Aufträge, z. B. KAUFEN, kennen, dann kenne ich auch die Magie jedes Auftrags.

Wie kann ich das tun?

 
artem86:

Bitte beraten Sie mich!

Angenommen, ich habe mehrere offene Positionen im Terminal und muss den Eröffnungskurs eines der Aufträge, z. B. KAUFEN, kennen, dann kenne ich auch die Magie jedes Auftrags.

Wie kann ich das tun?

//+------------------------------------------------------------------+
//|--------------------// Last Bull Open Price //--------------------|
//+------------------------------------------------------------------+
double LastBullOpenPrice()
{
  double MyLastBullOpenPrice=0;
  for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
  { 
    OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderMagicNumber()==Magic && OrderType()==OP_BUY)
    {
      MyLastBullOpenPrice=OrderOpenPrice();
    }
  }
  return(MyLastBullOpenPrice);
}

 

Guten Tag!

Können Sie mir bitte sagen, wie ich schreiben soll?

if ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

wenn ((b1==0) && (b2!=0))

closeAll();

if ((s1!=0) && (s2==0))

openSell(Lot,Magic);

if ((s1==0) && (s2!=0))

closeAll();

aber die Bestellungen lassen sich nicht öffnen, also helfen Sie mir, den Grund zu finden

Dateien:
 
ll77012:

Guten Tag!

Können Sie mir bitte sagen, wie ich schreiben soll?

if ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

wenn ((b1==0) && (b2!=0))

closeAll();

if ((s1!=0) && (s2==0))

openSell(Lot,Magic);

if ((s1==0) && (s2!=0))

closeAll();

aber die Bestellungen werden nicht geöffnet, bitte helfen Sie mir, den Grund zu finden


https://book.mql4.com/ru/trading/ordersend

Alles ist sehr klar und detailliert.

 
etwas mit dem Zustand nicht stimmt und er nicht genannt wird
 
ll77012:

Guten Tag!

Können Sie mir bitte sagen, wie ich schreiben soll?

if ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

wenn ((b1==0) && (b2!=0))

closeAll();

if ((s1!=0) && (s2==0))

openSell(Lot,Magic);

if ((s1==0) && (s2!=0))

closeAll();

aber die Bestellungen lassen sich nicht öffnen, also helfen Sie mir, den Grund zu finden


indicator buffer=EMPTY_VALUE; nicht gleich 0, sondern gleich 2147483647.