[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 1081

 
dzhini :

뭔가 작동하고 싶지 않습니다. 도와주세요, 제발.

수표의 개념은 다음과 같습니다. 양초가 특정 값보다 크면 추가 거래를 금지합니다.


나는 당신이 달성하려는 것을 이해할 수 없습니다. 당신이 삭제 한 마지막 게시물에 따르면 확인중인 촛불의 크기와 매개 변수에 대한 모든 데이터를 표시하는 스크립트를 만들었습니다. 모든 것이 작동합니다.

논리 만 이상하게 보였습니다. 양초가 강세이면 구매를 금지하고 약세이면 판매를 금지합니다 ... 그러나 이것은 자신의 논리 재량에 달려 있습니다 ...

 //+------------------------------------------------------------------+
//|                                        Проверка высоты свечи.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);
}
[Deleted]  

이 코드를 구현하는 방법:

정확히 이 막대가 첫 번째 막대(이미 완전히 형성됨)가 될 때까지 0 막대(아직 완전히 형성되지 않음)를 확인합니다. 0이었던 막대가 첫 번째 막대가 되면(0 대신 1이 할당됨) 더 진행합니다...

전문가 여러분, 이 코드를 작성하도록 도와주세요!!!

[삭제]  
역사에서 정보를 취하는 고문을 찾도록 도와주세요 ....
 
kolyango :

이 코드를 구현하는 방법:

정확히 이 막대가 첫 번째 막대(이미 완전히 형성됨)가 될 때까지 0 막대(아직 완전히 형성되지 않음)를 확인합니다. 0이었던 막대가 첫 번째 막대가 되면(0 대신 1이 할당됨) 더 진행합니다...

전문가 여러분, 이 코드를 작성하도록 도와주세요!!!

지금 바로 첫 번째를 확인하세요. null이 처음이 될 때까지 기다리는 동안 null을 확인하는 이유는 무엇입니까?
 
itum :
역사에서 정보를 취하는 고문을 찾도록 도와주세요 ....
어떤 종류의 정보입니까? 별의 위치에 대해?
[삭제]  
artmedia70 :
어떤 종류의 정보입니까? 별의 위치에 대해?
이 포럼에서 한 번 이상 역사 속으로 들어가 정보(따옴표 등)를 가져오는 일종의 고문에 대해 논의했습니다. 그래서 저는 그런 것을 찾고 있습니다!
 
itum :
이 포럼에서 한 번 이상 역사 속으로 들어가 정보(따옴표 등)를 가져오는 일종의 고문에 대해 논의했습니다. 그래서 저는 그런 것을 찾고 있습니다!
기록에서 얻고자 하는 정보를 즉시 결정하고 코드를 작성하는 것이 더 나을까요?
[삭제]  
artmedia70 :
기록에서 얻고자 하는 정보를 즉시 결정하고 코드를 작성하는 것이 더 나을까요?
이런 코드를 작성하는 이유는 이미 존재합니다. 대충 말해서 테스터에게만 결과를 잘 보여주는 Expert Advisor가 필요하다..... !!
[Deleted]  
artmedia70 :
지금 바로 첫 번째를 확인하세요. null이 처음이 될 때까지 기다리는 동안 null을 확인하는 이유는 무엇입니까?

이렇게 하면 모든 눈금 이 아래의 전체 코드를 실행하는 것이 아니라 0 막대가 첫 번째 막대가 될 때만 실행됩니다.
 
kolyango :

이렇게 하면 모든 눈금이 아래의 전체 코드를 실행하는 것이 아니라 0 막대가 첫 번째 막대가 될 때만 실행됩니다.
 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 ;                             // Поймался новый бар
     }
  }