[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 288

 
TheXpert писал(а) >>

Tut. A expressão que você citou vale definitivamente a pena.

Obrigado!

 
Bom dia a todos). Eu tenho o sistema comercial de Grebenshchikov. Funciona no canal e na quebra e entrada do canal através de ordens pendentes fora de um apartamento. Gostaria de testá-lo sobre o histórico e atualizar o MM com ele. Talvez alguém já tenha implementado este sistema no código? Que elementos podem ser usados para construir um sistema desse tipo? Aqui está a descrição do sistema http://www.fx4u.ru/rinki-forex-commodities-cfd-futures-f14/strategii-opitnih-f4/ts-grebenschikova-si-forex-i-mi-t529.html
 

Eu tenho uma pergunta

você pode fazer um conversor de período para exibir um gráfico médio dos quatro pares principais ...

Considerando que o dólar-yen tem um preço de, digamos, 101,50, traduzi-lo para o estado de 1,0150, e depois usá-lo para construir um gráfico médio ...

Seria bom poder utilizar este gráfico médio no teste e otimização ...

obrigado antecipadamente por ouvir ...

 

Olá a todos e diversos!

Aqui está o código (somente início)

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
    // Узнаем уровень стопов и спрэд
    int Spread = MarketInfo(Symbol(), MODE_SPREAD);
    int StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);

    // Рассчитываем значения средних на 0-ом и 1-ом барах
    double MAF_0 = iMA(NULL, 0, MAFP, 0, 1, 1, 0);
    double MAF_1 = iMA(NULL, 0, MAFP, 0, 1, 1, 1);
    double MAS_0 = iMA(NULL, 0, MASP, 0, 1, 1, 0);
    double MAS_1 = iMA(NULL, 0, MASP, 0, 1, 1, 1);
    
   // ----открытие позиции Buy покупка-----
    if( MAF_0 > MAF_1 && MAS_0 > MAS_1) { //-условие на покупку--- 
    if( isCloseLastPosByTake( NULL, OP_SELL, MagicNumber) ==true) {
     if( CheckOrders(OP_SELL))                                      {
       if( StopLoss <= StopLevel+ Spread)
         double SL = 0;        else         SL = Ask - StopLoss*Point;
       if( TakeProfit <= StopLevel- Spread)
         double TP = 0;        else         TP = Ask + TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 5, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
                }
               }
              }
   //-------------------Конец блока покупки ------------------
    
  //  ----- Открытие позиции Sell продажа------------  
    if( MAF_0 < MAF_1 && MAS_0 < MAS_1) { //-условие на продажу---
    if( CheckOrders(OP_BUY))                                     {
      if( StopLoss <= StopLevel+ Spread)
         SL = 0;        else         SL = Bid + StopLoss*Point;
       if( TakeProfit <= StopLevel- Spread)
         TP = 0;        else         TP = Bid - TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 5, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
                 }
                }
   //-------------------конец блока продажи -------------------
     
   return(0);
  }//+----------КОНЕЦ ФУНКЦИИ СТАРТ -------------------+

//ЖЖЖЖЖЖЖ Другие вызываемые пользовательские функции ЖЖЖЖЖЖ
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия                                       |
//|  последней позиции по тейку.                                               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   ocp, otp;
  int      dg, i, j=-1, k=OrdersHistoryTotal();

  if ( sy=="0") sy=Symbol();
  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()== sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if ( op<0 || OrderType()== op) {
            if ( mn<0 || OrderMagicNumber()== mn) {
              if ( t<OrderCloseTime()) {
                t=OrderCloseTime();
                j= i;
              }} }}}}}

  if (OrderSelect( j, SELECT_BY_POS, MODE_HISTORY)) {
    dg=MarketInfo( sy, MODE_DIGITS);
    if ( dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
    ocp=NormalizeDouble(OrderClosePrice(), dg);
    otp=NormalizeDouble(OrderTakeProfit(), dg);
    if ( ocp== otp) return( True);
  }
  return( False);
}
 

Aqui, uma condição é mais ou menos implementada, como recomendado pelo rid. Com seus comentários e correções.

O próprio Expert Advisor compila, negocia....... Não é verdade.......

Eu tentei colocar apenas uma profissão longa - uma profissão longa - uma profissão curta - uma profissão curta também.

A lógica é simples, quando a condição de compra é cumprida, a EA faz um negócio, o negócio é fechado com a obtenção de lucro.

E então o consultor espera quando a PRÓXIMA CONDIÇÃO DE COMÉRCIO vier. SOMENTE ESTA CONDIÇÃO DEVE SER OPOSTA À ANTERIOR.

Т. Isto é, se o comércio fosse na BAY, o próximo deveria ser na SHELL.

 

Também. Nesta linha, apenas muito antes, foi levantada uma questão semelhante à minha. Tratava-se de bandeiras. É por isso que todo este alvoroço está acontecendo.

 

Outra pergunta.

Abrir 2 janelas, 1° 5 minutos, 2° 15 minutos.

Desenhe MAKs em ambos (10). É CERTO se no gráfico de 5 minutos desenharmos um MA com (30), ele corresponde a um MA com (10) no gráfico de 15 minutos.

Para gráficos de 15 e 30, o coeficiente será 2.

Para gráficos de 30 e 1 hora, o coeficiente é 2.

Para gráficos de 1h e 4h, o coeficiente será 4.

Isto é verdade ou não????????????

 

igrok2008 писал(а) >>

Isto é verdade ou não????????????

A rigor, não. Mas muito próximo a ela.

 

Olá.

Esta é minha primeira vez escrevendo no fórum. Esperemos que não seja o último. Sou um novato em comparação com o que as pessoas escrevem no fórum. Aprendi a linguagem há cerca de meio ano atrás com o "Textbook on Programming in MQL4" de Sergei Korolev.

Estudei-o há cerca de meio ano com "Textbook on programming in MQL4" de Sergei Kovalev. Já escrevi vários Expert Advisors e os tenho utilizado desde então. Eu escrevi alguns Expert Advisors, indicadores personalizados,

...indicadores personalizados, scripts. Sempre tentei encontrar respostas a todas as perguntas que não entendi no fórum. No entanto, tenho me debatido com um detalhe aparentemente menor e não consigo encontrar as respostas.

Por favor, me ajude.

A pergunta é sobre o uso de #include <XXX.mqh>, li que o fórum inteiro não encontrou uma resposta. Em um dos fios diz:

"...Também posso acrescentar que o arquivo eX4 é auto-suficiente - para que funcione,
não requer a inclusão do código fonte das funções personalizadas.
Você pode copiar o arquivo do ex4, enviá-lo a outros comerciantes e usá-lo lá.
É completo, independentemente da tecnologia para obtê-lo".

Este é o problema. Ao passar a EA, ela não "vê" a função, mas escreve ao compilar - não pode abrir o arquivo do programa .

Embora no outro terminal tenha aparecido uma entrada não compilada no ex4.

Você pode explicar o erro. Obrigado.

 
gvi2504 >> :

... Ao passar a EA, ela não "vê" a função, mas escreve ao compilar - não pode abrir o arquivo do programa .

Embora no outro terminal tenha aparecido uma entrada que não é compilada no ex4.

Você pode explicar o erro. Obrigado.

Por favor, me dê um exemplo, com registros completos. Como a biblioteca é chamada no EA, o que está no título da própria biblioteca. Talvez seja só isso.

A propósito, TheXpert estava correndo por aqui em algum lugar, ele é bom nessas coisas.