Wie programmiert man? - Seite 275

 
alvintran:
Nein, nein, es nicht Problem SL/TP, ich weiß, dass Problem, ich sagte, es tun nichts, es ist bedeuten, auf Demo-Konto (sofortige Ausführung oder etwas, das ich nicht weiß) es funktionieren gut, aber auf Live-Konto es nicht funktionieren, nicht haben kein Problem, nur nichts tun.

Dieser EA wurde von mir geschrieben, nicht gekauft, nicht als Testversion, nicht eingeschränkt.

Bitte! helfen

Post die Zitate hier, und ich bin sicher, jemand wird die Hölle Sie.

 
alvintran:
Nein, nein, es nicht Problem SL/TP, ich weiß, dass Problem, ich sagte, es tun nichts, es ist bedeuten, auf Demo-Konto (Instant Execution oder etwas, das ich nicht weiß) es funktionieren gut, aber auf Live-Konto es nicht funktionieren, nicht haben kein Problem, nur nichts tun.

Diese EA von mir geschrieben, nicht kaufen, nicht Testversion, nicht jede begrenzt.

Bitte! helfen

Ok, aber posten Sie diese EA, ich kann Ihnen helfen, aber ich brauche Code.

Prost,

Grzesiek

 

Wie bekomme ich ein 2-dimensionales Array in eine Datei und dann zurück in ein anderes Array im nächsten EA

Hallo!

könnte mir jemand helfen und erklären, wie ich ein 2-dimensionales Array (z.B. double array[x][y] mit x=100, y=30) in eine Datei schreiben kann und wie ich dann die Zahlen aus dieser Datei in ein Array in einem anderen EA zurückbekomme? 1-Dimension ist viel einfacher!!!

Ich habe diesen Artikel gefunden: Three-Dimensional Graphs - a Professional Tool of Market Analyzing - MQL4 Articles aber ich weiß nicht, wie ich die Datei mit den Zahlen aus dieser Datei in meinem zweiten EA lesen kann...

Außerdem würde ich gerne die Genauigkeit der Zahlen speichern und habe mir überlegt, die Funktion FileWriteDouble() (in binär) zu verwenden.

Könnte mir jemand helfen - ich wäre Ihnen sehr dankbar!

danke!

 
g.pociejewski:
Ok, aber posten Sie diese EA, ich kann Ihnen helfen, aber ich brauche Code.

Zum Wohl,

Grzesiek

Faust danken Ihnen allen!

Wie ich schon sagte, mein EA haben kein Problem, ich weiß, Problem, das Sie sagten, in der Marktausführung muss Faust öffnen, nachdem die Position zu ändern (wenn nicht, wird es um (130) Fehler zeigen). Aber meine EA haben kein Problem, einfach nichts tun.

Ich gebe Ihnen Bedingung vor dem Öffnen einer Position :

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

//Kaufauftrag eröffnen

}

Danke Grzesiek! ich kann diesen EA nicht teilen, bitte! kontaktieren Sie mich auf skype (duong_4sao) oder yahoo (tieuthienma88), wir werden einen disscus haben.

Ich hoffe Sie können mir helfen. Danke!

 
alvintran:
Ersten Dank an alle!

Wie ich sagte, mein EA haben kein Problem, ich weiß, Problem, das Sie sagte, in der Marktausführung muss öffnen Faust nach, dass die Position zu ändern (wenn nicht es wird zeigen, um (130) Fehler). Aber meine EA haben kein Problem, einfach nichts tun.

Ich gebe Ihnen Bedingung vor dem Öffnen einer Position :

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

//Kaufauftrag eröffnen

}

Danke Grzesiek! ich kann diesen EA nicht teilen, bitte! kontaktieren Sie mich auf skype (duong_4sao) oder yahoo (tieuthienma88), wir werden einen disscus haben .

Ich hoffe, Sie können mir helfen. Danke!

Warum fragen Sie nach Hilfe????

 

ECN-Broker und Stop Loss

Ich bin neu in der MQL-Programmierung. Bitte helfen Sie mir .

Ich versuche, einen Stop-Loss mit einem Market-Order zu haben. Was ist der beste Weg, um dies zu erreichen. Ich habe es mit ordersend versucht, aber es stellte sich heraus

aber es stellte sich heraus, dass ECN-Broker keinen Stop Loss mit Market Orders unterstützen.

Ich habe gesucht und die einzige Information, die ich gefunden habe, ist, dass wir zuerst eine schwebende Order haben müssen und dann diese Order ändern.

Ich habe das ausprobiert und das Problem ist, dass in vielen Fällen die schwebende Order bereits vor der Änderungsorder ausgeführt wird, so dass die Orderänderung fehlschlägt.

Hier ist die Order Sell für Market Order:

STicket = OrderSend(Symbol(),OP_SELL,LotSize,Bid,0,0,0,null,MagicNumber,0,red);

Hier wird die Order geändert:

