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

 
Die Hauptsache ist, die Richtung der Gedanken festzulegen... :)

Korrigieren Sie es, damit der Mann sich nicht verirrt... :)

Könnten Sie mich einfach korrigieren?
 
T.H.C.:
Könnten Sie mich bitte korrigieren, bitte?

Ich habe ein Beispiel genannt:

Wenn 5 größer als 2 ist, bedeutet dies, dass 5 größer als 2 ist.

Wenn die Differenz dieser Werte größer als Null ist, ist 5 größer als 2.

Ist das klar? Der Punkt bleibt - es ist alles die gleiche Mathematik der ersten Klasse, nur abgeleitet davon...

 
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;


bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell

//--------------------------------------------------------------- 3 --
// Учёт ордеров


for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;

if(Total!=0 || time==Time[1])return;

static int KolBars;



if (Close[0]-Open[0] > Point && Close[1]-Open[1] > Point && Bars == KolBars)


{

KolBars=Bars ; // запоминаем кол-во бар при которых совершались действия

}




// Торговые критерии

// Критерий откр. Buy


Opn_B=true;

//--------------------------------------------------------------- 7 --


if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,0,0);time=Time[1];}

}




Bitte helft mir, ich bitte euch zum vierten Mal. Ich habe 3 Tage lang nach einer Antwort gesucht, das Buch sagt nicht, wie man es macht, ich konnte keine EA mit einer solchen Bedingung finden. Der Elementarberater eröffnet eine Kaufposition beim Erscheinen einer neuen Kerze (vorausgesetzt, dass die vorherigen 2 Kerzen grün sind) und schließt die Position beim Schließen der Kerze, bei der die Position eröffnet wurde, oder beim Schließen der nächsten Kerze.

Der, den Sie oben sehen, öffnet eine Position jedes Mal, wenn eine neue Kerze erscheint, ohne auf die Eröffnungskriterien zu reagieren, und ich verstehe nicht, wie man die Position schließt, ich konnte es nicht im Tutorial oder in den Foren finden.

 
artmedia70:

Finde es heraus... :)

Und vergessen Sie nicht die Existenz von StopLev - int StLev=MarketInfo(Symbol(), MODE_STOPLEVEL);

Überprüfen Sie den Mindestabstand für die Einstellung von Haltestellen und Abfahrten, so dass er nicht unter diesem Wert liegt


Jedenfalls scheint es richtig zu sein, aber-- "StLev=MarketInfo(Symbol(),MODE_STOPLEVEL);" Ich weiß nicht, wo ich es einfügen soll,
jetzt...

Die Sache ist, ich bin ständig bei der Arbeit (ich kann nicht installieren mql4 Programm hier, so muss ich es tun alle in meinem Kopf

extern double StopLoss=100.0;
extern double TakeProfit=100.0;
extern double Lots=0.01;
extern int total;
extern int SetOrderDistance=50;

int start() {

int pt,dg,StLev;
double Price_1,Price_2,min,max,pa,pb;
RefreshRates();

pt=MarketInfo(Symbol(),MODE_POINT);
dg=MarketInfo(Symbol(),MODE_DIGITS);
pa=MarketInfo(Symbol(),MODE_ASK);
pb=MarketInfo(Symbol(),MODE_BID);
Price_1=pb;
Price_2=pa;
min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();
double slB=NormalizeDouble(pa-StopLoss*pt,dg);
double tpB=NormalizeDouble(pa+TakeProfit*pt,dg);
double slS=NormalizeDouble(pb+StopLoss*pt,dg);
double tpS=NormalizeDouble(pb-TakeProfit*pt,dg)

if(gesamt<1) {

if(Preis_1>max)
OrderSend(Symbol(),OP_BUY,Lots,pa,5,slB,tpB, "Meine Order#,16384,0,Green);

if(Price_2<min)
OrderSend(Symbol(),OP_SELL,Lots,pb,5,slS,tpS, "My order#,16384,0,Green);
}
}return(0);

 
T.H.C.:

Ich habe es nur skizziert. Es könnte ein Chaos sein.

#define Mag 464564564
extern double Lot=0.01;

int start()
{
int Total;

for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()<2&&OrderMagicNumber()==Mag)
       {Total++;
       if(Volume[0]<4)close();
       }

if(Total!=0)return;
if(Close[1]>Open[1]&&Close[2]>Open[2]&&Volume[0]>4)bue();
if(Close[1]<Open[1]&&Close[2]<Open[2]&&Volume[0]>4)sell();

}
void bue()
{
OrderSend(Symbol(),0,Lot,NormalizeDouble(Ask,Digits),5,0,0,0,Mag);
}
//----
void sell()
{
OrderSend(Symbol(),1,Lot,NormalizeDouble(Bid,Digits),5,0,0,0,Mag);
}
void close()
{
double pr;if(OrderType()==0)pr=Bid;if(OrderType()==1)pr=Ask;
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(pr,Digits),5);
}
 
Techno:

Ich habe es nur skizziert, es könnte ein wenig unordentlich sein.

Vielen Dank, sehr hilfreich.

Wie haben Sie das Programmieren gelernt? Wo haben Sie angefangen?

 
T.H.C.:

Vielen Dank, sehr hilfreich.

Wie haben Sie das Programmieren gelernt? Wo haben Sie angefangen?

Ich habe aus Lehrbüchern gelernt, angefangen mit C++
 
Unterscheidet sich C++ wesentlich von mql?
 
T.H.C.:
Unterscheidet sich C++ wesentlich von mql?
mit Ausnahme einiger Funktionen (Handelsorientierung) ist Mql nur eine stark abgespeckte Kopie von C++
 
Techno:
mit Ausnahme einiger Funktionen (Handelsorientierung) ist Mql nur eine stark abgespeckte Kopie von C++
Oh, danke für die Ratschläge und die Zeit, die Sie mir geschenkt haben
Grund der Beschwerde: