[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 245

 
Stells:

in globalen Variablen
Drucken Sie dann den Objektnamen und das Präfix aus.
 

Wie berechne ich den Gewinn für einen Auftrag?

if(OrderType() == 0) profitbuy += ((Bid - OrderOpenPrice())*OrderLots()*(tickvalue/ticksize))+OrderSwap()+OrderCommission();

Was habe ich falsch gemacht? Bei Eur/Usd funktioniert es, aber bei Usd/Jpy funktioniert es, aber nicht richtig.

 

Ich habe beschlossen, die Funktion zum Ändern des Zeitrahmens zu verwenden, da sie mir einfacher und übersichtlicher erscheint. Es lässt sich nicht kompilieren. Vielleicht liegt es an mir, natürlich etwas Dummes. Ich habe es so geschrieben.

'fChangePeriod' - Variable nicht definiert C:\terminal\experts/indicators/timeframe.mq4 (37, 12)

WM_COMMAND' - Variable nicht definiert C:Terminal/experts/indicators/timeframe.mq4 (62, 22)

//+------------------------------------------------------------------+
//|                                                    таймфрейм.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
extern int nPeriod=30,P=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(P<0){fChangePeriod;P--;}
//----
   return(0);
  }
//+------------------------------------------------------------------+

void fChangePeriod(int nPeriod)
{
   int hWnd, wParam;
   
   switch(nPeriod)
   {
      case PERIOD_M1:  wParam = 33137; break;
      case PERIOD_M5:  wParam = 33138; break;
      case PERIOD_M15: wParam = 33139; break;
      case PERIOD_M30: wParam = 33140; break;
      case PERIOD_H1:  wParam = 33135; break;
      case PERIOD_H4:  wParam = 33136; break;
      case PERIOD_D1:  wParam = 33134; break;
      case PERIOD_W1:  wParam = 33141; break;
      case PERIOD_MN1: wParam = 33334; break;
   }
        
   hWnd = WindowHandle(Symbol(),Period());
        
   PostMessageA(hWnd,WM_COMMAND,wParam,0);
}
 
Ich weiß nicht, dll noch, für dieses Skript zu arbeiten, sollte ich diese dll in einem der Ordner setzen? Ich bin ein wenig verwirrt.
 
Vinin:

Geben Sie mir den Code.

Schweigen Sie nicht, sagen Sie etwas, denke ich gerade oder nicht?

 
Was die Bibliothek und die WinAPI-Funktionen betrifft, in welchem Stammverzeichnis sollte ServicesMT4.rar abgelegt werden? Schauen Sie einfach ServicesMT4.rar, öffnete es, auch keine Möglichkeit - öffnen Programme schwören, falsches Format angegeben.
 
Dimka-novitsek:
Was die Bibliothek und die WinAPI-Funktionen betrifft, in welchem Stammverzeichnis müssen Sie ServicesMT4.rar speichern? Schaue gerade ServicesMT4.rar, habe es geöffnet, funktioniert auch nicht - Programmöffner fluchen, falsches Format ist angegeben.

Es gibt ein Skript mit Beispielen für die Verwendung aller Bibliotheksfunktionen. Alles kann auf die gleiche Weise gemacht werden.

Das Archiv sollte in das MT4-Verzeichnis entpackt werden oder entpacken Sie alles separat. Es gibt auch eine Anweisung mit 5 Punkten.

Das Archiv ist für mich geöffnet. Ich habe es gerade überprüft. Sie sollten es nicht erfinden. Ich empfehle Ihnen, die Anweisungen sorgfältig zu lesen.

Hier ist ein Beispiel für einen Expert Advisor:

#include <ServicesMT4.mqh>
void start()
  {
   int hwndChart = WindowHandle(Symbol(),Period());
   while (!IsStopped())
    {
     for (int i = 0; i < 9; i++)
      {
       ServiceSetTimeframeByNumber(hwndChart, i);
       Sleep(2000);
      }
    }
  }
 

