[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 288

 
Roger:

Aus irgendeinem Grund habe ich es richtig gemacht (außer beim kyrillischen Alphabet)

Ist das richtig? Es ist die gleiche Störung wie bei mir.

 

Ja, es ist also eine Störung.

Ich habe einen Fehler gefunden. In der Bibliothek für diese Funktion in der Zeile

double DecimalArray[17]={ 1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0,  10000000.0, 100000000.0,
                             1000000000.0, 10000000000.0, 100000000000.0, 10000000000000.0, 100000000000000.0,
                             1000000000000000.0, 1000000000000000.0, 10000000000000000.0 };
sollten Sie in der 13., 14. und 15. Zahl jeweils eine Null streichen.


Jetzt richtig.

2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 15 çíàêàìè ðàâíî 0.201304150854320
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 14 çíàêàìè ðàâíî 0.20130415085432
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 13 çíàêàìè ðàâíî 0.2013041508543
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 12 çíàêàìè ðàâíî 0.201304150854
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 11 çíàêàìè ðàâíî 0.20130415085
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 10 çíàêàìè ðàâíî 0.2013041509
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 09 çíàêàìè ðàâíî 0.201304151
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 08 çíàêàìè ðàâíî 0.20130415
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 07 çíàêàìè ðàâíî 0.2013042
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 06 çíàêàìè ðàâíî 0.201304
2013.04.14 22:54:33     stdlib GBPUSD,H1: loaded successfully
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé SS = 32
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MM = 54
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé HH = 8
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DD = 15
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MN = 4
2013.04.14 22:54:33     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé YY = 2013
 
Roger, vielen Dank!!! Alles hat funktioniert! Jetzt funktioniert es, wie es sollte!
 

Hallo, kann mir jemand sagen, wie man aus einem Skript einen EA macht?

 

Hallo. Ich bin nicht gut im Programmieren, ich kann keinen Fehler finden, der EA läuft auf dem Testgerät, aber es werden keine Trades geöffnet. Warum? Bitte um Hilfe.

//---- Eingabeparameter
extern int MA1=85;
extern int MA2=75;
extern int MA3=5;
extern int int fastema=15;
extern int int lowema=26;
extern int sl=15;
extern int tp=15;

/*
extern int vltbars=10; //Anzahl der Balken für die Volatilitätsberechnung
extern double deliter=1.5; //aktueller Volatilitätsteiler
extern double stoppercent=0.50; //von 1 bis 99

extern bool timecontrol=false;
extern string starttime = "07:00:00";
extern string stoptime = "17:00:00";
*/

extern double Lots=0.1;

int startb,starts;

doppeltes Niveau;
int init()
{
stoplevel=MarketInfo(Symbol(),MODE_SPREAD)+MarketInfo(Symbol(),MODE_STOPLEVEL);
}


int start()
{int buy,sell;

kaufen=0;verkaufen=0;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY){buy=1;}
if(OrderType()==OP_SELL){sell=1;}
}

double wma1 =iMA(NULL,0,MA1,0,MODE_LWMA,PRICE_LOW,1);
double wma2 =iMA(NULL,0,MA2,0,MODE_LWMA,PRICE_LOW,1);
double ema1 =iMA(NULL,0,MA3,0,MODE_EMA,PRICE_CLOSE,1);

double macdcurr =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,1);
double macdlast =iMACD(NULL,0,fastema,lowema,1,PRICE_CLOSE,MODE_MAIN,2);


if(ema1<wma1 && ema1<wma2)startb=1;
if(ema1>wma1 && ema1>wma2)starts=1;

if(ema1>wma1 && ema1>wma2 && startb==1 && (macdcurr>0 || macdcurr>macdlast) && buy==0)
{
Print("BUY Bid: "+Bid+" sl: "+sl+" TakeProfit: "+tp);
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-sl*Point,Ask+tp*Point, "FORTRADER.RU",0,0,Red);
startb=0;
}
if(ema1<wma1 && ema1<wma2 && starts==1 && (macdcurr<0 || macdcurr<macdlast)&& sell==0)
{
Print("SELL Bid: "+Bid+" sl: "+sl+" TakeProfit: "+tp);
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+sl*Point,Bid-tp*Point, "FORTRADER.RU",0,0,Red);
beginnt=0;
}

zurück(0);
}


 
qwert2:

Hallo, kann mir jemand sagen, wie man aus einem Skript einen EA macht?

Legen Sie sie in den EA-Ordner.
 
Zhunko:
Legen Sie sie in den Expertenordner.

Das Skript führt die Aktion aus, wenn Sie es einfach in den Expertenordner verschieben, führt es die Aktion bei jedem Tick aus, anstatt eine neue Aktion erst zu starten, wenn die alte beendet ist.

 
qwert2:

Das Skript führt die Aktion aus. Wenn Sie es einfach in den Ordner "Experte" verschieben, führt es die Aktion bei jedem Tick aus, anstatt eine neue Aktion erst zu starten, wenn die alte beendet ist.

Das verstehe ich nicht. Worum geht es hier? Ist das eine Frage?
 
Zhunko:
Das verstehe ich nicht. Worum geht es hier? Ist das eine Frage?

Ich habe darüber geschrieben, was passiert, wenn Sie das Skript einfach in den Ordner "Experten" verschieben. Es funktioniert, aber nicht so, wie wir es brauchen. Das Skript erstellt 8 Pending Orders. Wenn wir es einfach im Expert Advisors Ordner speichern, erstellt es 8 Pending Orders nach jedem Tick. Ich brauche es, um 8 neue Aufträge erst dann zu erteilen, wenn die alten abgeschlossen sind.
 
qwert2:
Dies geschieht, wenn das Skript einfach in den Ordner "Experten" verschoben wird. Es funktioniert, aber nicht so, wie es sollte. Das Skript erstellt 8 schwebende Aufträge, aber wenn Sie es nur im Expertenordner speichern, erstellt es nach jedem Tick 8 schwebende Aufträge. Ich brauche es, um 8 neue Aufträge erst dann zu erteilen, wenn die alten abgeschlossen sind.
Sie mischen sich in nichts ein - vielleicht wäre ein Huhn ein BESSERER (weil anstehender)? :)))