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

 
StatBars >>:

Вы не моглы бы весь скрипт выложить? Я имею ввиду вместе с объявлениями переменных массивов и т.д.

Hier ist das Skript, ich habe es überprüft, es funktioniert, es liest sich gut in der Seitenleiste und doppelt.

 
Alles in allem bin ich ein ziemlicher Chaot, was soll ich sagen!
Der Spezialist sagte mir sofort, ich solle mir Arrays anschauen, nicht Typkonvertierungen...

StatBars, Vinin, alle, die geantwortet haben, vielen Dank.

Das Problem war, dass meine Arrays dynamisch waren. Und da gibt es eine gewisse Spezifität der Typkonvertierung.
auf Arrays mit deterministischer Länge angepasst, und die Typkonvertierung mit StrToDouble funktionierte wie am Schnürchen.

Nochmals vielen Dank.
Die Arbeit mit Dateien ist eine nützliche Sache
. Ich versuche gerade, es herauszufinden.
 
Bicus >>:
Джентльмены, вопрос такой:

В тестере вот такая штука:

в журнале выдает "0.0000".

А в терминале в реал-тайме выдает правильные значения.

Как с этим бороться?

А?

 
Bicus писал(а) >>

А?


>> Geben Sie den Code heraus und nennen Sie mir alle Details.
 
Techno >>:

выкладывай код, и все подробней

double nMAValue;

... парам-парам ...

nMAValue = iMA (Symbol (), PERIOD_H1, 100, 0, MODE_SMA, PRICE_MEDIAN, 0); 
Print ("MA value: ", DoubleToStr (nMAValue, 4));

... парам-парам ...
 
Bicus писал(а) >>

Es funktioniert für mich richtig, der Wert in der Tester ist richtig. hier ist der Code, wenn etwas, haben Sie wahrscheinlich einen Fehler in den Rest des Codes irgendwo
Dateien:
001.mq4  1 kb
 

Vinin, Bicus.
Vielen Dank für die Aktualisierung der .csv-Datei.
Ich war ein bisschen... ...verwechselt.)

 
Sehr geehrte Damen und Herren, ich bin auf ein Problem mit der Funktion OrderSend gestoßen, und zwar öffnet sich meine Bestellung nicht.
Zum Beispiel, wenn ich diesen EA an ein Diagramm anhänge -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
double SL,TP;
string Symb;
int start()
{
Symb=Symbol();
SL =Bid - (StopLoss*Punkt);
TP =Bid + (TakeProfit*Punkt);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Buy order opened");
if(OrdersTotal()==0) Alert("Buy order failed because.error #",GetLastError());
Alert("Point = ",Point);
return;
}
zeigt das Terminal den Fehler #130 (falsche Haltestellen) und der Point-Wert ist 0.
Ich denke, das liegt am Wert der zurückgegebenen Punkte (aber wer weiß).
Generell hilft, wer weiß, "wo der Hund begraben liegt".
Übrigens, sollte der Punktwert = 0 sein oder nicht?
Dateien:
 
159753 писал(а) >>
Sehr geehrte Damen und Herren, ich bin auf ein Problem mit der Funktion OrderSend gestoßen, und zwar öffnet sich meine Bestellung nicht.
Wenn ich zum Beispiel diesen EA an ein Diagramm anhänge -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
doppelt SL,TP;
Zeichenfolge Symb;
int start()
{
Symbol=Symbol();
SL =Gebot - (StopLoss*Punkt);
TP =Gebot + (TakeProfit*Punkt);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Kaufauftrag eröffnet");
if(OrdersTotal()==0) Alert("Der Kaufauftrag konnte aufgrund eines Fehlers #",GetLastError()) nicht geöffnet werden;
Alert("Punkt = ",Punkt);
Rückkehr;
}
dann zeigt das Terminal den Fehler #130 (falsche Haltestellen) an und der Punktwert ist =0.
Ich denke, das liegt am Wert der zurückgegebenen Punkte (aber wer weiß).
Generell gilt: Wer weiß schon, "wo der Hund begraben liegt".
Übrigens, sollte der Punktwert = 0 sein oder nicht?


Alles funktioniert einwandfrei. Zumindest für mich
Dateien:
 
159753 >>:
Уважаемые господа, я столкнулся с проблемой, связанной с функцией OrderSend, а именно у меня не открывается ордер.
К примеру, если присоединить этот советник к графику -
extern double StopLoss = 30;
extern double TakeProfit = 30;
extern double lot = 0.1;
double SL,TP;
string Symb;
int start()
{
Symb=Symbol();
SL =Bid - (StopLoss*Point);
TP =Bid + (TakeProfit*Point);
OrderSend(Symb,OP_BUY,lot,Ask,3,SL,TP);
if(OrdersTotal()>0) Alert("Ордер Buy открыт");
if(OrdersTotal()==0) Alert("Ордер Buy открыть не удалось т.к. возникла ошибка №",GetLastError());
Alert("Point = ",Point);
return;
}
то терминал выдаст ошибку № 130 (неправильные стопы), а значение Point будет = 0.
Я думаю, что всё из-за возвращаемого значения Point (хотя кто его знает).
В общем кто знает "где собака зарыта " помогите.
Кстати, значение Point должно = 0 или нет?

Punkt kann nicht 0 sein, Sie haben wahrscheinlich die 5. Stelle, so dass Sie beim Drucken (Alert) 0 erhalten (print (Alert) gibt bis zu 4 tsnacks aus, es sei denn, Sie wandeln es in einen DoubleToStr-String um...)
Versuchen Sie TakeProfit und StopLoss multipliziert mit 10