Nun, ich glaube, ich habe gelesen... Die Dateien

DienstleistungenMT4.mqh (94.1 Kb) Ansicht
WinUser32.mqh (70.3 Kb) Ansicht
Check_DiensteMT4.dll.mq4 (115,2 Kb)
ZH_Alle_Quotierungen 4.10912.mq4 (8.4 Kb) Ansicht

Ich habe die Dateien dort abgelegt, wo sie hingehören, kein Problem.

Aber das ist 4. Entpacken Sie das Archiv mit all diesen Verzeichnissen und der Bibliothek in MT4 in das Stammverzeichnis von MT4.

Ich kann das nicht verstehen. Was ist das Stammverzeichnis? Und wie entfernt man ZIP aus dem Namen des Archivs? Ja, das Archiv einfach in den linken Ordner auf meinem Computer gespeichert, so dass ich, es ist dort unterzeichnet, ich sehe nicht in den Namen der ZIP, heißt es ServicesMT4.rar, wahr, die Erweiterung ist ZIP, aber wie man es ändern, wenn ich brauche? Vielleicht nicht, aber was ist das Stammverzeichnis?

 
Dimka-novitsek:

Nun, ich glaube, ich habe gelesen... Dateien

ServicesMT4.mqh (94.1 Kb) Ansicht
WinUser32.mqh (70.3 Kb) Ansicht
Check_ServicesMT4.dll.mq4 (115.2 Kb)
ZH_All_Quotings 4.10912.mq4 (8.4 Kb) Ansicht

Ich habe sie ohne Probleme dort angebracht, wo sie sein sollte.

Aber das ist 4. Ich habe das Archiv mit all diesen Dateien und der Bibliothek in MT4-Verzeichnissen in das MT4-Stammverzeichnis entpackt.

Ich kann das nicht verstehen. Was ist das Stammverzeichnis? Und wie entfernt man ZIP aus dem Namen des Archivs? Ja, das Archiv einfach in den linken Ordner auf meinem Computer gespeichert, so dass ich, es ist dort unterzeichnet, ich sehe nicht in den Namen der ZIP, heißt es ServicesMT4.rar, wahr, die Erweiterung ist ZIP, aber wie man es ändern, wenn ich brauche? Vielleicht ist das nicht notwendig, aber was ist das Stammverzeichnis?

1. Die aufgeführten Dateien befinden sich im Archiv. Das Archiv enthält aber auch die wichtigste Datei der ServicesMT4.dll-Bibliothek selbst. Andernfalls kann sie nicht angebracht werden. Diese Möglichkeit wurde uns vor kurzem genommen.

2. Das Stammverzeichnis von MT4 ist das Verzeichnis Ihres MT4. Ich weiß nicht, wie ich es sonst einfach erklären soll.

Um die Erweiterungen zu sehen, müssen Sie die Sichtbarkeit dieser Erweiterungen in den Eigenschaften des Ordners konfigurieren. Ich bin sehr überrascht, dass der Programmierer die Sichtbarkeit von Erweiterungen deaktiviert hat. Genau wie eine Puppe.

4. Danach wird es hoffentlich nicht mehr schwierig sein, die Erweiterung umzubenennen. Nur für den Fall, dass Sie dies über das Kontextmenü der rechten Maustaste tun.

5. Ich habe WinRar, das diese Datei mit einer beliebigen Erweiterung öffnet. Die Erweiterung ist nur erforderlich, um Dateien automatisch mit Programmen zu verknüpfen, die sie öffnen.

 

Bitte geben Sie mir einen Tipp. Die Situation ist wie folgt:


#import "Trend.ex4"

double Zena(imya,sdvig);

#import

Wenn ich versuche, diese Funktion zu importieren, schreibt der Compiler: 'imya' - Parameterdefinition erwartet. Was soll ich tun?