[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 158

 

z.B. so für bystop:

// Step изначально задан в пунктах
  op=MathMax(OrderOpenPrice()+ Step*Point, Ask+MarketInfo(Symbol(), MODE_STOPLEVEL)*Point);
  op=NormalizeDouble( op, Digits)




 

Ist es möglich, eine Bedingung in diese Zeile auf Close zu setzen, damit ein Indikator Aufträge auf, sagen wir mal, die

MA>Bid

wo sollte er eingefügt werden, wenn möglich, und wenn ja, ist das, was unten steht, korrekt? ....


    if ((OrderType()==OP_BUY )&& MA>Bid) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID), slippage);//правильно ли это?
 
Wie finde ich das Maximum/Minimum des Vortages?
 
RocketTrend писал(а) >>
Wie finde ich das Maximum/Minimum des Vortages?
double HighDay=iHigh(NULL,PERIOD_D1,1);
double LowDay=iLow(NULL.PERIOD_D1,1);
 

Was ist hier los?

//+------------------------------------------------------------------+
//| RSI+MA.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_minimum 20
#property indicator_maximum 80
#property indicator_buffers 2
#property indicator_color1 Yellow
#property indicator_color2 MediumOrchid
//---- input parameters
extern int per_rsi=6;
extern int per_ma=24;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
//----
return(0);
}
int start()
{
int d;
int counted_bars=IndicatorCounted();
//----
for (d=0; d==Bars-counted_bars-1; d++)
{
double ExtMapBuffer1[d]=iRSI(Symbol(),PERIOD_H1,per_rsi,PRICE_CLOSE,0);
}
for (d=0; d==Bars-counted_bars-1; d++)
{
double ExtMapBuffer2[d]=iMAOnArray(ExtMapBuffer1,0,per_ma,0,MODE_EMA,0);
}
//----
return(0);
}
//+------------------------------------------------------------------+

Hier ist das Compiler-Protokoll nicht wie Indizes und Klammern warum?

'd' - integer number expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (42, 25)
']' - comma or semicolon expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (42, 26)
'd' - integer number expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (46, 25)
']' - comma or semicolon expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (46, 26)


 

Ich habe den Fehler bereits gefunden, danke für Ihre Aufmerksamkeit

 
1Rakso >> :

Ist es möglich, in dieser Zeile eine Bedingung für die Schließung eines Auftrags durch, sagen wir, eine

wo sollte es eingefügt werden, wenn möglich, wenn ja, ist es richtig, was unten ist? ....



--

//----------------------------------------------------------------------
  for (int v=0; v<OrdersTotal(); v++)     { //задаем перебор ордеров      
      if (OrderSelect( v, SELECT_BY_POS, MODE_TRADES))  {//выбираем из откр. поз           
        if (OrderSymbol()==Symbol()&& OrderMagicNumber()== MagicNumber)   { 
//если символ соответствует графику 
// и магик соответствует заданному   
//-----------------------------------------------------                  
if (OrderType() == OP_BUY) { //если это - позиция БАЙ
      if( MA>Bid  )     {
           OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //--------------------------------------------------------
if (OrderType() == OP_SELL) { //если это позиция СЕЛЛ
      if( MA<Bid )    {
                 OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //-------------------------------------------------------                       
    }  // Symbol()  
  } // select
 } //total
 
rid >> :

--


>> : : : : : : : : : : : . >> Danke für die Hilfe)


 
rid >> :

--

//----------------------------------------------------------------------
  for (int v=0; v<OrdersTotal(); v++)     { //задаем перебор ордеров      
      if (OrderSelect( v, SELECT_BY_POS, MODE_TRADES))  {//выбираем из откр. поз           
        if (OrderSymbol()==Symbol()&& OrderMagicNumber()== MagicNumber)   { 
//если символ соответствует графику 
// и магик соответствует заданному   
//-----------------------------------------------------                  
if (OrderType() == OP_BUY) { //если это - позиция БАЙ
      if( MA>Bid  )     {
           OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //--------------------------------------------------------
if (OrderType() == OP_SELL) { //если это позиция СЕЛЛ
      if( MA<Bid )    {
                 OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //-------------------------------------------------------                       
    }  // Symbol()  
  } // select
 } //total

1) Wie kann man sie durch externe Variablen schaltbar machen?

2) Kann ich es so einstellen, dass der erste offene Auftrag geschlossen wird und die nächsten Aufträge 2, 3 usw. nicht geschlossen werden? Angenommen, ich eröffne einen Kaufauftrag - das ist der erste Auftrag, dann eröffne ich einen weiteren Kaufauftrag - den zweiten usw., und von dieser Reihe von Aufträgen würde nur der erste Auftrag durch СorderClose geschlossen?

 

Hallo, alle ))))

Hilfe.

Ich habe gerade mit der Programmierung von mql4 begonnen.

Ich schreibe gerade einen Expert Advisor.

Ich habe eine Frage: Wie mache ich das?

Ich möchte, dass mein EA nur montags funktioniert. Ich möchte, dass er nur 1 Auftrag am Montag öffnet, wenn ich ihn schließe, dann wird er bis Montag geschlossen.

Ich habe eine neue Bar, die am Montag um 9.00 Uhr öffnet.

Wie bestimme ich den Eröffnungspreis und speichere ihn in einer Variablen?