Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 293

 
oDin48:

Pessoal, por favor, aconselhem um bom CD para o comércio da EA?


Compartilhe as informações, por favor, porque para que serve escrever uma coruja sem ter CDs normais para trabalhar.
 

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

Tenho este EA à venda no mercado por 1800 USD, testei-o no EURUSD e ele ganha dinheiro perfeitamente, nos outros pares que negocia com zeros, acho que foi ajustado ao histórico do bilhete, pode ser?

 
oDin48:

Compartilhe as informações, por favor, porque para que serve escrever uma coruja sem ter nenhum CD normal para trabalhar.
Sugiro que você o procure no Google! Tudo isso é oficialmente bom!
 
SpikeOne:

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

Tenho este EA à venda no mercado por 1800 USD, testei-o no EURUSD e ele ganha dinheiro perfeitamente, nos outros pares que negocia com zeros, acho que foi ajustado ao histórico do bilhete, pode ser?

Acho que tem algo a ver com o Histórico de Bilhetes! É para a MT5! Você pode perguntar lá!
 
TarasBY:

... e a que regras de linguagem você esculpiu de acordo?! Por exemplo:

:)


Esse é o problema, isso é o que precisa ser "formulado" corretamente, sempre tive um bom senso de lógica, mas já faz um mês que não consigo fazê-lo ((((((((
 
niformalka:

Esse é o problema, isso é o que precisa ser "formulado" corretamente, sempre estive bem com a lógica, mas há um mês não consigo fazer isso ((((((((

A ajuda está à mão!

Documentação Tutorial TA Código Base Artigos

 

"if(iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<100&&iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<-100 {"

Na minha opinião, este exemplo não tem parênteses: 3 de abertura e 2 de fechamento. Aconselho o autor da coruja a verificar se todos os parênteses correspondem.

Eu o escreveria desta forma:

if ((iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<-100)) {

 
oDin48:

"if(iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<100&&iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<-100 {"

Na minha opinião, este exemplo não tem parênteses: 3 de abertura e 2 de fechamento. Aconselho o autor da coruja a verificar se todos os parênteses correspondem.

Eu o escreveria desta forma:

if ((iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<100)&&(iCCI(Símbolo,0,14,PRICE_TYPICAL,0)<-100)) {


tentou, ainda mostra um erro no final da lista
 
oDin48:

Neste exemplo, acho que faltam 3 parênteses de abertura e 2 de fechamento. Aconselho o autor da coruja a verificar se todos os parênteses correspondem.

Também o Notepad++ pode ser recomendado, no próprio Notepad você escolhe a sintaxe C++ para código mql4, na tabulação do menu de configurações deve ser ajustado para cp3 (por padrão parece ser 4). Num relance, há dois usos:

1. destaque de variáveis com nomes semelhantes em todo o código

2. destaque de parênteses onde quer que estejam em código (incluindo destaque vertical se o código estiver alinhado por tabulação). Qualquer parênteses - redondo, encaracolado ou quadrado.

E por último, mas não menos importante - fino e substituto (inclusive nas seleções), etiquetagem (que "marca"), geralmente um ambiente de desenvolvimento simples e descomplicado. Se você combiná-lo com o meta-editor, você obtém não um estúdio, é claro, mas um tandem moderadamente poderoso.

 

Bom dia a todos vocês!

Eu tenho um roteiro que faz pedidos em uma CU.

Por favor, ajude-me a mudá-lo para que a propagação seja levada em conta.

Por exemplo, um par GBPCAD spread 10 - mais pedidos são vendidos - então TP deve ser a 1,7010 e stop loss a 1,7000 (1,6999 é ideal)

Obrigado


aconselhar como colocar o 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);
  }