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

 
chief2000 >>:

Я экспортировал CSV-файл (1 мин с 1999 года) из МТ одного брокера. Попытался импортировать в МТ другого брокера - 1 минутки получил

без проблем, с 1999. Но вот что-то не пойму как во 2-м МТ получить 5, 15-мин и т.д. графики? - Т.е. после импортирования 1 минуток переключился на

5 минутный график и похоже МТ пытается докачать их из интернета, вместо конвертирования их из уже имеющихся 1-минуток.

Перегружал МТ - не помогло.

- Есть какое-нибудь нормальное решение для конвертирования 1 МИН в более высокие таймфреймы?

Natürlich wird es ein Herunterladen geben, warum sollte es also eine Umrechnung aus dem Protokoll geben.

Sie können die ursprüngliche CSV-Datei nehmen und ein selbst geschriebenes Programm ausführen, um alle Standardzeitrahmen in den Ausgabedateien zu erhalten und sie zu importieren.

 

Hallo zusammen!

Es gibt keine Möglichkeit, einen einfachen Algorithmus zu implementieren:

Nach einem Kauf/Verkauf wird ein Auftrag nach 2 Takten geschlossen.

Mir fällt nichts Besseres ein als ein Timer, aber der Timer ist mit einem Zeitrahmen verknüpft und ich brauche ihn nach n Bars.

 

Hallo und wieder eine Frage, die ich mir nicht beantworten kann.

Ich schreibe einen Expert Advisor, um das Platzieren von Aufträgen bei Auftreten einer Bedingung zu üben. Die Aufgabe ist einfach: nur eine Position zu handeln. Wenn der Preis über МА10 liegt, kaufe ich, wenn er darunter liegt, verkaufe ich. Ich möchte die Möglichkeit der Verwendung von Magiern von Aufträgen testen, so dass der Expert Advisor genau die Aufträge schließen würde, die er selbst platziert hat. Es gibt auch die zweite Variante der Kauf- und Verkaufsbedingungen (ich habe sie noch nicht hinzugefügt). Und es sollte selbst bestimmen, zu welcher Bedingung der Auftrag gehört - die magische Zahl wird in der Funktion festgelegt, die die Eröffnung einer Position auslöst. Auf die gleiche Weise sollte es zu Beginn je nach den Bedingungen feststellen, ob es eine Position gibt oder nicht, und dann entweder nach Kauf- oder Verkaufsbedingungen suchen.


Hier ist der Code:


// Мувинг и цена
double MA10;
double Price;
// Есть или нет позиция и ее номер
int Pos;
int Magic;
double Lot=0.1;
double SL;
double TP;
int Slippage=3;

//--------------------------------------------------------------------

void start()
{
MA10 = iMA(NULL,0,10,0,0,0,0);
Price = Bid;

CheckPos();
}

//--------------------------------------------------------------------

void CheckPos()
{
if(Pos==0)
CheckBuy();
CheckSell();
}

//--------------------------------------------------------------------
// Поиск условий для покупки и продажи
//--------------------------------------------------------------------

void CheckBuy()
{
if (NormalizeDouble(Price,Digits) > NormalizeDouble(MA10,Digits))
Magic=10;
Buy();
return;
}

//--------------------------------------------------------------------

void CheckSell()
{
if (NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits))
Sell();
return;
}

//--------------------------------------------------------------------
// Выставление ордеров
//--------------------------------------------------------------------

void Buy()
{
string Symb=Symbol();
Pos=1;

OrderSend(Symb, OP_BUY, Lot, Ask, Slippage, SL, TP, NULL, Magic);
return;
}
//--------------------------------------------------------------------

void Sell()
{
Pos=0;
OrderClose(Magic, Lot, Bid, Slippage);
return;
}


Und dieser Code, obwohl er nur eine Position handeln sollte (ja, wir sollten nach Verkaufsbedingungen suchen, nein, wir sollten nach Kaufbedingungen suchen), eröffnet er eine große Anzahl von Positionen und schließt sie dann nicht. Mein Kopf ist bereits kaputt. Können Sie mir sagen, was los ist?

 
sigma7i >>:

Всем привет!

Простой алгоритм никак не могу реализовать:

После покупки/продажи закрытие ордера через 2 бара.

Кроме таймера ничего лучше придумать не могу, но у таймера есть привязка к тайм фрейму, а мне необходимо через n баров.


Gehen Sie die offenen Aufträge durch, sehen Sie nach, wann sie geöffnet wurden, und vergleichen Sie sie mit der aktuellen Zeit, nachdem zwei Balken vergangen sind, und schließen Sie sie.
 
splxgf >>:

Ну естественно будет происходить докачка, с чего вдруг она должна происходить конвертация из минуток.

Можно взять исходный CSV и прогнать самописной прогой для получения на выходе в файлах всех стандартных таймфремов и импортировать их.

Ich scheine es mit MT5 verwechselt zu haben - es scheint, dass höhere Zeitrahmen aus 1-Minuten-Perioden generiert werden, während es in MT4 die gleiche altmodische Weise ist.

 
Vinin >>:

Скрипт в CodeBase лежит, так и называется период конвертор

Ich danke Ihnen!

 

Der Periodenkonverter ist gut für Diagramme geeignet, aber man kann ihn nicht an einen Tester weiterleiten.

Ups, ich habe nachgeschaut, wie es funktioniert, es wird eine umcodierte Verlaufsdatei geschrieben. https://www.mql5.com/ru/code/8560

 

И вот он, зараза, несмотря на то, что должен торговать только одной позицией (есть - ищем условия на продажу, нет - ищем условия на покупку), открывает большое количество позиций, и потом их не закрывает. Я уже голову поломал. Подскажите, что не так?

in CheckBuy eine Wenn-Öffner-Bestellung größer als Null, dann raus.

 
splxgf >>:

в CheckBuy добавь иф опен ордерс больше нуля, то выходим.

Ja, ich werde es jetzt hinzufügen. Vielen Dank.

Aber warum kauft er überhaupt eine Vielzahl von Positionen? Schließlich wird ihm gleich zu Beginn gesagt, dass er, wenn es eine Stelle gibt, nicht hierhin, sondern dorthin gehen soll. Meiner Meinung nach sollte er sich gar nicht erst mit diesem Teil des Codes befassen. Oder verstehe ich es vielleicht nicht?

 
Jahspear >>:

Ага, щас добавлю. Спасибо.

Но всё-таки - почему он вообще покупает мого позиций? Ведь вначале ему сразу говорится, что если позиция есть - ты сюда не ходи, ты туда ходи? Он, по задумке, в этот кусок кода даже попадать не должен. Или я что не понимаю?


Obwohl ich mir den Code jetzt genauer angesehen habe, ist es schwer, ihn ohne einen halben Liter zu verstehen, ich schicke Ihnen meine E-Mail und versuche zu erklären, was ich dort gemacht habe.
Grund der Beschwerde: