[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 162

 
igrok2008:
genau Alpari auf Demokonto und getestet NICHT gehandelt!!!!! terminal mt4 build 229........ tips!!!!!!
Ich habe ein Alpari-Konto, aber ich handele nicht ohne Stoplosses und Übernahmen, sondern nur mit dem Preis, und nachdem ich Aufträge und Positionen platziert habe, setze ich anschließend Stoplosses.
 
todem:
Normalisieren Sie Stop Loss, Take Profit und Open Price mit NormalizeDouble

ohne Normalisierung wird es IMHO einen 130. Fehler geben, aber ja, das ist auch nötig
 
ich dachte, vielleicht ist es etwas mit der Währung. ich habe es sowohl mit dem Euro als auch mit dem Pfund versucht. NICHTS TRADES!!!!! kann mir jemand sagen!!!!!!
 
igrok2008:
ich dachte, vielleicht ist es etwas mit der Währung. ich habe es sowohl mit dem Euro als auch mit dem Pfund probiert. NICHTS GEHT!!!!! wer kann mich beraten?
mein Vorschlag: nehmen Sie die SL und TP. anstelle von 0...
 
igrok2008:
ich dachte, dass vielleicht etwas mit der Währung nicht stimmt. habe sowohl Euro als auch Pfund ausprobiert NICHTS trades!!!!! wer kann uns das bitte sagen!!!!!!
ticket1=OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, SL, TP, NULL, MagicNumber);
if (ticket1!=0) {return(0);}
else Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
     
oder machen Sie es einfach so, weil Sie viel auf einmal wollen.
 
todem:
ich habe auch ein alpari, aber alles wird ohne Stoplosses und Übernahmen gehandelt, nur der Preis und nach der Platzierung von Aufträgen und Positionen platziere ich Stoplosses als nächstes

Ich habe sowohl Stop als auch Trawl im EA auf 0 gesetzt und es wird immer noch nicht gehandelt. Ich habe eine Kopie des EA, entfernt Stop aus dem Code, trall noch nicht Handel

Code des Expert Advisors ohne Stop und Trall

//+------------------------------------------------------------------+
//|                                                eSvechi+MA_v1.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


//---- input parameters
extern int       MA=13;
extern double    Lots=0.1;
extern int       StopLoss=100;
extern int       TakeProfit=100;
extern int       MagicNumber=501;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}

// Проверяем наличие закрытой на текущей свече позиции типа Type. Если есть, то возвращает False  
bool CheckExists(int Type)  
{
 bool Result=True;
 for(int i=OrdersHistoryTotal()-1; i>=0;i--)
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol() && OrderCloseTime() >= Time[0] && OrderType() == Type)
    {
     Result=False;
     break;
     }
 return(Result); 
 }
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {

        // Узнаем уровень стопов и спрэд
    int Spread = MarketInfo(Symbol(), MODE_SPREAD);
    int StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);

        //Рассчитываем значения средних на 0-ом и 1-м баре
    double MA_0 =iMA(NULL, 0, MA,0,1,1,0);    
    double MA_1 =iMA(NULL, 0, MA,0,1,1,1);
    
 //-------------открытие позиции Buy покупка-----------------
 //сравниваем на 1-м баре цену закр. и откр. между собой и с МА, на 0-м баре откр. меньше МА закр. больше МА
    if(
       (Open[0+1]<Close[0+1])&& 
       (Close[0+1]<MA_1)&&
       (Open[0]<MA_0)&&
       (Close[0]>MA_0)
      )
     if(CheckOrders(OP_SELL) && CheckExists(OP_BUY))
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    //-------------Открытие позиции Sell продажа----------------   
    if(
       (Open[0+1]>Close[0+1])&& 
       (Close[0+1]>MA_1)&&
       (Open[0]>MA_0)&&
       (Close[0]<MA_0)
      )
     if(CheckOrders(OP_BUY) && CheckExists(OP_SELL))
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 10, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }
//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+
 
int OrderOp(int ord,double lot) // открытие ордера бай 
{
   double TP,SL,ticket;
   string ccm="";
   int ticket1;
   j2=autorazmer();
   
   if (ord==OP_BUY) {
   l=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), MarketInfo(Symbol(), MODE_DIGITS));
   
      ccm="ZZ:"+Period()+" -> BUY";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      OrderPrint();
   }
   if (ord==OP_SELL) {
   h=NormalizeDouble(MarketInfo(Symbol(), MODE_BID), MarketInfo(Symbol(), MODE_DIGITS));
   
      ccm="ZZ:"+Period()+" -> sell";
      ticket1=OrderSend(Symbol(),ord,lot,h,3,0,0,ccm,MG,0,White);
      OrderPrint();
   }
   if (ord==OP_BUYSTOP) {
   l=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), MarketInfo(Symbol(), MODE_DIGITS));
   lo=NormalizeDouble(l+j2*Point,Digits);
      ccm="ZZ:"+Period()+" -> BUYstop";
      ticket1=OrderSend(Symbol(),ord,lot,lo,3,0,0,ccm,MG,0,White);
      OrderPrint();
   }
   if (ord==OP_SELLSTOP) {
   h=NormalizeDouble(MarketInfo(Symbol(), MODE_BID), MarketInfo(Symbol(), MODE_DIGITS));
   ho=NormalizeDouble(h-j2*Point,Digits);
      ccm="ZZ:"+Period()+" -> sellstop";
      ticket1=OrderSend(Symbol(),ord,lot,ho,3,0,0,ccm,MG,0,White);
      OrderPrint();
   }
   return(ticket1);
}
können Sie die Auftragseröffnungsfunktion für Alpari nutzen...
 
Fehler überall 131
 

Eine einfache Frage. Können Sie mir sagen, wer das kann :)

Wenn ich 2 EAs auf ein Tool setzen muss.

Ich öffne zwei Fenster im Terminal und binde meinen Bot an jedes?

Es stellt sich heraus, dass der 2. Bot, der z.B. mit nur einer Marktorder arbeitet, nicht in der Lage ist, ein Geschäft zu eröffnen, wenn es schwebende Geschäfte gibt, die vom 1. Bot eröffnet wurden?

Oder kann der 2. Bot die Geschäfte des 1. Bots schließen, wenn sie die Kriterien für das Schließen des 2. Bots erfüllen?

 

Hallo zusammen...

Könnten Sie mir bitte sagen, wie ich den Pfad zu den MetaTrader 4 History-Dateien erstellen kann? Wie "c:\Programmdateien\metatrader 4\history\alpari-classic\"?

Ich weiß, dass es eine magische Zeichenkette TerminalPath() gibt, die den Pfad zu dem Ordner zurückgibt, aus dem das Terminal geladen wird. Es ist verständlich, es gibt \Geschichte}, und dann geheimnisvolle Namen von reichen Büros, die auf meine Kosten leben. Wie kann ich sie erreichen?