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

 

Guten Tag. Zurück zu meiner Frage. Die umgekehrte Transaktion funktioniert nicht. Ich habe mich auf der Website umgesehen, aber nichts zu diesem Thema gefunden. Können Sie mir sagen, was ich falsch mache (ich lerne die Sprache noch). Er muss bei einer einzigen Kerze ausgelöst werden.

extern double TP = 70; //Gewinn nehmen
extern double SL = 0; //Verlust stoppen
extern double Lot = 0.1;

double HighLevel;
double LowLevel;
int resBuy=0;
int resSell=0;


//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
HighLevel=High[1];
LowLevel=Low[1];
return;
}

//+------------------------------------------------------------------+
//| Expertenfunktion |
//+------------------------------------------------------------------+

void start()
{

if(Bars<100 && IsTradeAllowed()==false) return;


if(resBuy==0 && resSell==0 && CheckBreak()==-1)
{
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
}

if(resBuy==0 && resSell==0 && CheckBreak()==1)
{
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
}

if(resBuy!=0 && resSell==0 && Close[1]<LowLevel) //------------------------------------- interessiert sich für diesen Teil: Schließen und Öffnen auf einem Balken
{
bool closeBuy=OrderClose(resBuy, Lot, Bid, 2, Blue);
// while(!IsTradeAllowed()) Sleep(100);
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=Close[1];
return;
}

if(resSell!=0 && resBuy==0 && Close[1]>HighLevel) //------------------------------------- interessiert sich für diesen Teil: Schließen und Öffnen auf einem Bar
{
bool closeSell=OrderClose(resSell, Lot, Ask, 0.0002, Red);
// while(!IsTradeAllowed()) Sleep(100);
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=HighLevel;
HighLevel=Close[1];
return;
}

}

//----------------------------------------------------------------- Check Low&High break (Func)

double CheckBreak()
{
double candle=Open[1]-Close[1];

if(candle>0 && Low[1]<LowLevel) return(-1);
if(candle<0 && High[1]>HighLevel) return(1);
}


 
Guten Tag zusammen,

Es gibt ein Problem mit Arrays:

Angenommen

int start (){ // Funktionsstart

int OrdSen_1=OrderSend(Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point); // Kauforder
if(OrdSen_1==-1){ Alert("OrdSen_1 ",GetLastError());} // Überprüfung auf Fehler bei der Bestellung

double mas1[]={}; // Array
}

Die Frage ist, wie man die Werte "Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point", die zu OrdSen_1 gehören, in das Array mas1[]={} stellt, so dass sie weiterverwendet werden können, aus dem Array entnommen werden können oder diese Werte mit Variablen für deren weitere Verwendung gleichgesetzt werden können. Es kann noch mehr solcher Anordnungen geben, ebenso wie Arrays. Die Hauptsache ist, dass Sie das Prinzip verstehen.

SEHR dankbar für Hilfe und Erklärungen, vorzugsweise im Detail :)
 
Techno:

Outside wird gelöscht, weil Sie es nicht benutzen, d.h. Sie rufen es nicht von irgendwoher auf, ist das jetzt klar?

Verstanden, danke :)
 
artmedia70:

Was halten Sie von dieser Probe? :)))))

Mit Wifi ist das in Ordnung.
 

Grüße. Wie kann der Editor die Übersicht über alle Stellen im Code behalten, an denen dieselbe Variable oder Funktion verwendet wird?

 
Galion:

Grüße. Wie kann der Editor die Übersicht über alle Stellen im Code behalten, an denen dieselbe Variable oder Funktion verwendet wird?


Ich verwende Notepad++ für diese Aufgabe. Sie müssen eine Variable nur einmal markieren, damit sie im gesamten Code hervorgehoben wird.

 
Aber damit Notepad++ die Syntax hervorhebt, müssen Sie es auf die MQL4-Sprache abstimmen. Geben Sie Notepad++ in die Suche dieses Forums ein und Sie werden einen Link zu einem bereits konfigurierten Editor finden - ich habe ihn hier mehr als einmal gepostet.
 
drknn:
Aber damit Notepad++ die Syntax hervorhebt, müssen Sie es auf die MQL4-Sprache abstimmen. Geben Sie Notepad++ in die Suche dieses Forums ein und Sie werden einen Link zu einem bereits konfigurierten Editor finden - ich habe ihn hier mehr als einmal gepostet.

Ich danke Ihnen. Installiert, es leuchtet, es ist mehr Spaß))
 
Galion:

Ich danke Ihnen. Installiert, es leuchtet, es ist mehr Spaß))

Es gibt eine sehr interessante Funktion zum Markieren von gefundenen Variablen. Drücken Sie Strg+F, geben Sie den Variablennamen ein, aktivieren Sie "Lesezeichen" und "Gefunden markieren". Drücken Sie dann auf die Schaltfläche "Alle suchen". Um diese zu entfernen, klicken Sie auf die Schaltfläche "Alle entfernen".
 
drknn:

Es gibt eine sehr interessante Funktion zum Markieren gefundener Variablen. Drücken Sie Strg+F, geben Sie einen Variablennamen ein und kreuzen Sie die Kästchen "Lesezeichen" und "Gefunden markieren" an. Drücken Sie dann auf die Schaltfläche "Alle suchen". Um diese zu entfernen, klicken Sie auf "Alle entfernen".

Und ein Doppelklick führt zum Codeschnipsel))) Genau das, was ich brauche, danke)
Grund der Beschwerde: