[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 889

 

Você pode me falar mais sobre isto, porque estou confuso:

ticketSell = OpenPendingOrderSell(1, iLotsSell, Bid, slip, Ask, 0, 0, EAName + "-" + NumOfTradesSell, MagicNumberSell, 0, HotPink);

onde você quer colocá-lo: "EURUSD, Período_H1,

Preciso entender se posso fazer desta maneira:

extern int MagicNumber = 312;
int ticket;
bool intersectionX = FALSE,
     intersectionY = FALSE;
int start()

  { 
if  (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) == 0)  {
intersectionX = TRUE;
intersectionY = FALSE;
}
if  (iCustom ("EURUSD", Period_H1, "Indicator",1,0)-Bid == 0) {
intersectionY = TRUE;
intersectionX = FALSE;
}
if(intersectionY){
ticket = OpenPendingOrder("EURUSD", Period_H1, iLots, OP_BUY, 3, Ask,  0, 0, MagicNumber);
}
}
 
belck:

Você pode me falar mais sobre isto, porque estou confuso:

onde você quer colocá-lo: "EURUSD, Período_H1,

Isto é o que eu preciso entender se eu posso fazer desta maneira:

aqui e aprenda com as funções de trabalho. Quando você entender tudo isso, poderá escrever o seu próprio...
 
artmedia70:
aqui, aprenda as funções de trabalho. Quando você entende tudo, você pode facilmente escrever o seu próprio...

Obrigado.

Encontrei aqui um fenômeno estranho: um sinal real no gráfico para a EA abrir um comércio, mas ele não começa e não dá nenhum erro. o que pode ser?

 

Eu continuo lendo e lendo e parece que não consigo entender.

в

ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, "", mn, ex, clOpen);

Isto é uma tabela de moedas? Se for o caso, como faço para acertar?

Assim?

ticket=OrderSend("EURUSD", op, ll, pp, Slippage, sl, tp, "", mn, ex, clOpen);

ou

ticket=OrderSend(sy"EURUSD", op, ll, pp, Slippage, sl, tp, "", mn, ex, clOpen);
 

O problema é que atualmente estou fazendo um EA que pode ser colocado em qualquer gráfico e só funciona com os pares de moedas e períodos que são especificados no próprio código.

Portanto, eu não entendo como fazê-lo corretamente.

Tenho-o assim:

double one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

Buy = (one < 80);

if (Buy){
ticket = // тут указывать валютную пару или нет?? вот этого я не до пойму. если да то так как я вверху из вариантов привел или как то по другому?
}
 
belck:

Eu continuo lendo e lendo e parece que não consigo entender.

в

Isto é uma tabela de moedas? Se for o caso, como faço para acertar?

Assim?

ou

Se isto é para a função de Igor Kim, ele dá um roteiro ou descrição de como chamá-lo para cada uma de suas funções.
Neste caso, sy é uma variável passada para a função ao chamá-la. É verificado na própria função e se NULL ou "" é passado, sy=símbolo();
O resto é o mesmo.
 
belck:

O problema é que atualmente estou fazendo um EA que pode ser colocado em qualquer gráfico e só funciona com os pares de moedas e períodos que são especificados no próprio código.

Portanto, eu não entendo como fazê-lo corretamente.

Tenho-o assim:

É isto o que é?
Buy = (one < 80);
O que é isso?
 

Eu encontrei

int start()                               // Спец. функция start
  {                                       // Открытие BUY
   OrderSend("GBPUSD",OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
   return;                                // Выход из start()
  }

Agora como entender corretamente a situação, em que período a posição será aberta. Preciso que quando uma nova vela aparecer em PERIOD_H1 a ordem seja aberta:

ouble one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

Buy = (one < 80);

if (Buy){

OrderSend("GBPUSD",OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
}

ou esta é a única opção?

ouble one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

Buy = (one < 80);

      PrevClBuy = iClose("EURUSD", RERIOD_H1, 2);
      CurrClBuy = iClose("EURUSD", RERIOD_H1, 1);
if (PrevClBuy > CurrClBuy)
if (Buy){

OrderSend("GBPUSD",OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
}
 
belck:

O problema é que atualmente estou fazendo um EA que pode ser colocado em qualquer gráfico e só funciona com os pares de moedas e períodos que são especificados no próprio código.

Portanto, eu não entendo como fazê-lo corretamente.

Tenho-o assim:

Provavelmente, preciso assim (deu um exemplo de uma chamada de função kim com uma verificação de tempo após abrir a pose anterior, bem, e algumas variáveis fora da minha cabeça...):
double pa = MarketInfo(Symbol(),MODE_ASK);
double pb = MarketInfo(Symbol(),MODE_BID);
double po = MarketInfo(Symbol(),MODE_POINT);
double sl, tp;


double one = iCustom ("EURUSD", RERIOD_H1, "indicator",14,0,0);

if (one < 80) Buy=true;

if (Buy)
   {
      MagicB=51;                                         // Задаём магик... 5 и 1; 5 = пять минут, 1 = стратегия 1
      New_Comm="Expert";                                // Задаём комментарий для позиции
      sl = pb-StopLoss*po;
      tp = 0;
         
      if (SecondsAfterOpenLastPos(NULL, OP_BUY, MagicB)>=7*60)
          OpenPosition(NULL,OP_BUY,Lots,sl,tp,MagicB,New_Comm);
   }
 
belck:

Eu encontrei

Agora como entender corretamente a situação, em que período a posição será aberta. Preciso que quando uma nova vela aparecer em PERIOD_H1 a ordem seja aberta:

ou esta é a única opção?

Tudo errado. Se o desafio é a função de Igor Kim, eu dei um exemplo acima.