Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 350

 
Forexman77:

Auf dem Bild habe ich mit einem Pfeil markiert, wo der Ausgang sein soll. Ich verstehe nicht, wo das Problem liegt. Wir gehen rein und merken uns die Zeit,

Steigen Sie dann aus, wenn die Zeit länger ist als die Einstiegszeit mit einem Versatz von einer Periode und der Kurs unter dem 3-Tage-MA min liegt.

Der Code lautet wie folgt:

Was schlagen Sie vor?

Verkaufen Sie dicht an der Ascus! Sie ist höher! Bitten-Bieten=Streuen;

Korrigieren Sie diese Zeile des Codes:

if  (Bid <= MA_2_t)

// на

if  (Ask <= MA_2_t)

Dann schließt sie sich wie gewünscht, kann aber jederzeit wieder rückgängig gemacht werden. Wir müssen uns mit wenig zufrieden geben!

 
Forexman77:


Auf dem Bild habe ich mit einem Pfeil markiert, wo der Ausgang sein soll. Ich verstehe nicht, wo das Problem liegt. Wir gehen rein und merken uns die Zeit,

Steigen Sie dann aus, wenn die Zeit länger ist als die Einstiegszeit mit einem Versatz von einer Periode und der Kurs unter dem 3-Tage-MA min liegt.

Der Code lautet wie folgt:

Was meinen Sie dazu?


Ich meine, es wäre gut, Screenshots zu posten, auf denen Sie den Preis und den Zeitrahmen sehen können. Vielleicht gibt es Pipsing auf M1 und der Server hat einfach keine Zeit, die Order rechtzeitig zu bearbeiten.


Und anstelle von t=Time[0]; besser OrderOpenTime() verwenden.

 
evillive:

Wenn es nicht zu geheim ist, wäre es gut, Screenshots zu veröffentlichen, auf denen man Preise und Zeitrahmen sehen kann. Vielleicht gibt es Pipsing auf M1 und der Server hat einfach keine Zeit, den Auftrag zu bearbeiten.


Verwenden Sie OrderOpenTime() anstelle von t=Time[0];.

Heureka! Ich habe verstanden, warum.

Signal > 0,006 fast immer, so dass t=Time[0]; ständig aktualisiert wird und der Handel nicht geschlossen wird.

Ich setze t=Time[0]; in den Block, in dem die Eröffnung einer Position angekündigt wird.

 

Hallo zusammen, wie verhält sich der getestete EA gegenüber Gaps? D.h. auf dem Test zeigt er gute Gewinne, aber auf der Demo hat er schon seit zwei Tagen alles verpatzt :(.

 

Hallo zusammen!

Ich habe EA gemacht, indem ich zwei EMAs gekreuzt habe, das ist mein erster EA und ich fürchte, ich habe einige dumme Fehler gemacht, also bitte ich die Profis, den Code zu überprüfen und mir einen Rat zu geben, wenn etwas falsch ist.

Dieser EA sollte an der Bitcoin-Börse handeln, der Preis kann pro Tag um 30% steigen, daher sollten Stoploss und Takeprofit in Prozent des Preises liegen.

Ich habe es auf Demo-Konto getestet, es scheint zu funktionieren, aber ich habe Angst, es auf realen Konto zu verwenden, die minimale Menge ist über $ 7, und Cent-Konto hat keinen Makler.

Ich habe noch keinen Trailing-Stop angebracht, und ich werde die EMA-Differenz nicht mit Null, sondern mit einem kleinen Wert vergleichen, um häufige Trades zu vermeiden, wenn die Kurven parallel verlaufen.

Das Programm besteht größtenteils aus Teilen, die ich aus Beispielen und Tutorien entnommen habe, so dass die Gefahr besteht, dass ich beim Zusammenstellen des Programms etwas falsch gemacht habe.

Variablen:

#property copyright "me"
#property link      "killnosock.net"
extern int SlowEma = 21;
extern int FastEma = 10;
extern int MaxRisk = 100;// % депо которое будет использоваться для открытия ордера
extern int  TakeProfit=100;
extern int  StopLoss=100;
extern int Slippage = 10;

int LastBars = 0;

int init(){return(0);}
int deinit() {return(0);}

Diese Funktion definiert die Losgröße:

double GetLot(int Risk)
{double Free    =AccountFreeMargin();
 double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
 double Min_Lot =MarketInfo(Symbol(),MODE_MINLOT);
 double Max_Lot =MarketInfo(Symbol(),MODE_MAXLOT);
 double Step    =MarketInfo(Symbol(),MODE_LOTSTEP);
 double Lot     =MathFloor(Free*Risk/100/One_Lot/Step)*Step;
 if(Lot<Min_Lot) Lot=Min_Lot;
 if(Lot>Max_Lot) Lot=Max_Lot;
 if(Lot*One_Lot>Free) {
 Alert(" free= ", AccountFreeMargin()," for one lot= ", MarketInfo(Symbol(),MODE_MARGINREQUIRED)," lot= ", Lot);
 return(0.0);}
return(Lot);}

Wir eröffnen hier einen Auftrag:

int NewOrder(int Cmd,double Lot)
{double TP=0; //takeprofit
 double SL=0; //stoploss
 double PR=0; //price
 color clr = CLR_NONE;
 while(!IsTradeAllowed()) Sleep(10);
 RefreshRates();
 if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit>0) TP=Ask + Ask*TakeProfit/100;
    if(StopLoss>0) SL=Ask - Ask*StopLoss/100;
    if(SL<0) SL = 0;
    if(TP<0) TP = 0;
    clr = Green;}
 if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit>0) TP=Bid - Bid*TakeProfit/100;
    if(StopLoss>0) SL=Bid + Bid*StopLoss/100;
    if(SL<0) SL = 0;
    if(TP<0) TP = 0;
    clr = Red;}
 int tic=OrderSend(Symbol(),Cmd,Lot,PR,Slippage,SL,TP,"",0,0,clr);
 if(tic<0) Print("Open order error: ",GetLastError());