OrderSelect(SlTicket, SELECT_BY_TICKET);

OpenPrice = OrderOpenPrice();

{ double SellStopLoss = OpenPrice - (StopLoss * UsePoint);

bool TicketMod1 = OrderModify(SellTicket ,OrderOpenPrice() , SellStopLoss , 0,0);

}

Diese Stop-Methode funktioniert manchmal und manchmal ist die Marker-Order bereits ausgeführt, so dass die Ordermodifizierung fehlschlägt.

Bitte helfen Sie mir, eine Stoploss-Order für ECN-Broker zu erreichen !!!!

 
winston99:
Ich bin neu in der MQL-Programmierung. Bitte helfen Sie mir.

Ich versuche, einen Stop-Loss mit einer Market-Order zu setzen. Was ist der beste Weg, um dies zu erreichen. Ich habe es mit ordersend versucht, aber es stellte sich heraus

aber es stellte sich heraus, dass ECN-Broker keinen Stop-Loss mit Market-Orders unterstützen.

Ich habe gesucht und die einzige Information, die ich gefunden habe, ist, dass wir zuerst eine schwebende Order haben müssen und dann diese Order ändern.

Ich habe das ausprobiert und das Problem ist, dass in vielen Fällen die schwebende Order bereits vor der Änderungsorder ausgeführt wird, so dass die Orderänderung fehlschlägt.

Hier ist die Order Sell für Market Order:

STicket = OrderSend(Symbol(),OP_SELL,LotSize,Bid,0,0,0,null,MagicNumber,0,red);

Hier wird die Order geändert:

OrderSelect(SlTicket, SELECT_BY_TICKET);

OpenPrice = OrderOpenPrice();

{ double SellStopLoss = OpenPrice - (StopLoss * UsePoint);

bool TicketMod1 = OrderModify(SellTicket ,OrderOpenPrice() , SellStopLoss , 0,0);

}

Diese Stop-Methode funktioniert manchmal, und manchmal wird die Marker-Order bereits ausgeführt, so dass OrderModify fehlschlägt.

Bitte helfen Sie mir, eine Stoploss-Order für ECN-Broker zu erreichen !!!!

Die einzige Möglichkeit, bei ECN-Brokern einen Stoploss zu erreichen, besteht darin, eine Order ohne Stopps zu senden und sie zu ändern.

Ich verwende:

ticket=OrderSend(Symbol(),OP_SELL,lots,Bid, slippage,0,0,comment,magic);

OrderSelect(Ticket,SELECT_BY_TICKET);

OrderModify(ticket,OrderOpenPrice(),sltpValue(Ask +StopLoss*Point, StopLoss),sltpValue(Bid- TakeProfit*Point,TakeProfit),0);

und habe keine Probleme (sltp gibt uns Sl/TP-Wert).

 
g.pociejewski:
Die einzige Möglichkeit, den Stoploss bei ECN-Brokern zu erreichen, besteht darin, eine Order ohne Stops zu senden und sie zu ändern.

Ich verwende:

ticket=OrderSend(Symbol(),OP_SELL,lots,Bid, slippage,0,0,comment,magic);

OrderSelect(ticket,SELECT_BY_TICKET);

OrderModify(ticket,OrderOpenPrice(),sltpValue(Ask +StopLoss*Point, StopLoss),sltpValue(Bid- TakeProfit*Point,TakeProfit),0);

und haben keine Probleme (sltp geben uns Sl/TP-Wert).

Wie berechnen Sie den Slippage?

Ich übergebe 0 für das kann sein, dass ist, warum es ein Problem.

 

Zickzack-Hilfe

Hallo!

Ich versuche, ein Ea zu schreiben, das auf Zigzag und Pitchfork basiert.

zu zeichnen Pitchfork ich brauche Preis und Zeit der letzten 4 Zigzag

Ich erhalte den Preis mit ICustom()

aber ich weiß nicht, wie man die Zeit zu bekommen

Bitte helfen Sie mir

Vielen Dank im Voraus

----------------------------------------------------------------------

dies ist für den Preis...

int n0, n1, n2, n3, i0, i1, i2, i3 = 0;

double zig0, zig1, zig2, zig3;

while(n3<4)

{

zig3=iCustom(NULL, 0, "ZigZag", 0, i3);

if(zig3>0) n3+=1;

i3++;

}

while(n2<3)

{

zig2=iCustom(NULL, 0, "ZigZag", 0, i2);

if(zig2>0) n2+=1;

i2++;

}

while(n1<2)

{

zig1=iCustom(NULL, 0, "ZigZag", 0, i1);

if(zig1>0) n1+=1;

i1++;

}

while(n0<1)

{

zig0=iCustom(NULL, 0, "ZigZag", 0, i0);

if(zig0>0) n0+=1;

i0++;

}

...........................................

 

Kleine Änderung für indi erforderlich

