[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 448
Bitte entschuldigen Sie, dass ich eine Frage doppelt stelle, aber ich kann die folgenden Beispiele nicht ausführen, bis ich das Problem gelöst habe.
Bitte helfen Sie mir, es herauszufinden.
Ich habe ein einfaches Skript geschrieben, um eine Bestellung zu öffnen (aus dem MQL4-Tutorial).
Ich habe es für 4-stellige Instrumente codiert.
Ich habe ein Konto bei einem Unternehmen, das 5 Ziffern nach dem Punkt hat.
Können Sie bitte den Code für 5 Ziffern ändern, und warum erscheint beim Ausführen des Skripts der Fehler 4109 (Handel nicht erlaubt)?
int start() // Спец. функция start()
{ // Открытие BUYOrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-150*Point,Bid+150*Point);
Alert (GetLastError());
return; // Выход из start()
}
Aber es muss überhaupt nicht funktionieren. Sie müssen die Gültigkeit der Stop- und Take-Größen von Ihrem Maklerunternehmen überprüfen lassen
ERR_TRADE_NOT_ALLOWED
4109
Handel ist nicht erlaubt. Sie müssen die Option "EA den Handel erlauben" in den EA-Eigenschaften aktivieren.
Entschuldigen Sie, wenn dies bereits angesprochen wurde, aber es sind 540 Seiten.
Das ist das Problem. In MT4 überschneiden sich die Orders mit gleichem Preis und nur eine Order ist sichtbar. Gibt es Einstellungen in MT4, damit z.B. zwei Orders in einem Chart nebeneinander angezeigt werden, ohne sich zu überlappen. Wenn es keine solchen Einstellungen gibt, ist es dann möglich , eine Tabelle oder ein Diagramm mit einer solchen Funktion zu erstellen?
Entschuldigen Sie, wenn diese Frage schon einmal gestellt wurde, aber ich muss 540 Seiten durchgehen.
Das ist das Problem. In MT4 überschneiden sich die Orders mit gleichem Preis und nur eine Order ist sichtbar. Gibt es Einstellungen in MT4, damit z.B. zwei Orders im Chart nebeneinander angezeigt werden, ohne sich zu überlappen. Wenn es keine solchen Einstellungen gibt, ist es dann möglich, eine Tabelle oder ein Diagramm mit einer solchen Funktion zu erstellen?
Mit der Tastenkombination Strg+t erscheint unten eine Tabelle mit allen offenen Positionen, wenn Sie auf die Registerkarte "Handel" wechseln.
Guten Tag... Frage zu den Funktionen FileIsEnding und FileIsLineEnding. Um zu verstehen, wie die Funktionen FileIsEnding und FileIsLineEnding funktionieren, habe ich das folgende Skript geschrieben:
Nachdem eine Zahl in die Datei geschrieben wurde, finden Sie in hexadezimaler Form den folgenden Eintrag
00000000: 31 2E 33 35 38 34 0D 0A | | 1.3584...
Jeder Buchstabe oder jede Zahl benötigt 1 Byte oder 8 Bits, die letzten beiden Zeichen heißen Zeilenvorschub und Wagenrücklauf, sie werden automatisch angehängt, so dass die Dateigröße 8 Byte und nicht 6 beträgt.
Führen Sie Ihr leicht geändertes Skript aus und achten Sie darauf, wie sich der Cursor bewegt (die Aufzählung ist absichtlich größer als die Dateigröße, damit Sie sehen können, wo der Fehler auftritt.
int start() //функция start
{ //начало startdouble Timestart=GetTickCount(); //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения эксперта string name="Копия Запись чисел в файл.csv"; //имя создаваемого файлаbool h; //переменная: значение функции FileIsEndingbool h_l; //переменная: значение функции FileIsLineEndingint error; //переменная: ошибкаint handle=FileOpen(name,FILE_CSV|FILE_WRITE,';'); //открываем заданный файл n записываем туда данныеint запись=FileWrite(handle,DoubleToStr(1.3584,4)); //записываем цены OHLC в файл csv (в преобразованном виде, т.е в виде текста)FileClose(handle); //закрываем файл//---------------------------------------------------------------------------------------- 2 -
handle=FileOpen(name,FILE_CSV|FILE_READ,';'); //открываем заданный файлint size=FileSize(handle); //вычисляем размер заданного файлаPrint("Размер файла ",name," составил ",size," байт");
for(int i=0;i<=size;i++)
{
GetLastError();
bool pos=FileSeek(handle,i,SEEK_SET); //смещаем от начала вправо указатель файлаint pos1=FileTell(handle);
double чтение=FileReadNumber(handle); //считываем число из текущей позиции (уже измененной функцией FileSeek) файлового указателя
h=FileIsEnding(handle); //устанавливаем текущее значение переменной h
h_l=FileIsLineEnding(handle); //устанавливаем текущее значение переменной h_l
error=GetLastError(); //значение ошибки, производимой функцией FileIsEndingif(error!=0)Alert("Текущая ошибка ",error); //если код текущей ошибки не равен 0, то получаем номер текущей ошибки//----------------------------------------------------------------------------------------- 3 -Print(" Функция FileSeek вернула: ",pos,
" Указатель находится в позиции - ",pos1,
" Функция FileReadNumber(handle) вернула: ",чтение);//печать сообщения
}
FileClose(handle); //закрываем файл//----------------------------------------------------------------------------------------- 4 -return(0); //выход из start
} //конец start//-------------------------------------- КОНЕЦ START -------------------------------------- 5 -
Wenn Sie den Indikator debuggen, müssen Sie ein Array von Preis- und Zeitwerten von bestimmten Bars auf dem Shift ausgeben.
price1 = iMA(Symbol(),i_maTF,i_maPeriod,i_maShiftByPrice,i_maMethod,i_maPrice,i_shiftBarsBack1+i); // Цена в точке А
price2 = iMA(Symbol(),i_maTF,i_maPeriod,i_maShiftByPrice,i_maMethod,i_maPrice,i_shiftBarsBack2+i); // Цена в точке В
time1 = iTime(Symbol(),Period(),i_shiftBarsBack1 + i - 1); // Время в точке А
time2 = iTime(Symbol(),Period(),i_shiftBarsBack2 + i - 1); // Время в точке В
Das alles erfahre ich natürlich innerhalb des Betreibers:
for(i = limit - 1;i > 0;i--)
Dann übertrage ich die Preis- und Zeitwerte in Arrays, um mit ihnen weiter zu arbeiten:
varsPrice1[i] = price1; // Массив цен в точке А
varsPrice2[i] = price2; // Массив цен в точке В
varsTime1[i] = time1; // Массив времени в точке А
varsTime2[i] = time2; // Массив времени в точке В
Ich versuche, das, was ich bereits habe, sofort danach auszudrucken:
Hier ist deutlich zu sehen, dass die Preiswerte von varsTime1[i] undvarsTime2[i] und nur die Preise von time1 undtime2 immer 0 sind. Was ist daran falsch?
Hallo Forumsnutzer!!!! Leute, ich habe eine Frage - wer weiß, in welcher Datei Skripte gespeichert sind, die den "Hotkeys" zugeordnet sind? Ich möchte diese Datei mit den bereits benannten "Hotkeys" abspeichern, damit ich nicht jedes Mal nach einer Neuinstallation des Terminals, wenn plötzlich so ein Bedarf besteht, diese Tasten erneut zuweisen muss ..., sondern nur eine Datei und alles überwerfen muss ... Ich danke Ihnen allen im Voraus.
Bitte entschuldigen Sie, dass ich eine Frage doppelt stelle, aber ich kann die folgenden Beispiele nicht ausführen, bis ich das Problem gelöst habe.
Bitte helfen Sie mir, es herauszufinden.
Ich habe ein einfaches Skript geschrieben, um eine Bestellung zu öffnen (aus dem MQL4-Tutorial).
Ich habe es für 4-stellige Instrumente codiert.
Ich habe ein Konto bei einem Unternehmen, das 5 Ziffern nach dem Punkt hat.
Können Sie bitte den Code für 5 Ziffern ändern, und warum erscheint beim Ausführen des Skripts der Fehler 4109 (Handel nicht erlaubt)?
Aber es muss überhaupt nicht funktionieren. Sie müssen die Gültigkeit der Stop- und Take-Größen von Ihrem Maklerunternehmen überprüfen lassen
Nur funktioniert das nicht unbedingt. Wir müssen prüfen, ob die Stoppuhr Ihres Maklerunternehmens die Größe der Stoppuhr zulässt.
Herzlichen Dank!
Erforderlich, um EA den Handel zu ermöglichen)
Einen guten Tag an alle.
Entschuldigen Sie, wenn dies bereits angesprochen wurde, aber es sind 540 Seiten.
Das ist das Problem. In MT4 überschneiden sich die Orders mit gleichem Preis und nur eine Order ist sichtbar. Gibt es Einstellungen in MT4, damit z.B. zwei Orders in einem Chart nebeneinander angezeigt werden, ohne sich zu überlappen. Wenn es keine solchen Einstellungen gibt, ist es dann möglich , eine Tabelle oder ein Diagramm mit einer solchen Funktion zu erstellen?
Guten Tag an alle.
Entschuldigen Sie, wenn diese Frage schon einmal gestellt wurde, aber ich muss 540 Seiten durchgehen.
Das ist das Problem. In MT4 überschneiden sich die Orders mit gleichem Preis und nur eine Order ist sichtbar. Gibt es Einstellungen in MT4, damit z.B. zwei Orders im Chart nebeneinander angezeigt werden, ohne sich zu überlappen. Wenn es keine solchen Einstellungen gibt, ist es dann möglich, eine Tabelle oder ein Diagramm mit einer solchen Funktion zu erstellen?
Bitte helfen Sie mir - ich schreibe einen EA - ich habe Code als Substrat verwendet;
if(drawBacker){
for(int x=0;x<7;x++)
for(int y=0;y<29;y++)
{
ObjectCreate("A_Fon "+x+y,OBJ_LABEL,0,0,0,0);
ObjectSet("A_Fon "+x+y, OBJPROP_CORNER, positionWindow); // positionWindow // Txt_Location
ObjectSet("A_Fon "+x+y,OBJPROP_XDISTANCE,x*20+5);
ObjectSet("A_Fon "+x+y,OBJPROP_YDISTANCE,y*20+9);
ObjectSetText("A_Fon "+x+y,CharToStr(110),26, "Wingdings",colorSubstrate);//Rot);
}
if (drawWingdings==False)
{
for( int posp=1000;posp>0;posp--)
{
ObjectDelete("A_Fon "+posp);
ObjectDelete("A_Fon0"+pospp);
ObjectDelete("A_Fon00");
}
}
}
Als Ergebnis habe ich ein Chaos, da eine große Anzahl von Objekten auf dem Diagramm gezeichnet werden.
Bitte nennen Sie mir den normalen Code zum Einstellen des Texthintergrunds.
Guten Tag... Frage zu den Funktionen FileIsEnding und FileIsLineEnding. Um zu verstehen, wie die Funktionen FileIsEnding und FileIsLineEnding funktionieren, habe ich das folgende Skript geschrieben:
Nachdem eine Zahl in die Datei geschrieben wurde, finden Sie in hexadezimaler Form den folgenden Eintrag
00000000: 31 2E 33 35 38 34 0D 0A | | 1.3584...
Jeder Buchstabe oder jede Zahl benötigt 1 Byte oder 8 Bits, die letzten beiden Zeichen heißen Zeilenvorschub und Wagenrücklauf, sie werden automatisch angehängt, so dass die Dateigröße 8 Byte und nicht 6 beträgt.
Führen Sie Ihr leicht geändertes Skript aus und achten Sie darauf, wie sich der Cursor bewegt (die Aufzählung ist absichtlich größer als die Dateigröße, damit Sie sehen können, wo der Fehler auftritt.
Wenn Sie den Indikator debuggen, müssen Sie ein Array von Preis- und Zeitwerten von bestimmten Bars auf dem Shift ausgeben.
Das alles erfahre ich natürlich innerhalb des Betreibers:
Dann übertrage ich die Preis- und Zeitwerte in Arrays, um mit ihnen weiter zu arbeiten:
Ich versuche, das, was ich bereits habe, sofort danach auszudrucken:
Dies wird im Expertenprotokoll ausgedruckt:
Hier ist deutlich zu sehen, dass die Preiswerte von varsTime1[i] undvarsTime2[i] und nur die Preise von time1 undtime2 immer 0 sind. Was ist daran falsch?
Sie sollten uns den gesamten Code geben. Sie wollen nicht raten, was für Sie klar ist.
Ich verstehe, dass ich nicht darüber nachdenken möchte, aber können Sie mir wenigstens einen Hinweis geben, wenn das Problem für Sie klar ist?
Leute, ich habe eine Frage - wer weiß, in welcher Datei Skripte gespeichert sind, die den "Hotkeys" zugeordnet sind? Ich möchte diese Datei mit den bereits benannten "Hotkeys" abspeichern, damit ich nicht jedes Mal nach einer Neuinstallation des Terminals, wenn plötzlich so ein Bedarf besteht, diese Tasten erneut zuweisen muss ..., sondern nur eine Datei und alles überwerfen muss ...
Ich danke Ihnen allen im Voraus.
Wenn Sie den Indikator debuggen, müssen Sie ein Array von Preis- und Zeitwerten von bestimmten Bars auf dem Shift ausgeben.
Das alles erfahre ich natürlich innerhalb des Betreibers:
Dann übertrage ich die Preis- und Zeitwerte in Arrays, um mit ihnen weiter zu arbeiten:
Ich versuche, das, was ich bereits habe, sofort danach auszudrucken:
Dies wird im Expertenprotokoll ausgedruckt:
Hier ist deutlich zu sehen, dass die Preiswerte von varsTime1[i] undvarsTime2[i] und nur die Preise von time1 undtime2 immer 0 sind. Was ist los?
i_maTF == Zeitraum()??????,
i_maPeriod nimmt einen vernünftigen Wert an???
Vielleicht ist etwas mit i_maShiftByPrice nicht in Ordnung?
Es ist schwer, das genauer zu sagen.