[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 553

 
O início é inevitável a cada tique, mas as condições necessárias podem ser previstas nele.
 
Boa tarde! Sabe, algo não está funcionando no meu scrip. Quando o arrasto para a tabela, não acontece nada. Como posso utilizá-lo?
//+------------------------------------------------------------------+
//|                                                      Покупка.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
for(int i=0;i<=OrdersTotal();i++){
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
 { if(OrderSymbol() != Symbol()) continue; 
   if(OrderType()==OP_SELL) 
  OrderClose(OrderTicket(),OrderLots(),Ask,6,Red);
   if(OrderType()==OP_BUY)
  OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);
   if(OrderType()>=2)
  OrderDelete(OrderTicket());}} 
//----
   for(i=0;i<23;i++){
    Sleep(2000);RefreshRates(); if(!IsTradeAllowed())continue;
    int tiket=OrderSend(Symbol(),OP_BUY,0.1,Ask,6,0,0,"Skript",98600,0,Blue);
   if( tiket!=-1)break;
   if (tiket==-1){ int Error=GetLastError();  
            string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}}
//----
   return(0);
  }
//+------------------------------------------------------------------+

//------- :  Коды ошибок
string ErrorDescript(int error_code){string error_string;switch(error_code){
      //---- Коды ошибок, возвращаемые торговым сервером:
      case 0:   error_string="Нет ошибок";                                                                                             break;
      case 1:   error_string="Нет ошибки, но результат неизвестен";                                                                    break;
      case 2:   error_string="Общая ошибка";                                                                                           break;
      case 3:   error_string="Неправильные параметры";                                                                                 break;
      case 4:   error_string="Торговый сервер занят";                                                                                  break;
      case 5:   error_string="Старая версия клиентского терминала";                                                                    break;
      case 6:   error_string="Нет связи с торговым сервером";                                                                          break;
      case 7:   error_string="Недостаточно прав";                                                                                      break;
      case 8:   error_string="Слишком частые запросы";                                                                                 break;
      case 9:   error_string="Недопустимая операция нарушающая функционирование сервера";                                              break;
     
 
paladin80:

Após a normalização, o número muda, por exemplo

Outra coisa é quando você imprime, com o DoubleToStr, por exemplo:

E se você o imprime após a normalização, é assim:


Obrigado.
 

Boa tarde.

Preciso calcular o lucro total de apenas as duas últimas posições de compra. Como reescrevo o código?

double profits_buy_2pos()
{
   double pr_buy = 0;
   int cnt = 0;
   int OpenOrders=OrdersTotal();
   for(cnt=0;cnt<OpenOrders;cnt++)   // scan all orders and positions. ..
   {
     OrderSelect(cnt, SELECT_BY_POS);
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType() == OP_BUY)
          {     
          if (OrderType()==OP_BUY) 
          {
            pr_buy+= OrderProfit();
          } 
          }                               
   } 
return(pr_buy);   
}
 
Como posso definir um Take Profit em Metatrader4 clicando em um gráfico? Não é muito conveniente utilizar o menu de contexto -> "modificar ordem".
 
abeiks:

Boa tarde.

Preciso calcular o lucro total de apenas as duas últimas posições de compra. Como reescrevo o código?


Função de Kim IV.

A função GetProfitOpenPosInCurrency(). - Para ajudar.

+ Você mesmo reorganiza o loop, ou seja, você vai do último para o primeiro, somando o lucro das ordens de compra e somando o contador das posições de compra calculadas. Assim que chegar a 2, você sai do loop e pronto.

 
ascerdfg:
Como posso definir um Take Profit em Metatrader4 clicando em um gráfico? Não é muito conveniente utilizar o menu de contexto -> "modificar ordem".
O terminal em si não pode fazer isso, mas existem scripts que podem fazê-lo. Por exemplo, este aqui. Há vários scripts semelhantes em nosso banco de dados.
 
Roman.:

Função de Kim IV.

Função GetProfitOpenPosInCurrency(). - ajuda.

+ Você mesmo refaz o loop, ou seja, você vai do último para o primeiro, somando o lucro das ordens de compra e adicionando o contador das posições de compra contadas. Assim que chegar a 2, você sai do loop e pronto.


Obrigado!

 

Amigos, por favor me ajudem, digam como encontrar o primeiro fractal do dia na tabela horária? E que no início do dia seguinte ele "reiniciará" e procurará um novo primeiro fractal?

Obrigado de antemão!

 
granit77:
O terminal em si não pode fazer isso, mas existem scripts que podem fazer isso. Por exemplo, este aqui. E há vários scripts semelhantes no banco de dados.


Eles são muito grosseiros, onde posso conseguir um que seja mais fácil?