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

 
dzhini:

Algo simplesmente não parece estar funcionando. POR FAVOR AJUDA.

A idéia do teste é a seguinte: se a vela for maior do que um determinado valor, então proíba novas trocas.


Eu não consigo entender o que você está tentando alcançar. Após seu último post, que você apagou, fiz um script que exibe todos os dados sobre o tamanho do castiçal e os parâmetros a serem verificados. Tudo funciona.

Só uma lógica estranha me pareceu - se a vela estiver em alta, você proíbe comprar e se estiver em baixa, você proíbe vender... Mas depende de sua própria lógica...

//+------------------------------------------------------------------+
//|                                        Проверка высоты свечи.mq4 |
//|                             Copyright © 2010, Trishkin Artyom A. |
//|                                           support@goldsuccess.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Trishkin Artyom A."
#property link      "support@goldsuccess.ru"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
bool BuyOne =false;
bool SellOne=false;
int  CandleVolume=10;

int start()
  {
//----
   Alert ("Проверка дала результат = ",CheckVolume());
//----
   return(0);
  }
//+------------------------------------------------------------------+
int CheckVolume()                               // функция проверки высоты свечи
{
   double volume=High[1]-Low[1];                // проверка высоты свечи
   double signCandle=Open[1]-Close[1];          // проверка направления (положительное или отрицательное значение)
   double CVol=CandleVolume*Point;
   int    Res=0;

   BuyOne =true;
   SellOne=true;
   if (NormalizeDouble(CVol-volume,Digits)>=0) Res=1; // если свеча меньше, то всё ОК
   else {                                       // если свеча больше, то прверяем её направление
      if (signCandle<0) BuyOne =false;          // если значение меньше ноля (т.е. закрытие больше открытия), то блокируем покупки
      if (signCandle>0) SellOne=false;          // в противном случае блокируем продажи
      Res=-1;                                   // возвращаем отказ по сделке
      }
   Comment ("\n",
            "High[1] = ",High[1],"\n",
            "Low[1] = ",Low[1],"\n",
            "Высота свечи (High[1]-Low[1]) = ",volume,"\n",
            "Проверяемый размер свечи = ",CVol,"\n",
            "Open[1] = ",Open[1],"\n",
            "Close[1] = ",Close[1],"\n",
            "Open[1]-Close[1] = ",Open[1]-Close[1],"\n",
            "Направление свечи = ",signCandle,"\n",
            "BuyOne = ",BuyOne,"\n",
            "SellOne = ",SellOne,"\n"
            
            );
   return(Res);
}
 

Como implementar tal peça de código:

Verificamos a barra zero (que ainda não está totalmente formada) até que ela seja a primeira (já totalmente formada). Se a barra, que era zero, é agora a primeira (em vez de 0 tem um 1) - então continue...

Pro, ajude-me a fazer esta parte do código!!!

 
Ajude a encontrar um conselheiro que pegue informações da história ....
 
kolyango:

Como implementar tal peça de código:

Verificamos a barra zero (que ainda não está totalmente formada) até que ela seja a primeira (já totalmente formada). Se a barra zero é agora a primeira (em vez de 0 tem um 1) - então continuamos...

Pro, ajude-me a fazer esta parte do código!!!

Verifique o primeiro imediatamente. Por que verificar zero enquanto se espera que seja o primeiro?
 
itum:
Ajude a encontrar um conselheiro que pegue informações da história ....
Que tipo de informação? Sobre a localização das estrelas?
 
artmedia70:
Que tipo de informação? Sobre a localização das estrelas?
Já foi discutido neste fórum mais de uma vez sobre algum consultor que entra na história e leva informações (citações, etc.) Então estou procurando algo assim!
 
itum:
Já foi discutido neste fórum mais de uma vez sobre um consultor especializado que entra na história e leva informações (citações, etc.) Então estou procurando algo assim!
Talvez seja melhor decidir que informações você quer obter da história e escrever o código?
 
artmedia70:
Não seria melhor decidir que informações você quer da história e escrever o código?
Por que escrever código se você já tem algo semelhante? Grosso modo, eu preciso de um EA que mostre resultados muito bons apenas no testador ..... !!
 
artmedia70:
Verifique o primeiro imediatamente. Por que verificar zero esperando que seja o primeiro?

Isso garantirá que nem todo carrapato executará todo código mais adiante, mas somente quando a barra zero for a primeira...
 
kolyango:

Isso garantirá que nem todo carrapato executará todo o código mais adiante, mas somente quando a barra zero for a primeira...
bool Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   bool New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }