[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 356

 

eine andere Frage, wie man Indikatoren zu mt4 hinzufügen?


danke

 
Garifyanov:

eine andere Frage, wie man Indikatoren zu MT4 hinzufügen?


danke

Helfen die Dokumentation und das Tutorial nicht weiter?
 
artmedia70:
Helfen die Dokumentation und das Lehrbuch nicht weiter?


Danke, ich werde jetzt nachsehen.
 
Hallo, ich kann keinen Indikator finden, der horizontale Linien zwei Tage lang auf dem Hoch und Tief einer bekannten Zeitkerze zeichnet. Schicken Sie mir einen Link oder vielleicht eine Skizze eines Indikators.
 

Können Sie mir bitte sagen, warum der EA nicht handelt. Setzen Sie es auf Demo (lächelt) - es funktioniert nicht. Es scheint, dass die Funktion am Anfang, die den Handel nur beim Testen erlaubt, entfernt wurde.

extern double Lots=1.0;

extern int Begin=10;

extern inttern Länge=4;

extern int EOD=24;

extern inttern Pips=5;

extern int StopLoss=50;

extern int BreakEven=30;

extern inttern TakeProfit=80;


//+------------------------------------------------------------------+

//| Expertenstartfunktion |

//+------------------------------------------------------------------+

int start()

{

//----

int i,Ticket,LastOrderTime,StartTime,EODTime,Bought=0,Sold=0;

double EntryLong,EntryShort,SLLong,SLShort,TPLong,TPShort;

//Einstellungen

wenn (Symbol()=="EURUSD"){

Begin=10;

Länge=4;

EOD=24;

Pips=5;

StopLoss=50;

BreakEven=30;

TakeProfit=80;

}

else if (Symbol()=="GBPUSD"){

Begin=10;

Länge=4;

EOD=24;

Pips=5;

StopLoss=70;

BreakEven=40;

TakeProfit=120;

}

sonst {

Begin=10;

Länge=4;

EOD=24;

Pips=5;

StopLoss=50;

BreakEven=30;

TakeProfit=80;

}


//Zeit zählen

if(Stunde()>=Beginn-1)

{

StartTime= StrToTime(Begin+":00");

if(DayOfWeek()==5) EODTime = MathMin(StrToTime("22:55"),StrToTime(EOD+":00"));

sonst EODTime = StartTime+(EOD-Begin)*3600-60;

}

//Aufträge einstellen

if(CurTime()>= StartTime && CurTime()<StartTime+300){

//Bereich bestimmen

EntryLong =High[Highest(NULL,0,MODE_HIGH,Length*60/Period(),0)]+(Pips+MarketInfo(Symbol(),MODE_SPREAD))*Point;

EntryShort =Low [Lowest (NULL,0,MODE_LOW, Length*60/Period(),0)]-Pips*Point;

SLLong =MathMax(EntryLong-StopLoss*Point,EntryShort);

SLShort =MathMin(EntryShort+StopLoss*Point,EntryLong);

TPLong =EntryLong+TakeProfit*Point;

TPShort =EntryShort-TakeProfit*Point;

//Bestellungen prüfen

for (i=0;i<OrdersTotal();i++){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUY)) Gekauft++;

if(Gekauft>1){ //mehr als 1 Kaufauftrag

if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);

if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket();

}


if(OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELL)) Verkauft++;

if(Verkauft>1){ //mehr als 1 Verkaufsauftrag

if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);

if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());

}

}

if(Gekauft==0){ //kein Kaufauftrag

if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);

Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,EntryLong,3,SLLong,TPLong,NULL,0,0,Green);

if(Ticket<0 && GetLastError()==130)

Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SLLong,TPLong,NULL,0,0,Green);

GlobalVariableSet("LastOrderTime",OrderOpenTime())

}

if(Verkauft==0){ //kein Verkaufsauftrag

if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);

Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,EntryShort,3,SLShort,TPShort,NULL,0,0,Green);

if(Ticket<0 && GetLastError()==130)

Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SLShort,TPShort,NULL,0,0,Green);

GlobalVariableSet("LastOrderTime",OrderOpenTime())

}

}

//Verwaltung geöffneter Aufträge

for (i=0;i<OrdersTotal();i++){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(CurTime()<=GlobalVariableGet("LastOrderTime")+10) Sleep(10000);

//uzavšenín pozic na konci dne

if(CurTime()>=EODTime){

if(OrderSymbol()==Symbol() && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

if(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket());

if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket());

GlobalVariableSet("LastOrderTime",CurTime());

}

//Zug bei BE, wenn Gewinn>BE

sonst {

if(OrderSymbol()==Symbol() && OrderType()==OP_BUY){

if(Hoch[0]-OrderOpenPrice()>=BreakEven*Point && OrderStopLoss()!=OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);

GlobalVariableSet("LastOrderTime",CurTime());

}

}

if(OrderSymbol()==Symbol() && OrderType()==OP_SELL){

if(OrderOpenPrice()-Low[0]>=BreakEven*Point && OrderStopLoss()!=OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);

GlobalVariableSet("LastOrderTime",CurTime());

}

}

}

}

//Rücksetzen der globalen Variablen bei EOD

if(CurTime()>=EODTime) GlobalVariablesDeleteAll();

zurück(0);

}

//+------------------------------------------------------------------+

 
Guten Tag zusammen, ich habe MT4 FIFTYZNAK installiert. iMA Indikator gibt 4 Ziffern, aber wie bekommt man 5 Ziffern? Bitte helfen Sie mir zu verstehen.
 
MK07:
Guten Tag an alle. Ich habe MT4 FIFTY-ZNAK installiert. iMA-Indikator gibt 4 Zeichen, aber wie erhält man 5 Zeichen? Bitte helfen Sie zu verstehen.

Sie hat einen fünfstelligen Wert. Um seinen Wert zu sehen , verwenden Sie

string DoubleToStr( double Wert, int Ziffern)

Konvertiert einen numerischen Wert in eine Textzeichenfolge, die eine Zeichendarstellung einer Zahl in einem bestimmten Genauigkeitsformat enthält.

Parameter:


value - Fließkommawert.

digits - Anzahl der Stellen nach dem Dezimalpunkt (0-8).


Beispiel:
  string value=DoubleToStr(1.28473418, 5);
  // содержимое строки value - "1.28473"
 
laveosa:

Roman ... Schön, Sie zu sehen. Ich habe es versucht, es funktioniert nicht, ich verstehe nicht, was falsch ist, visuell gibt es eine Geschichte für den oben genannten Zeitraum, aber wenn ich es getestet habe, gibt es keine...? :/

Drücken Sie F2 und laden Sie herunter, bis Sie bewusstlos sind! ;))
 

Wie zeigen Sie dem Programm an, dass der Balken den gleitenden Durchschnitt berührt hat? Sie brauchen keinen Maximal- oder Minimalwert, Sie müssen eine Berührung anzeigen.

 
Forexman77:

Wie zeigen Sie dem Programm an, dass der Balken den gleitenden Durchschnitt berührt hat? Sie brauchen keinen Maximal- oder Minimalwert, Sie müssen eine Berührung anzeigen.

Das maximale (aktuelle) Hoch[0] liegt über dem MA, und folglich liegt das minimale (aktuelle) Tief[0] unter dem MA (soweit ich weiß, handelt es sich um den 0. Balken).