Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 808

 

Hallo! Helfen Sie mir hier. Ich schreibe gerade meinen ersten EA in MQL4.

Mein Expert Advisor eröffnet eine Position, schließt sie aber nicht. Es werden keine Fehler im Protokoll angezeigt.

void OnTick()
  {RefreshRates();
  ma1=iMA(_Symbol,TimeFrame,Period_MA1,Shift_MA1,metod_ma1,PRICE_CLOSE,0);
ma2=iMA(_Symbol,TimeFrame,Period_MA2,Shift_MA2,metod_ma2,PRICE_CLOSE,0);


if (ma1<ma2)
{
SellPositionClose();
BuyPositionOpen();
}

if (ma1>ma2)
{
BuyPositionClose();
SellPositionOpen();
}
}
 

     
void BuyPositionOpen()  // покупка
{int res=0;
RefreshRates();
if (OrdersTotal()==0)
res=OrderSend(_Symbol,OP_BUY,Lots,Ask,3,0,0,"",Magic,0,Blue);
if (res<0) Print("OrderClose111111 error ",GetLastError());
}

void     SellPositionOpen() // продажа
{int res=0;
RefreshRates();
if (OrdersTotal()==0)
res=OrderSend(_Symbol,OP_SELL,Lots,Bid,3,0,0,"",Magic,0,Red);
if (res<0) Print("OrderClose111111 error ",GetLastError());
}

void BuyPositionClose() // закрытие длинной позиции
{RefreshRates();
if ((OrdersTotal()!=0) && (OrderMagicNumber()==Magic))
{
if (!OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) Print("OrderClose error ",GetLastError());

 if(OrderType()==OP_BUY)
           
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print("OrderClose error ",GetLastError());
               }
               }
               
void SellPositionClose()  // закрытие короткой позиции
{RefreshRates();
if (OrdersTotal()!=0 && OrderMagicNumber()==Magic)
{
if (!OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) Print("OrderClose error ",GetLastError());
    
     if(OrderType()==OP_SELL)
                
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,100,White))
               Print("OrderClose error ",GetLastError());
               
               }
               }
 
Terind:

Hallo! Helfen Sie mir hier. Ich schreibe gerade meinen ersten EA in MQL4.

Mein Expert Advisor eröffnet eine Position, schließt sie aber nicht. Es werden keine Fehler im Protokoll angezeigt.

Diese Bedingung funktioniert nicht:

if ((OrdersTotal()!=0) && (OrderMagicNumber()==Magic)) //ордер ещё не выбран с помощью OrderSelect()
 
evillive:

Das ist die Bedingung, die nicht funktioniert:

Ich danke Ihnen. Das Problem ist behoben, es funktioniert jetzt.
 
Hallo. Ich bin auf dieses Problem gestoßen. Wenn ich Linien und Rechtecke auf dem Chart eines Paares zeichne, werden alle diese Elemente auf den Märkten anderer Paare angezeigt.
 
roymax:
Hallo. Ich bin auf ein solches Problem gestoßen. Wenn ich Linien und Rechtecke auf dem Diagramm eines Paares zeichne, werden alle diese Elemente auf den Märkten anderer Paare angezeigt. warum ist das so und wie kann ich es entfernen?
Ich muss es zeigen, weil andere nicht wissen, wie man es macht. Und vorzugsweise im Code
 

Dies ist ein seit langem bestehender Fehler, man könnte ihn als Feature betrachten :)

1. Zeichnen Sie etwas in ein Diagramm

2. Drücken Sie die Leertaste und gehen Sie zu einem anderen Paar

Die grafischen Objekte bleiben auf dem Diagramm

Beispiel:

In das Diagramm des Euro wurde eine gerade Linie eingezeichnet

Umstellung auf das Pfund und Verkleinerung der vertikalen Skala

 
tara:

Dies ist ein seit langem bestehender Fehler, man könnte ihn als Feature betrachten :)

1. Zeichnen Sie etwas in ein Diagramm

2. Drücken Sie die Leertaste und gehen Sie zu einem anderen Paar

Die grafischen Objekte bleiben auf dem Diagramm

Bild 765, funktioniert nicht, die Objekte bleiben zwar erhalten, aber auf der Grafik, auf der sie erstellt wurden :)

P.S.: Die von Alexey beschriebene Vorgehensweise funktioniert zwar, aber tatsächlich findet diese Aktion in einem Fenster statt, das Diagrammsymbol ändert sich, aber das Objekt ist mit dem Fenster verbunden, nicht mit einem Symbol)))

 
Bedeutet AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)=false, dass das Konto gesperrt ist? Oder handelt es sich nur um ein Handelsverbot? Welche weiteren Kriterien gibt es für ein gesperrtes Konto? Und was genau, außer einem Handelsverbot, wird das Konto gesperrt, wenn die Anmeldung bestanden wurde (ich meine Fehler 64)?
 
tara:

Dies ist ein seit langem bestehender Fehler, man könnte ihn als Feature betrachten :)

1. Zeichnen Sie etwas in ein Diagramm

2. Drücken Sie die Leertaste und gehen Sie zu einem anderen Paar

Die grafischen Objekte bleiben auf dem Diagramm

Beispiel:

und das Problem wurde in keiner Weise behoben?
 

Hallo. Ich habe in der Dokumentation nachgesehen, konnte es aber nicht finden. Meine Frage ist folgende: Ist es möglich, dieses Bild am Anfang des EA in Ihr Logo zu ändern?






Grund der Beschwerde: