[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 568
Dankeschön) Doch damit war die Situation nicht gelöst.
Folgende Situation: Ich hatte einen schwebenden Auftrag des Typs 5(Sell Stop) und dann erreichte der Preis diesen und er wurde zu einem Marktauftrag. Hat sich die Auftragsart geändert? D.h. hat sich 5 in seinen Eigenschaften verändert?
Wenn ich die oben genannte Kombination einfüge, ändern die "Aktionen" immer noch die Merkmale des offenen Auftrags, was sie aber nicht sollten. Deshalb möchte ich es zu einer Bedingung machen, so dass die Aktionen nur auf schwebende Aufträge angewendet werden.
if(OrdersTotal()) // Если стоят ордера в списке
{
OrderSelect(0, SELECT_BY_POS); // Выбираем первыйif(OrderType()==(2||3||4||5)) // Если он не открытый то можем модифицировать
{
Alert("Что то делаю с ордером =)");
if (PricePointNew>PricePointOld)
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 1 вернул ошибку - ",GetLastError());
if (PricePointNew<PricePointOld)
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 2 вернул ошибку - ",GetLastError());
if(PriсeStopNew>PriсeStopOld && (PriсeStopNew-PriсeStopNew)<(Stop*0.0001))
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 3 вернул ошибку - ",GetLastError());
if(PriсeStopNew<PriсeStopOld)
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 4 вернул ошибку - ",GetLastError());
}
}
else// Если нет ордеров, то ставим
{
f = OrderSend(Symbol(), 5, 0.01,(PricePointNew-5*Point*10) , 1,(PriсeStopNew+8*Point*10) ,(PricePointNew-Profit*Point*10));
OrderSelect( 0, SELECT_BY_POS);
Ticket = OrderTicket();
Dann sitze ich fest)) Wenn ich Expert Advisor im Tester mit Visualisierung ausführe, ändert sich die Marktorder immer noch, ich verstehe nicht warum... Ich habe einen großen Code gemacht, anscheinend gibt es irgendwo einen algorithmischen Fehler.
das Array muss außerhalb der Schleife deklariert werden und die Größe muss festgelegt sein (oder es muss angegeben werden, dass es sich um ein Indikator-Array handelt)
datetime Array[10];
int start()
{
for (int i=0; i<=10; i++)
{
Array[i] = iTime(NULL,0,i);
Print("Время: ",Array[i]);
}
}
Catrock>>: Тогда я застрял)) Запускаю эксперт в тестере с визуализацией, рыночный ордер все равно меняется, непонятно почему.. Нагородил большой код, видимо ошибка где то алгоритмическая.
was genau ändert sich an der Marktordnung? Machen Sie sich klarer, was Sie erreichen wollen.
Bei einem Marktauftrag ändern sich zu diesem Zeitpunkt die Take-Profit- und Stop-Loss-Werte. Das sollten sie nicht.
In meinem System können nur schwebende Aufträge geändert werden. Wenn der Auftrag zu einem Marktauftrag wird, sind die Änderungen nicht zulässig. Der Expert Advisor verwendet insgesamt einen Auftrag.
Скажите пожалуйста, как реализовать условие.-
If( есть отложенные ордера) то делаем то и то ;
Dankeschön) Doch damit war die Situation nicht gelöst.
Folgende Situation: Ich hatte einen schwebenden Auftrag des Typs 5(Sell Stop) und dann erreichte der Preis diesen und er wurde zu einem Marktauftrag. Hat sich die Auftragsart geändert? D.h. hat sich 5 in seinen Eigenschaften verändert?
Wenn ich die oben genannte Kombination einfüge, ändern die "Aktionen" immer noch die Merkmale des offenen Auftrags, was sie aber nicht sollten. Deshalb möchte ich es zu einer Bedingung machen, so dass die Aktionen nur auf schwebende Aufträge angewendet werden.
Ich kann es nicht herausfinden.
Ich habe die Zeit in das Array eingegeben, aber der Drucker druckt 0 =(
Drucken gibt Nullen aus... Was ist los?Не могу понять
Загоняю в массив время, а принтом выводится 0 =(
Принт выводит нули... Что не так?das Array muss außerhalb der Schleife deklariert werden und die Größe muss festgelegt sein (oder es muss angegeben werden, dass es sich um ein Indikator-Array handelt)
Тогда я застрял)) Запускаю эксперт в тестере с визуализацией, рыночный ордер все равно меняется, непонятно почему.. Нагородил большой код, видимо ошибка где то алгоритмическая.
массив надо объявлять вне цикла и размер должен быть фиксированный(либо указание что речь о индикаторном массиве)
всё равно не работает.... как iTime записывает время в массив? В секундах о 1970 или "yyyy:mm:dd hh:mm"
Bei einem Marktauftrag ändern sich zu diesem Zeitpunkt die Take-Profit- und Stop-Loss-Werte. Das sollten sie nicht.
In meinem System können nur schwebende Aufträge geändert werden. Wenn der Auftrag zu einem Marktauftrag wird, sind die Änderungen nicht zulässig. Der Expert Advisor verwendet insgesamt einen Auftrag.