Dies ist der Code für tägliche Boxen, aber ich brauche ein paar Änderungen - ich möchte eine Lücke haben, wo der Tokio-Markt schließt und London öffnet, also sagen wir, dass die Box blau ist (für den ganzen Tag) und die Lücke weiß sein sollte

#property indicator_chart_window

int gi_76 = 50;

string gs_80 = "00:00";

string gs_88 = "23:59";

externe Farbe Color_Up = Lavendel;

externe Farbe Farbe_Down = Weizen;

externe Farbe Farbe_Neutral = LightGray;

bool gi_108 = TRUE;

double gd_112;

int g_color_120 = Rot;

void init() {

DeleteObjects();

for (int l_count_0 = 0; l_count_0 < gi_76; l_count_0++) CreateObjects("PWT1" + l_count_0, g_color_120);

Comment("");

}

void start() {

int l_datetime_0 = TimeCurrent();

for (int l_count_4 = 0; l_count_4 < gi_76; l_count_4++) {

DrawObjects(l_datetime_0, "PWT1" + l_count_4, gs_80, gs_88);

for (l_datetime_0 = decDateTradeDay(l_datetime_0); TimeDayOfWeek(l_datetime_0) > 5; l_datetime_0 = decDateTradeDay(l_datetime_0)) {

}

}

}

void DrawObjects(int ai_0, string a_name_4, string as_12, string as_20) {

int l_str2time_28 = StrToTime(TimeToStr(ai_0, TIME_DATE) + " " + as_12);

int l_str2time_32 = StrToTime(TimeToStr(ai_0, TIME_DATE) + " " + as_20);

int l_shift_52 = iBarShift(NULL, 0, l_str2time_28);

int l_shift_56 = iBarShift(NULL, 0, l_str2time_32);

int l_shift_60 = iBarShift(NULL, PERIOD_D1, l_str2time_28);

if (iClose(NULL, PERIOD_D1, l_shift_60) - iOpen(NULL, PERIOD_D1, l_shift_60) > 0.0) gd_112 = iClose(NULL, PERIOD_D1, l_shift_60) - iOpen(NULL, PERIOD_D1, l_shift_60);

sonst gd_112 = iOpen(NULL, PERIOD_D1, l_shift_60) - iClose(NULL, PERIOD_D1, l_shift_60);

wenn (gd_112 < iATR(NULL, PERIOD_D1, 7, l_shift_60) / 100.0) g_color_120 = Farbe_Neutral;

sonst {

wenn (iOpen(NULL, PERIOD_D1, l_shift_60) > iClose(NULL, PERIOD_D1, l_shift_60)) g_color_120 = Farbe_Down;

sonst

if (iClose(NULL, PERIOD_D1, l_shift_60) > iOpen(NULL, PERIOD_D1, l_shift_60)) g_color_120 = Farbe_Up;

}

double l_high_36 = High;

double ld_44 = Niedrig;

if (!gi_108) {

l_high_36 = 0;

ld_44 = 2.0 * ld_44;

}

ObjectSet(a_name_4, OBJPROP_TIME1, l_str2time_28);

ObjectSet(a_name_4, OBJPROP_PRICE1, l_high_36);

ObjectSet(a_name_4, OBJPROP_TIME2, l_str2time_32);

ObjectSet(a_name_4, OBJPROP_PRICE2, ld_44);

ObjectSet(a_name_4, OBJPROP_COLOR, g_color_120);

}

int decDateTradeDay(int ai_0) {

int li_4 = ZeitJahr(ai_0);

int li_8 = ZeitMonat(ai_0);

int li_12 = ZeitTag(ai_0);

int l_hour_16 = ZeitStunde(ai_0);

int l_minute_20 = ZeitMinute(ai_0);

li_12--;

wenn (li_12 == 0) {

li_8--;

wenn (li_8 == 0) {

li_4--;

li_8 = 12;

}

if (li_8 == 1 || li_8 == 3 || li_8 == 5 || li_8 == 7 || li_8 == 8 || li_8 == 10 || li_8 == 12) li_12 = 31;

wenn (li_8 == 2) {

wenn (MathMod(li_4, 4) == 0.0) li_12 = 29;

sonst li_12 = 28;

}

if (li_8 == 4 || li_8 == 6 || li_8 == 9 || li_8 == 11) li_12 = 30;

}

return (StrToTime(li_4 + "." + li_8 + "." + li_12 + " " + l_hour_16 + ":" + l_minute_20));

}

void CreateObjects(string a_name_0, color a_color_8) {

ObjectCreate(a_name_0, OBJ_RECTANGLE, 0, 0, 0, 0, 0);

ObjectSet(a_name_0, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(a_name_0, OBJPROP_COLOR, a_color_8);

ObjectSet(a_name_0, OBJPROP_BACK, TRUE);

}

void DeleteObjects() {

for (int l_count_0 = 0; l_count_0 < gi_76; l_count_0++) ObjectDelete("PWT1" + l_count_0);

}

void deinit() {

DeleteObjects();

Comment("");

}