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

 
kara100 >>:

Здравствуйте, все! Подскажите, плз, как вытащить из индикатора +МР, сами значения уровней для использования в советнике?

Sie können versuchen, ObjectGet() zu verwenden. Beachten Sie die Linie DrawVLine(onp + "hz", hz, Red, 1, STYLE_DOT, false);

 
Necron писал(а) >>

Sie können versuchen, ObjectGet() zu verwenden. Beachten Sie die Linie DrawVLine(onp + "hz", hz, Red, 1, STYLE_DOT, false);

Danke

 
Andrew_Filinsky >>:

Здравствуйте. Я начинающий трейдер, придумал торговую стратегию, написал советника, при его работе на демосчёте возникла следующая проблема:

Советник иногда зависает во время выполнения операции OrderSend(). Выглядит это так: в вечером запустил советник, утром обнаруживаю, что советник завис в 3 часа ночи. В логе присутствует сообщение "Выполнение команды началось ...", сообщения "... Выполнение команды закончилось" нет. Терминал MT4 работает, получение котировок происходит, котировки отображаются на графике инструмента, на котором работает советник, советник висит. Ситуация возникает неоднократно, после перезапуска терминала ошибка может повториться через несколько часов.

Вопросы:

В чём причина зависания советника? Как устранить зависание?

Вот фрагмент соответствующего кода:

Дополнительная информация: использую GPRS-модем, включён круглосуточно, обрывов связи с потерей коннекта в течение работы советника не наблюдается, программ для анализа сетевого трафика специально не устанавливал, работает только стандартный брандмауэр WinXP.

Поискал по форуму, подходящего описания такой проблемы, её причин и способов их устранения не нашёл.

( Такое ощущение, что проблема возникла на ровном месте. Вообще не представляю, как такие фундаментальные вещи могут не работать )

Versuchen Sie, parallel zum EA ein Skript in einer Schleife laufen zu lassen, das bei einem Fehler mit einer Frequenz von 3000 Slips (3 Sekunden) aktualisiert wird.

Ich denke, das Problem kann durch eine regelmäßige Anfrage (unabhängig von Ticks) gelöst werden.

Sie aktualisieren, wenn es ein Häkchen gibt, aber wenn es ein Häkchen gibt, warum aktualisieren?

daher kann nur ein Skript mit Schleifen helfen.

int start()
{//+----------------------------------------------+
 while(!IsStopped())
   {if(!IsConnected())RefreshRates();
    Sleep(3000);
   }
return(0);
}//+----------------------------------------------+

Ich habe es direkt in Mozilla geschrieben, ohne zu prüfen, ob es funktioniert).

 
Rover82 >>:

вот.

Prüfen Sie, ob mein Indikator nicht angezeigt wird (dort ist eine .csv-Datei erforderlich). Die Einstellung labels sollte true sein

Dateien:
optlev_1.mq4  15 kb
 
Necron >>:

Проверьте, у меня не отображается индикатор (там .csv нужен какой-то). В настройках labels должно быть true

Necron, vielen Dank, es funktioniert... Ja, ich weiß, dass der Indikator selbst externe Daten benötigt....

 
Bitte helfen Sie mir, eine Position zu schließen!!! Ich habe 3 KAUFEN-Aufträge, ein Signal kommt, um eine KAUFEN-Position zu schließen und der letzte Auftrag, den ich geöffnet habe, ist geschlossen, aber ich muss den ersten schließen (den frühesten) Vielen Dank!
 

In MT4 sind für jedes Währungspaar zwei Fenster horizontal geöffnet (auf verschiedenen Zeitrahmen).

- Gibt es eine Möglichkeit, sie zu verknüpfen? - Wenn ich eine drücke, geht die zweite zusammen mit der ersten nach oben.

(Ich habe gehört, dass es Programme gibt, die die Verknüpfung von Fenstern ermöglichen, aber ich weiß nicht, ob sie mit MT funktionieren)

 
splxgf писал(а) >>

Es ist besser, auf ADSL oder eine andere Art von Verbindung umzusteigen. Ich verstehe nicht, wie Sie überhaupt mit gprs arbeiten können.

Advisor bleibt manchmal während OrderSend() hängen ...

... Ich benutze ein GPRS-Modem, das 24 Stunden am Tag eingeschaltet ist, keine Verbindungsunterbrechungen mit Verbindungsverlusten während der EA-Arbeit, ich habe keine Software zur Analyse des Netzwerkverkehrs installiert, nur die Standard-WinXP-Firewall.

[Tatsächlich reichen 10 MB Datenverkehr pro Tag und 0,8 (sic!) Kilobit pro Sekunde, was 50 Mal weniger ist als die Bandbreite von GPRS Klasse 10, aus, um mit sechs wichtigen Währungspaaren online zu arbeiten. Es ist wichtig, dass es keine Verbindungsabbrüche gibt und dass es nur eine geringe Verzögerung bei der Übertragung von Paketen zum und vom Broker gibt. Vom Telefon über GPRS war die Bandbreite ausreichend, aber es gab Unterbrechungen. Jetzt ist meine Verbindung über ein festes GPRS/EDGE-Modem 24 Stunden lang ohne Unterbrechungen gut, die Bandbreite für das MT4-Terminal ist sogar noch besser. [Ende des lyrischen Exkurses]

Ich habe die Ursache des Problems experimentell gefunden und behoben. Die Ursache war lediglich die WinXP-Firewall, die anscheinend die Datenübertragung vom MT-Terminal zum DC-Server gestört und verzerrt hat. Und was interessant ist, wurden Positionen geöffnet, geschlossen und manuell geändert, aber das Skript des Expert Advisors - puff. Das Problem mit den Hängern wurde gelöst, nachdem MetaTrader zur Liste der WinXP-Firewall-Ausnahmen hinzugefügt wurde.

Ich danke Ihnen allen für die mögliche Hilfe.

 
Советник иногда зависает во время выполнения операции OrderSend().

Urain schrieb :>>

Versuchen Sie, parallel zum EA ein Schleifenskript laufen zu lassen, das im Falle eines Non-Commitments mit einer Frequenz von 3000 Slips (3 Sekunden) aktualisiert. Ich denke, das Problem kann durch eine regelmäßige Anfrage (unabhängig von Ticks) gelöst werden.

Danke, ich habe die Ursache des Problems und die Lösung bereits gefunden. In der Tat ist die Verbindung nirgendwo hin, sie ist seit mehreren Tagen ohne Unterbrechungen stabil. Es stellte sich heraus, dass das Problem durch die Aktivitäten der WinXP-Firewall verursacht wurde, und es wurde gelöst, indem MetaEditor zur Ausnahmeliste hinzugefügt wurde.

 
Guten Abend zusammen! Kann mir jemand sagen, wie ich einen Auftrag abschließen und den ersten Auftrag auswählen und abschließen kann?
while(true)                                  // Цикл закрытия орд.
     {
      if ( Tip==0 && Cls_B==true)                // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert("Попытка закрыть Buy ", Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         
         Ans=OrderClose( Ticket, Lot,Bid,2);      // Закрытие Buy
         if ( Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Buy ", Ticket);
            break;                              // Выход из цикла закр
           }
         if ( Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }

BITTE HELFEN!!!