Erros, bugs, perguntas - página 757

 
joo:

Se executar este código, o terminal dá um erro Arquivo EX5 inválido:

Obrigado, vamos analisar o assunto.

 

Arcos de Fibonacci

A modificação do nível causa um erro de compilação em tempo de compilação

   string       ObjFA_nm;
   ObjectCreate(
                0,ObjFA_nm="FIBOARC_object"+"_"+IntegerToString(MathRand()),
                OBJ_FIBOARC,0,
                TimeLocal(),1.25,
                TimeLocal(),1.28
                );
   ObjectSetInteger(0,ObjFA_nm,OBJPROP_LEVELVALUE,1,1);
'ObjectSetInteger' - no one of the overloads can be applied to the function call        sFiboArcsAvtoV1.SD.mq5  22      4
 
Silent:

Arcos de Fibonacci

A modificação do nível causa um erro de compilação em tempo de compilação

e tem a certeza de que
OBJPROP_LEVELVALUE
isto é uma propriedade Integer?
 
sergeev:
e tem a certeza de que
é uma propriedade Integer?
Eu tinha a certeza :) obrigado!
 
Caros Cavalheiros Promotores. Será uma piada que o tempo do servidor MetaQuotes-Demo está a correr um pouco à frente do tempo real todos os dias?
[Excluído]  

Na versão de teste:5.00 Build 655 (06.Jun.2012) Não há modificações de stoploss sell, não há erros mostrados. Na compra, sem problemas todos os trabalhos

#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
//+------------------------------------------------------------------+
input double   Lot         = 0.01; 
input int      Magic       = 77;
input int      Deviation   = 3;
//+------------------------------------------------------------------+
double ask,bid,stoploss,SL,pos_op_price;
//+------------------------------------------------------------------+
CTrade        mytrade;
CSymbolInfo   mysymbol;
CPositionInfo myposition;
//+------------------------------------------------------------------+
void OnTick()
{ 
    mysymbol.Name(_Symbol);
    mytrade.SetDeviationInPoints(Deviation);
    mytrade.SetExpertMagicNumber(Magic);
    mysymbol.RefreshRates();
    bid      =  NormalizeDouble(mysymbol.Bid(),_Digits);
    ask      =  NormalizeDouble(mysymbol.Ask(),_Digits);
    stoploss =  NormalizeDouble(myposition.StopLoss(),_Digits); 
    SL       =  NormalizeDouble(mysymbol.StopsLevel()*_Point*3,_Digits);  // Три минимальных стопа???
    pos_op_price = NormalizeDouble(myposition.PriceOpen(),_Digits);
//+------------------------------------------------------------------+   
   if (myposition.Select(_Symbol)==false) 
     {
       mytrade.Sell(Lot,NULL,bid,ask + SL,0,"Sell");
       if(mytrade.ResultRetcode()==10009 || mytrade.ResultRetcode()==10008)
        {
         Alert("Position Sell успешно помещен, тикет ордера #:",mytrade.ResultDeal(),"!!");
        }
      else
        {
         Alert("Запрос на установку Position Sell не выполнен - код ошибки:",mytrade.ResultRetcode(),
         "сообщение об ошибке - ",mytrade.ResultRetcodeDescription());
         return;
        }
     }
//+------------------------------------------------------------------+
   if (myposition.Select(_Symbol))
     {
       if (myposition.Type() == POSITION_TYPE_SELL)
         {          
            if (ask + SL < stoploss)
            mytrade.PositionModify(_Symbol,NormalizeDouble(ask + SL,_Digits),0);
            if(mytrade.ResultRetcode()==10009 || mytrade.ResultRetcode()==10008)
              {
               Alert("Stoploss Position Sell успешно помещен :",stoploss);
              }
            else
              {
               Alert("Запрос на установку Stoploss Position Sell не выполнен - код ошибки:",mytrade.ResultRetcode(),
               "сообщение об ошибке - ",mytrade.ResultRetcodeDescription());
               return;
              }
         }      
      } 
//+------------------------------------------------------------------+
Comment("ask   ",ask,"\n","bid   ",bid,"\n","SL   ",SL,"\n","stoploss   ",stoploss,
"\n","pos_op_price   ",pos_op_price,"\n","slsell   ",NormalizeDouble(ask + SL,_Digits));    
//+------------------------------------------------------------------+
}
//+------------------------------------------------------------------+

bild

 

Qual servidor?

[Excluído]  
alexvd:

Qual servidor?

MetaQuotes-Demo access.metatrader5.com:443
 
pako:

Na versão de teste:5.00 Build 655 (06.Jun.2012) Não há modificações de stoploss sell, não há erros mostrados. Na compra, não há problema todos os trabalhos

Experimente as seguintes edições

if (myposition.PositionType() == POSITION_TYPE_SELL)
[Excluído]  
alexvd:

Experimente estas edições

Sim, funciona, muito obrigado.