Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 293

 
oDin48:

Les gars, s'il vous plaît, conseillez un bon DC pour le trading EA ?


Partagez l'information, s'il vous plaît, car à quoi bon écrire un hibou sans avoir des DC normaux pour travailler.
 

https://www.mql5.com/ru/market/product/1144

J'ai cet EA en vente sur le marché pour 1800 USD, je l'ai testé sur l'EURUSD et il gagne de l'argent parfaitement, sur les autres paires il se négocie avec des zéros, je pense qu'il a été ajusté à l'historique des tickets, est-ce possible ?

 
oDin48:

Partagez l'information, s'il vous plaît, car quel est l'intérêt d'écrire un hibou sans avoir de DCs normaux avec lesquels travailler.
Je vous suggère de le googler ! C'est officiellement bon !
 
SpikeOne:

https://www.mql5.com/ru/market/product/1144

J'ai cet EA en vente sur le marché pour 1800 USD, je l'ai testé sur l'EURUSD et il gagne de l'argent parfaitement, sur les autres paires il se négocie avec des zéros, je pense qu'il a été ajusté à l'historique des tickets, est-ce possible ?

Je pense que cela a quelque chose à voir avec l'historique des tickets ! C'est pour MT5 ! Vous pouvez demander là-bas !
 
TarasBY:

... et selon quelles règles linguistiques l'avez-vous sculpté ? ! Par exemple :

:)


C'est le problème, c'est ce qui doit être "formulé" correctement, j'ai toujours eu un bon sens de la logique, mais cela fait un mois que je n'ai pas pu le faire ((((((((.
 
niformalka:

C'est le problème, c'est ce qu'il faut "formuler" correctement, j'ai toujours été à l'aise avec la logique, mais ça fait un mois que je n'y arrive plus ((((((((.

L'aide est à portée de main !

Documentation Tutoriel TA Code Base Articles

 

"if(iCCI(Symbole,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbole,0,14,PRICE_TYPICAL,0)<-100 {"

A mon avis, il manque dans cet exemple des parenthèses : 3 ouvrantes et 2 fermantes. Je conseille à l'auteur de la chouette de vérifier si toutes les parenthèses correspondent.

Je l'écrirais de cette façon :

si ((iCCI(Symbole,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Symbole,0,14,PRICE_TYPICAL,0)<-100)) {

 
oDin48:

"if(iCCI(Symbole,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbole,0,14,PRICE_TYPICAL,0)<-100 {"

A mon avis, il manque dans cet exemple des parenthèses : 3 ouvrantes et 2 fermantes. Je conseille à l'auteur de la chouette de vérifier si toutes les parenthèses correspondent.

Je l'écrirais de cette façon :

si ((iCCI(Symbole,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Symbole,0,14,PRICE_TYPICAL,0)<-100)) {


J'ai essayé, mais il y a toujours une erreur à la fin de la liste.
 
oDin48:

Dans cet exemple, je pense qu'il manque 3 crochets ouvrants et 2 crochets fermants. Je conseille à l'auteur de la chouette de vérifier si toutes les parenthèses correspondent.

Notepad++ est également une bonne idée, dans Notepad lui-même vous choisissez la syntaxe C++ pour le code mql4, dans le menu paramètres la tabulation devrait être réglée sur cp3 (par défaut il semble être 4). À première vue, il y a deux avantages :

1. mise en évidence des variables de même nom dans tout le code

2. mise en évidence des parenthèses appariées où qu'elles se trouvent dans le code (y compris la mise en évidence verticale si le code est aligné sur une tabulation). Toutes les parenthèses - rondes, frisées ou carrées.

Enfin, et ce n'est pas le moins important, un système pratique de recherche et de remplacement (également dans les sélections), l'étiquetage (qui "marque"), et en général un environnement de développement simple et peu compliqué. Si vous le combinez avec meta-editor, vous obtenez non pas un studio, bien sûr, mais un tandem modérément puissant.

 

Bonne journée à vous tous !

J'ai un script qui place des commandes dans une CU.

Aidez-moi, s'il vous plaît, à le modifier de manière à ce que l'écart soit pris en compte.

Par exemple une paire GBPCAD spread 10 - plus d'ordres sont Sell - donc le TP devrait être à 1.7010 et le stop loss à 1.7000 (1.6999 est idéal)).

Merci.


conseiller comment mettre le spoiler

//+------------------------------------------------------------------+
//|                                                    ZeroLevel.mq4 |
//|                                                          VadimVP |
//|                                                poluyan@fxmail.ru |
/*
 Скрипт поставит TakeProfit и StopLoss у открытых ордеров на текущем
 инструменте на уровень безубыточности.
 Расчет ведется только для ордеров текущего инструмента.
 Учитывает своп и комиссии. Работает при любых Digits.
 Точность +/- размер спреда.
 Об успешности изменений сообщит в диалоговом окне.
 Проверьте, включена ли опция "разрешить советнику торговать". 
*/
//| 
//+------------------------------------------------------------------+
#property copyright "VadimVP"
#property link      "poluyan@fxmail.ru"
 
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   int kol=0;
   int kolOK=0;
   int i=0;
   double lots=0;
   double sum=0;
   double sum1=0;
   for (i=0; i<OrdersTotal(); i++)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderType()==OP_BUY)
      {
       lots=lots+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
       sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ; 
       kol=kol+1;
      }
      if (OrderType()==OP_SELL)
      {
       lots=lots-OrderLots();
       sum=sum-OrderLots()*OrderOpenPrice();
       sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ;
       kol=kol+1;
      }
   }
   double zeroprice=0;
   if (lots!=0) zeroprice=sum/lots;
   zeroprice = (MathRound(zeroprice*MathPow(10,Digits)))/MathPow(10,Digits);

   
//-----
 Alert ("!!!  Пожалуйста дождитель окончания работы скрипта!");
 int res = 0;
 for (i=0; i<OrdersTotal(); i++)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
        
         if (zeroprice>Ask) 
         { if (OrderType()==OP_BUY) {if (zeroprice == OrderTakeProfit()) res=res+1; else { if (OrderModify(OrderTicket(),0,OrderStopLoss(),zeroprice,0,CLR_NONE)) res = res+1;}    }
           if (OrderType()==OP_SELL){if (zeroprice == OrderStopLoss()) res=res+1; else { if (  OrderModify(OrderTicket(),0,zeroprice,OrderTakeProfit(),0,CLR_NONE)) res = res+1;}     } }
         if (zeroprice<Bid) 
         { if (OrderType()==OP_BUY) {if (zeroprice == OrderStopLoss()) res=res+1; else { if (  OrderModify(OrderTicket(),0,zeroprice,OrderTakeProfit(),0,CLR_NONE)) res = res+1;} }
           if (OrderType()==OP_SELL){if (zeroprice == OrderTakeProfit()) res=res+1; else { if (OrderModify(OrderTicket(),0,OrderStopLoss(),zeroprice,0,CLR_NONE)) res = res+1;}    } } 
          
   }
 Alert ("***************************************************");
 Alert ("Цена безубыточности "+DoubleToStr(zeroprice,Digits));
 if (kol==res) Alert ("Все ордера успешно изменены! Точка безубыточности выставлена. ОК!"); else Alert ("!!! Внимание!!! Не удалось изменить - " +(kol-res)+ " ордера из "+kol+" имеющихся");
 Alert ("************ информация от ZeroLevel script ************");
 
//------

   return(0);
  }