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

 
oDin48:

Leute, bitte raten Sie einen guten DC für EA-Handel?


Geben Sie bitte die Informationen weiter, denn was nützt es, eine Eule zu schreiben, wenn man keine normalen DCs hat, mit denen man arbeiten kann.
 

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

Ich habe diese EA auf dem Markt für 1800 USD zu verkaufen, testete ich es auf EURUSD und es macht Geld perfekt, auf den anderen Paaren es mit Nullen handelt, ich denke, es wurde auf das Ticket Geschichte angepasst, kann dies sein?

 
oDin48:

Geben Sie bitte die Informationen weiter, denn was nützt es, eine Eule zu schreiben, wenn man keine normalen DCs hat, mit denen man arbeiten kann.
Ich schlage vor, Sie googeln es! Es ist alles offiziell gut!
 
SpikeOne:

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

Ich habe diese EA zum Verkauf in den Markt für 1800 usd, ich testete es auf EURUSD und es macht Geld perfekt, auf andere Paare es Trades mit Nullen, ich denke, es wurde angepasst, um Ticket-Geschichte, kann es sein?

Ich glaube, es hat etwas mit der Ticket-Historie zu tun, sie ist für MT5! Sie können dort fragen!
 
TarasBY:

... und nach welchen Sprachregeln haben Sie sie gestaltet?! Zum Beispiel:

:)


Das ist das Problem, das muss richtig "formuliert" werden, ich hatte schon immer ein gutes Gespür für Logik, aber es ist schon einen Monat her, dass ich es konnte ((((((((
 
niformalka:

Das ist das Problem, das muss man richtig "formulieren", mit Logik bin ich immer gut klargekommen, aber seit einem Monat kann ich das nicht mehr ((((((((

Hilfe ist in Sicht!

Dokumentation Tutorial TA Code Basis Artikel

 

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

Meiner Meinung nach fehlen in diesem Beispiel die Klammern: 3 öffnende und 2 schließende. Ich empfehle dem Verfasser der Eule, zu prüfen, ob alle Klammern übereinstimmen.

Ich würde es so formulieren:

wenn ((iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100)) {

 
oDin48:

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

Meiner Meinung nach fehlen in diesem Beispiel die Klammern: 3 öffnende und 2 schließende. Ich empfehle dem Verfasser der Eule, zu prüfen, ob alle Klammern übereinstimmen.

Ich würde es so formulieren:

wenn ((iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100)) {


ausprobiert, zeigt immer noch einen Fehler am Ende der Auflistung
 
oDin48:

In diesem Beispiel fehlen meiner Meinung nach 3 öffnende und 2 schließende Klammern. Ich empfehle dem Verfasser der Eule, zu prüfen, ob alle Klammern übereinstimmen.

Auch Notepad++ ist eine gute Idee, in Notepad selbst wählen Sie C++-Syntax für mql4-Code, in Einstellungen Menü Tabulation sollte auf cp3 (standardmäßig scheint es zu 4) eingestellt werden. Auf den ersten Blick ergeben sich zwei Vorteile:

1. Hervorhebung von ähnlich benannten Variablen im gesamten Code

2. Hervorhebung von gepaarten Klammern, wo immer sie sich im Code befinden (einschließlich vertikaler Hervorhebung, wenn der Code mit Tabulatoren ausgerichtet ist). Beliebige Klammern - rund, geschweift oder eckig.

Und nicht zuletzt praktisches Suchen und Ersetzen (auch in Auswahlen), Beschriftung (die "markiert"), generell eine einfache und unkomplizierte Entwicklungsumgebung. Kombiniert man es mit dem Meta-Editor, erhält man natürlich kein Studio, aber ein mäßig leistungsfähiges Tandem.

 

Einen guten Tag an Sie alle!

Ich habe ein Skript, das Aufträge in einer ZB platziert.

Bitte helfen Sie mir, sie so zu ändern, dass die Streuung berücksichtigt wird.

Zum Beispiel ein Paar GBPCAD Spread 10 - mehr Aufträge sind Sell - so TP sollte bei 1,7010 und Stop-Loss bei 1,7000 (1,6999 ist ideal) sein)

Dankeschön


beraten, wie man den Spoiler anbringt

//+------------------------------------------------------------------+
//|                                                    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);
  }