Ich schreibe kostenlos einen Ratgeber - Seite 63

 
Hallo. Können Sie diese Strategie nutzen, um einen Berater zu schreiben https://www.youtube.com/watch?v=V58JIhy2rw4. Oder haben Sie einen Berater, der auf seinem Platz stagniert oder leicht in den schwarzen.... Für den Verdienst auf Rabatt auf der Website fxcash.ru. Wenn Sie etwas brauchen, kontaktieren Sie mich bitte auf Facebook https://vk.com/id16112208 oder persönlich.
Метод торговли на FOREX (Безубыточный)
Метод торговли на FOREX (Безубыточный)
  • 2016.01.11
  • www.youtube.com
САЙТ – http://forexbid.jimdo.com/strategy/metod/ ФОРУМ – http://forex.forumex.ru/viewtopic.php?f=5&t=45&p=73#p73 Возврат спреда http://www.getforexrebate.com...
 
Sergey Zaitsev:
Hallo. Können Sie einen Expert Advisor zu dieser Strategie schreiben https://www.youtube.com/watch?v=V58JIhy2rw4. Oder haben Sie vielleicht einen Expert Advisor, der auf der Stelle stagniert oder ein wenig in die Gewinnzone geht.... Für den Verdienst auf Rabatt auf der Website fxcash.ru. Danke, dann wenden Sie sich bitte an https://vk.com/id16112208 oder unter vier Augen.
Ja, ich habe diese Art von Eulen geschrieben.
****
Für einen Preisnachlass ist das in Ordnung. Erzielt eine große Anzahl von Losen, ohne dass es zu einer großen Abnahme kommt.
Aber bei einer langen Wohnung kann es zu einem Verlust ...
 
Ich nehme nicht an, dass es sich um eine lange Wohnung handelt, sondern wann genau sich die Wohnung ausdehnt? Ist es möglich, eine zu bekommen?
 
Ist Ihr Rabattservice globegain.com in Ordnung? Warum gibt forex4u so viel - $18.6 pro Lot....insta - $14.3... ist sie echt?
 

Guten Tag!

Ich habe beschlossen, meinen Handel ein wenig zu robotisieren. Ich habe einen Trend Expert Advisor vom MT4-Terminal"Moving Average" verwendet. Ich habe mich entschieden, meinen eigenen EA aus dem MT4-Terminal zu verwenden und habe einige leichte Änderungen vorgenommen. Ich fügte eine weitere Maske hinzu, änderte die Ein- und Ausstiegsbedingungen, fügte Stop und Profit hinzu und begrenzte die Öffnungszeit. Ich würde gerne noch mehr hinzufügen.

1) Die Möglichkeit, zwei Aufträge gleichzeitig mit einstellbarem Stop-Loss, Take-Profit und Null-Loss zu eröffnen.

2) Einstellbare Anzahl von Einträgen pro Tag.

3) Einstellbare Möglichkeit, am nächsten Tag in den Handel einzusteigen, wenn ein Geschäft geöffnet ist.

4) Einstellbarer Ausstieg durch Stop Loss, No Loss oder Take Profit.

5) Abschaffung der Berechnung des maximalen Risikos. (Besondere Notwendigkeit sehe ich nicht, außerdem verstehe ich nicht, wie er das Risiko berechnet, den Eindruck, dass aus dem Hintergrund, Lose geöffnet wurden dann 0,10 dann 1,00)

6) Funktioniert nicht korrekt mit dem Währungspaar USDJPY

Vielleicht sollte etwas korrigiert, gereinigt werden, um die Arbeit des EA zu verbessern. Hilfe oder Tipps.

Arbeitet auf mehr als zehn Charts gleichzeitig, in jedem Fenster des Währungspaarcharts gibt es einen eigenen EA. Der Code ist beigefügt. Vielen Dank an alle, die geantwortet haben.

//+------------------------------------------------------------------+
//|                                                      MA_MA_1.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//#property strict
#define  MAGICMA  20131112
//--- Inputs
input double SL             =500; //стоп лос
input double TakeProfit     =1000; //тейк профит
input double Lots           =0.01; //розмер лота
//input double MaximumRisk    =0.1; //отключил не понятна логика расчета
input double DecreaseFactor = 3; //фактор снижение(наверно проскальзывание)
input int    MovingPeriod1  =36; //медленная средняя
input int    MovingPeriod2  =12; //быстрая средняя
input int    MovingShift1   =10; //сдвиг медленной средней
input int    MovingShift2   = 0; //сдвиг быстрой средней
extern int   TimeStart      = 8; //время начала торгов
extern int   TimeStop       =20; //время окончания торгов
//+------------------------------------------------------------------+
//| Calculate open positions     //считаем открытые позиции                                    |
//+------------------------------------------------------------------+
int CalculateCurrentOrders(string symbol)
  {  
   int buys=0,sells=0;
//---
   for(int i=0;i<OrdersTotal();i++)
     {    
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//--- return orders volume //объём ордеров на возврат
   if(buys>0) return(buys);
   else       return(-sells);
  }
//+------------------------------------------------------------------+
//| Calculate optimal lot size       //расчет оптимального размера лота                                |
//+------------------------------------------------------------------+
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total (история заказов всего)
   int    losses=0;                  // number of losses orders without a break (количество потерь заказов без перерыва)
//--- select lot size //ОТКЛЮЧИЛ выбор размер лота. 
//lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);//(логика выбора мне не понятна)
//--- calcuulate number of losses orders without a break (Расчет количества заказов на потери без перерыва)
//   if(DecreaseFactor>0)
//    {
//      for(int i=orders-1;i>=0;i--)
//        {
//         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
//           {
//            Print("Error in history!");
//            break;
//           }
//         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
//            continue;
         //---
//         if(OrderProfit()>0) break;
//         if(OrderProfit()<0) losses++;
//        }
//      if(losses>1)
//         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
//     }
//--- return lot size (розмер возвращаемого лота)
   if(lot<0.1) lot=0.1;
   return(lot);
  }
//+------------------------------------------------------------------+
//| Check for open order conditions       //проверка условий для открытия ордера                           |
//+------------------------------------------------------------------+
void CheckForOpen()
  {  
   double ma1; //медленная средняя
   double ma2; //быстрая средняя
   int    res;
//--- go trading only for first tiks of new bar// торговать только на первом тике нового бара
   if(Volume[0]>1) return;
//--- get Moving Average //получение скользящих средних
   ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
   ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая
//--- sell conditions //условия для продажи
   if(ma1<ma2 && Close[1]<ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
     {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+SL*Point,Bid-TakeProfit*Point,"",MAGICMA,0,Red);
      return;      
     }
//--- buy conditions //условия для покупки
   if(ma1>ma2 && Close[1]>ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-SL*Point,Ask+TakeProfit*Point,"",MAGICMA,0,Blue);
      return;      
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for close order conditions      //проверка условий для закрытия ордера                           |
//+------------------------------------------------------------------+
void CheckForClose()
  {
   double ma1;//медленная
   double ma2;//быстрая
//--- go trading only for first tiks of new bar// торговать толькона тике нового бара
   if(Volume[0]>1) return;
//--- get Moving Average //получение средних
   ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
   ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
      //--- check order type //проверка типа ордера
      if(OrderType()==OP_BUY)
        {
         if(Close[1]<ma2 && Open[2]>Close[1] && ma1<ma2) //(Open[1]>ma && Close[1]<ma)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Close[1]>ma2 &&  Open[2]<Close[1] && ma1>ma2)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
     }
//---
  }
//+------------------------------------------------------------------+
//| OnTick function  //функция нового тика                                                |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- check for history and trading
   if(Bars<100 || IsTradeAllowed()==false)
      return;
//--- calculate open orders by current symbol
   if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
   else                                    CheckForClose();
//---
  }
//+------------------------------------------------------------------+
 
Sergey Zaitsev:
Hallo. Können Sie diese Strategie nutzen, um einen Berater zu schreiben https://www.youtube.com/watch?v=V58JIhy2rw4. Oder haben Sie einen Berater, der auf seinem Platz stagniert oder leicht im schwarzen.... Für den Verdienst auf Rabatt auf der Website fxcash.ru. Danke. Wenn der Piepton in Ek https://vk.com/id16112208 oder unter vier Augen.

Schauen Sie sich den Zweig Avalanche an, es gibt Berater für diesen TS.
 

Hallo!

Kann ich Hilfe bekommen? Der Expert Advisor ruft jeden Tick Trades ab. Wie schreibe ich einen Code, um etwa 5 oder nur so viele Gewerke zu entfernen, wie ich möchte?

extern int tp=50;

extern int sl=200;

extern double lot=0.01;

oid OnTick()

{

OrderSend("USDJPY",OP_SELL,lot,Bid,0,Ask+sl*Point,Ask-tp*Point, "Batsasho",1,0,Red);

}

Was sollte ich an dem Code ändern oder hinzufügen?

Ich danke Ihnen!

 

Wenn ich es Ihnen nicht schwer mache, können Sie antworten ***

Ich danke Ihnen!

 

Ich habe versucht, die vorgefertigten Vorlagen nachzubearbeiten, aber am Ende geben sie ein paar Fehler aus, alles was ich brauche, ist eine Eule:

1) eröffnet eine Kaufposition, wenn die geschlossene Kerze bullisch ist, und eine Verkaufsposition, wenn die geschlossene Kerze bärisch ist.

2) und so weiter nach JEDEM Kerzenständer.

Ich habe die zweite Bedingung nicht erfüllt.

Wenn jemand helfen kann, wäre ich sehr dankbar.

 
alstefanov:

Kann ich Hilfe bekommen? Der Expert Advisor ruft bei jedem Tick Trades ab. Wie schreibe ich den Code, um etwa 5 Gewerke zu zeichnen oder nur so viele, wie ich möchte?

Was sollte ich an dem Code ändern oder hinzufügen?

Ich sollte eine Schleife hinzufügen und die Anzahl der Aufträge vor der Ausführung von OrderSend begrenzen.