return(tic);}

Hier schließen wir 1 oder alle Aufträge

//CloseOrder
void CloseOrder()
{double PR=0;
 while(!IsTradeAllowed()) Sleep(10);
 RefreshRates();
 if(OrderType()==OP_BUY)  PR=Bid;
 if(OrderType()==OP_SELL) PR=Ask;
 if(!OrderClose(OrderTicket(),OrderLots(),PR,Slippage,CLR_NONE))
   Print("Order close error: ",GetLastError());
return;}

//Close all Orders
void CloseAllOrders()
{
  for(int i=OrdersTotal()-1;i>=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {
      CloseOrder();
     }
return;}

Diese Funktion berechnet die Differenz von zwei EMAs

double EmaDiff(int shift)
   {
      double difference;
      difference = iMA(Symbol(),0,FastEma,0,MODE_EMA,PRICE_CLOSE,shift)
                 - iMA(Symbol(),0,SlowEma,0,MODE_EMA,PRICE_CLOSE,shift);
      return(difference);
   }

Und hier ist der Hauptteil des Programms

int start()
  {
double Lot;
    // действуем, когда открывается новая свечка
    if (LastBars == Bars) return(0);
    else LastBars = Bars;
      {         
         if ((EmaDiff(1) > 0) && (EmaDiff(2) < 0))
            {
               CloseAllOrders();
               Lot = GetLot(MaxRisk);
               NewOrder(OP_BUY,Lot);
            }
            
         if ((EmaDiff(2) > 0) && (EmaDiff(1) < 0))
            {
               CloseAllOrders();
               Lot = GetLot(MaxRisk);
               NewOrder(OP_SELL,Lot);
            }                    
      }
   return(0);
  }
 

Sehr geehrte Damen und Herren, hallo an alle!!!

Helfen Sie mir, die Angebote zu erkennen!!! Es gibt ein Set mit Angeboten, ich habe es von einer Website heruntergeladen, auf der es einen Wettbewerb gab, bei dem der Kerl mit $10000 für einen Monat oder eine Woche, an die ich mich nicht erinnere, $300 000 gewann! Woher soll ich wissen, wo er das Geschäft abgeschlossen hat!!! Öffnungszeit, Preis, Los, Währungspaar - alles da!!!

.........................................................................................................................................................................................................................................


ES GIBT SO VIELE ABSCHLÜSSE, DASS ICH NICHT WEISS, WO ER SIE ALLE ABGESCHLOSSEN HAT!


Die Ergebnisse werden ab 2013-08-29 14:02:05(EET) angezeigt.


TRANSAKTION ZEIT TYP LOTS PREIS SWAP GEWINN

272984 2013-08-05 07:58:50 SELL 1.00 EURAUD 1.49556 0 0

272986 2013-08-05 07:58:56 SELL 1.00 EURAUD 1.49553 0 0

272988 2013-08-05 07:59:03 SELL 1.00 EURAUD 1.49549 0 0

272999 2013-08-05 07:59:57 SELL 1.00 EURAUD 1.49534 0 0

273002 2013-08-05 08:00:02 SELL 1.00 EURAUD 1.4954 0 0

273004 2013-08-05 08:00:07 SELL 1.00 EURAUD 1.4954 0 0

284429 2013-08-05 16:47:27 KAUFEN 1.00 EURAUD 1.48839 0 628.85

284432 2013-08-05 16:47:33 KAUFEN 1.00 EURAUD 1.48838 0 629.71

284433 2013-08-05 16:47:37 KAUFEN 1.00 EURAUD 1.48843 0 625.28

284435 2013-08-05 16:47:43 KAUFEN 1.00 EURAUD 1.48857 0 612.81

284439 2013-08-05 16:47:47 KAUFEN 1.00 EURAUD 1.48854 0 615.46

284442 2013-08-05 16:47:50 KAUFEN 1.00 EURAUD 1.48859 0 611.01

284443 2013-08-05 16:47:51 KAUFEN 1.00 EURAUD 1.48859 0 0

284447 2013-08-05 16:48:01 KAUFEN 1.00 AUDUSD 0.89056 0 0

284449 2013-08-05 16:48:09 SELL 1.00 EURAUD 1.48735 0 -110.44

284451 2013-08-05 16:48:21 KAUFEN 1.00 AUDUSD 0.89061 0 0

284454 2013-08-05 16:48:25 KAUFEN 1.00 AUDUSD 0.8906 0 0

284458 2013-08-05 16:48:30 KAUFEN 1.00 AUDUSD 0.89058 0 0

284461 2013-08-05 16:48:34 KAUFEN 1.00 AUDUSD 0.89051 0 0

284465 2013-08-05 16:48:39 KAUFEN 1.00 AUDUSD 0.89052 0 0

284469 2013-08-05 16:48:43 KAUFEN 1.00 AUDUSD 0.89053 0 0

284472 2013-08-05 16:48:47 KAUFEN 1.00 AUDUSD 0.89051 0 0

284475 2013-08-05 16:48:51 KAUFEN 1.00 AUDUSD 0.89056 0 0

284479 2013-08-05 16:48:55 KAUFEN 1.00 AUDUSD 0.89056 0 0

284483 2013-08-05 16:48:59 KAUFEN 1.00 AUDUSD 0.89056 0 0

284487 2013-08-05 16:49:03 KAUFEN 1.00 AUDUSD 0.89058 0 0

284491 2013-08-05 16:49:08 KAUFEN 1.00 AUDUSD 0.89053 0 0

284492 2013-08-05 16:49:12 KAUFEN 1.00 AUDUSD 0.89053 0 0

286130 2013-08-05 16:51:55 BUY STOP 1.00 AUDUSD 0.8915 0 0

288418 2013-08-05 16:52:05 BUY STOP 1.00 AUDUSD 0.89255 0 0

293964 2013-08-05 16:52:14 BUY STOP 1.00 AUDUSD 0.8935 0 0

299297 2013-08-05 16:52:26 BUY STOP 1.00 AUDUSD 0.89459 0 0

299482 2013-08-05 16:52:35 BUY STOP 1.00 AUDUSD 0.89553 0 0

299533 2013-08-05 16:52:53 BUY STOP 1.00 AUDUSD 0.89655 0 0

299595 2013-08-05 16:53:02 BUY STOP 1.00 AUDUSD 0.89703 0 0

300040 2013-08-05 16:53:36 BUY STOP 1.00 AUDUSD 0.89751 0 0

300096 2013-08-05 16:53:46 BUY STOP 1.00 AUDUSD 0.898 0 0

300151 2013-08-06 07:54:49 SELL 1.00 AUDUSD 0.89756 4.36 519.04

300153 2013-08-06 07:54:53 SELL 1.00 AUDUSD 0.89749 4.36 512.04

300154 2013-08-06 07:54:58 SELL 1.00 AUDUSD 0.89743 4.36 506.04

300156 2013-08-06 07:55:01 SELL 1.00 AUDUSD 0.89738 4.36 501.04

300158 2013-08-06 07:55:05 SELL 1.00 AUDUSD 0.89736 4.36 499.04

300160 2013-08-06 07:55:11 SELL 1.00 AUDUSD 0.89772 4.36 535.04

300161 2013-08-06 07:55:15 SELL 1.00 AUDUSD 0.89771 4.36 534.04

300163 2013-08-06 07:55:19 SELL 1.00 AUDUSD 0.89765 4.36 528.04

300167 2013-08-06 07:55:36 SELL 1.00 AUDUSD 0.89733 4.36 496.04

300169 2013-08-06 07:55:40 SELL 1.00 AUDUSD 0.89733 4.36 496.04

300171 2013-08-06 07:55:44 SELL 1.00 AUDUSD 0.89735 4.36 498.04

300173 2013-08-06 07:55:49 SELL 1.00 AUDUSD 0.89732 4.36 495.04

300178 2013-08-06 07:55:52 SELL 1.00 AUDUSD 0.89725 4.36 488.04

300181 2013-08-06 07:55:56 SELL 1.00 AUDUSD 0.89714 4.36 477.04

 
FEAR:

Sehr geehrte Damen und Herren, hallo an alle!!!

Helfen Sie mir, die Angebote zu erkennen!!! Es gibt ein Set mit Angeboten, ich habe es von einer Website heruntergeladen, auf der es einen Wettbewerb gab, bei dem der Kerl mit $10000 für einen Monat oder eine Woche, an die ich mich nicht erinnere, $300 000 gewann! Woher soll ich wissen, wo er das Geschäft abgeschlossen hat!!! Öffnungszeit, Preis, Los, Währungspaar - alles da!!!

.........................................................................................................................................................................................................................................

ES GIBT SO VIELE ABSCHLÜSSE, DASS ICH NICHT WEISS, WO ER SIE ALLE ABGESCHLOSSEN HAT!

Es gibt keine Möglichkeit, sie geben keine Schlusszeit und keinen Preis an, es gibt keine Werbegeschenke ))))
 
