Ajuda na codificação - página 628

 
annbeea:
Obrigado

mas eu sou um novato na codificação

posso mudar para se um mt4 chamado xyz indicador tem os seguintes parâmetros:

externo int A=9;

externo int B=14;

int externo D = 10;

e parte icustom asE= iCustom(Null,timeframe, "xyz",A,B,D,BufferNumber,Shift); ?mas eu não entendo muito de BufferNumber e Shift? o que isso significa? obrigado

annbee

Verifique esta linha para mais detalhes : https://www.mql5.com/en/forum/173108

 

oi mladen,

pode ser que eu tenha cometido alguns erros anteriormente,

xyz deveria ser assim:

exterior int A=9;

externo int B=14;

duplo externo D = 10;

pergunta1:e icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); está ok/ correto?? obrigado

pergunta2:e icustom part asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); e se eu intencionalmente ou erroneamente perder o D na sentença icustom, está tudo bem trabalhar ou faltando algo em exibição ou cálculo ou totalmente incorreto? obrigado pelos comentários.

 
annbeea:
oi mladen,

pode ser que eu tenha cometido alguns erros anteriormente,

xyz deveria ser assim:

exterior int A=9;

externo int B=14;

duplo externo D = 10;

pergunta1:e icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); está ok/ correto?? obrigado

pergunta2:e icustom part asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); e se eu intencionalmente ou erroneamente perder o D na sentença icustom, está tudo bem trabalhar ou faltando algo em exibição ou cálculo ou totalmente incorreto? obrigado pelos comentários.

Se você omitir um parâmetro da cauda da lista de parâmetros, o valor padrão para o parâmetro será usado, mas por favor leia essa thread para detalhes de como é usada a função iCustom() e quais são os parâmetros exatos para a função iCustom()

 

oi mladen

meu nível de codificação é muito baixo porque eu só tenho um aprendizado muito bruto de computação antes, eu só quero fazer algo funcionar para mim sem uma codificação muito sofisticada, a maioria das coisas eu não sou muito compreensivo, mesmo lendo o fio condutor,

porque eu nem mesmo consigo esclarecer a diferença entre conceito de duplo, cordel, etc.

mas minha pergunta é apenas isso, parece que a chave aqui é D, então minha pergunta é: é se : external int D=10 ou external double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); está ok/ correto? obrigado

 
annbeea:

oi mladen

meu nível de codificação é muito baixo porque eu só tenho um aprendizado muito bruto de computação antes, eu só quero fazer algo funcionar para mim sem uma codificação muito sofisticada, a maioria das coisas eu não sou muito compreensivo, mesmo lendo o fio condutor,

porque eu nem mesmo consigo esclarecer a diferença entre conceito de duplo, cordel, etc.

mas minha pergunta é apenas isso, parece que a chave aqui é D, então minha pergunta é: é se : external int D=10 ou external double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); está ok/ correto? obrigado

anbbeea,

Sim, isso é correto.

 

Olá Mladen ,

Posso saber sobre o raio na tabela pode ser ajustado por quanto tempo para o lado certo que eu quero?

Como mudar isto >

ObjectSet("mMyLine", OBJPROP_RAY, false);
extern color mCol = Red, mCol2 = Blue, mCol3 = White;
extern int mWid = 2, mHist = 100, mDays = 5;

//+------------------------------------------------------------------+
int init()
  {
      ObjectCreate("mMyLine", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine", OBJPROP_COLOR, mCol);
      ObjectSet("mMyLine", OBJPROP_RAY, false);

      ObjectCreate("mMyLine2", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine2", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine2", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine2", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine2", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine2", OBJPROP_COLOR, mCol2);
      ObjectSet("mMyLine2", OBJPROP_RAY, false);
      
      ObjectCreate("mMyLine3", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine3", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine3", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine3", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine3", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine3", OBJPROP_COLOR, mCol3);
      ObjectSet("mMyLine3", OBJPROP_RAY, false);

   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("mMyLine");
   ObjectDelete("mMyLine2");
   ObjectDelete("mMyLine3");
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
   double mH = 0, mL=0, mM = 0;
   
   mH = iHigh(NULL, 1440, iHighest(NULL, 1440, MODE_HIGH, mDays, 1));
   mL = iLow(NULL, 1440, iLowest(NULL, 1440, MODE_LOW, mDays, 1));
   mM = mL + (mH - mL) / 2;
   ObjectSet("mMyLine", OBJPROP_PRICE1, mH);
   ObjectSet("mMyLine", OBJPROP_PRICE2, mH);
   ObjectSet("mMyLine2", OBJPROP_PRICE1, mL);
   ObjectSet("mMyLine2", OBJPROP_PRICE2, mL);
   ObjectSet("mMyLine3", OBJPROP_PRICE1, mM);
   ObjectSet("mMyLine3", OBJPROP_PRICE2, mM);


   return(0);
  }
 

por favor, tenha tentado fazer a seta aparecer após o fechamento da vela de sinalização em outra para evitar a repintura, mas tudo em vão.

por favor, ajude-me MR. TOOLS e MLADEN, abaixo estão os anexos.
 

mladen & mrtools

Eu tenho um EA que se autoexplora com os negócios. Preciso de ajuda para construir um Vácuo ou função que possa ser adicionada a um EA existente. Esta função precisa ser abordada:

entrada bool doBasketExit = true; // Verificar as condições de saída do cesto de compras
entrada dupla BasketTP = 250,0; // Basket Take Profit(Moeda da conta) O par gráfico
entrada dupla BasketSL = -100.0; // Basket Stop Loss (moeda da conta) O par gráfico

Estou executando 9 pares/cartas com EA agressivo no H1 e quero negociar cestas específicas de pares em cada uma das 9 cartas.
Eis o que acabou de acontecer comigo. 9 gráficos em execução, 3 gráficos estão em negociação com, é claro, 3 pares separados, cada um com 15 negociações, sim 45 negociações abertas, 2 estão em lucro e um está perdendo muito. Estou procurando uma maneira de somar cada grupo/par dos 15 separadamente e esfregar cada grupo contra os limites de um Basket SL & TP. Encontrei uma cesta montada, mas é claro que ela precisa ser refinada. O truque é obter o mesmo par somado da coluna Order Profit Trade. Ao estar em um gráfico com um par específico, pensei que tinha encontrado um vazio, mas que era um pouco complicado. A função deve, de alguma forma, ler a coluna OrderProfit by Pair???

Ver meu código como um mau exemplo;

void closeTrades( MOEDA* &moedas[] ) {
// Verificar a saída da cesta
se ( doBasketExit ) {
double basketProfit = getBasketProfit();
if ( ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) ) ||
( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ) {
fecharTodos();
}
}
double getBasketProfit() {
cesta duplaProfit = 0,0;
para (int iOrder=OrdensTotal()-1; iOrder >= 0; iOrder--) {
se (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
se ( OrderMagicNumber() == MagicNumber ) {
se ( (OrderType() == OP_BUY) ||| (OrderType() == OP_SELL) ) {
cestaProfit += OrderProfit() + OrderSwap() + OrderComission();
}
}
}
}
return(basketProfit);
}

fechamento do espaço vazioAll() {
duplo preço de fechamento;
Símbolo de cordaNome;
resultado int;
para (int iOrder=OrdensTotal()-1; iOrder >= 0; iOrder--) {
se (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
se ( OrderMagicNumber() == MagicNumber ) {
se ( (OrderType() == OP_BUY) ||| (OrderType() == OP_SELL) ) {
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ? MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK );
resultado = OrderCloseRelable(OrderTicket(), OrderLots(), closePrice, 50 );
}
}



Realmente aprecio muito que você examine isto

Obrigado
Ray

 
stevenpun:

Olá Mladen ,

Posso saber sobre o raio na tabela pode ser ajustado por quanto tempo para o lado certo que eu quero?

Como mudar isto >

Tente fazer o seguinte :

Em vez de

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
//
//
//   try this
//   use the NumberOfDaysToTheRight for the number of days to extend it to the right
//   you have to update this in the start procedure on every tick and for every ray that you created
//
//

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]+PERIOD_D1*60*NumberOfDaysToTheRight);
 
kapoo:

por favor, tenha tentado fazer a seta aparecer após o fechamento da vela de sinalização em outra para evitar a repintura, mas tudo em vão.

por favor, me ajude MR. TOOLS e MLADEN, abaixo estão os anexos.

kapoo

Atualmente os uploads não estão funcionando para que eu não possa ver seus arquivos

Assim que essas questões forem resolvidas, retomaremos o trabalho. OK?