evillive:
Es gibt keine Möglichkeit, sie geben absichtlich keinen Schlusskurs an, es gibt kein free())


ICH VERSTEHE, ABER ES GIBT EINE MENGE UND EINEN PREIS UND EINEN KAUF ODER VERKAUF ZUM BEISPIEL:


284429 2013-08-05 16:47:27 KAUFEN 1.00 EURAUD 1.48839 0 628.85

DER PREIS IST 1,48839 WÄHRUNGSPAAR -EURAUD, LOS 1 BROKER 5 MARK!!! GEWINN 628 D.H. DER KURS IST UM 628 PUNKTE GESTIEGEN!!! bei lot 1!!! ich meine, wenn man sich die Geschichte anschaut, verstehe ich nicht, ehrlich gesagt ist es fast 17:00 Uhr, aber der Preis ist viel niedriger als diese 1,48839!!! AUCH WENN DIES DER SCHLUSSKURS IST ICH 7000 PIPS GEZÄHLT ICH VERSTEHE NICHT, WIE

 
FEAR:


ICH VERSTEHE, ABER ES GIBT EINE MENGE UND EINEN PREIS UND EINEN KAUF ODER VERKAUF ZUM BEISPIEL:


284429 2013-08-05 16:47:27 KAUFEN 1.00 EURAUD 1.48839 0 628.85

DER PREIS IST 1,48839 WÄHRUNGSPAAR -EURAUD, LOS 1 BROKER 5 MARK!!! GEWINN 628 D.H. DER KURS IST UM 628 PUNKTE GESTIEGEN!!! bei lot 1!!! ich meine, wenn man sich die Geschichte anschaut, verstehe ich nicht, ehrlich gesagt ist es fast 17:00 Uhr, aber der Preis ist viel niedriger als diese 1,48839!!! SELBST WENN ES DER SCHLUSSKURS IST, HABE ICH 7000 PIPS GEZÄHLT, ICH VERSTEHE NICHT, WIE DAS MÖGLICH IST


Wo haben Sie 7000 Pips gezählt? Es ist der Eröffnungskurs, aber selbst wenn es der Schlusskurs wäre, reicht ein Kurs nicht aus, um dort etwas zu zählen, man braucht beide. Ich denke, es ist nur ein Fake, es sei denn, der Wettbewerb lief bis zum 18. Dezember, wenn diese Position mit 630 Pips Gewinn hätte geschlossen werden können. Aber vorher hätte er einen Drawdown von ca. -830 Pips (für 4zn) aussitzen müssen, nicht sehr clever, die Strategie ist so ein trostloser Quatsch...


Ich würde es auf dem realen Konto verloren haben, es funktioniert auf einer Demo, wenn ich eine Menge virtuelles Geld haben )))

 

evillive, guten Tag, danke, dass Sie mir den richtigen Weg gezeigt haben!!!



r772ra, hallo, danke für die Erklärung des Fehlers, der den korrigierten Code zeigt (ich halte dies für den besten Weg, um zu lernen (Praxis (-Do the theory, my friend, and the tree of life is evergreen.-))).

Grund der Beschwerde: