클로징 포지션. 지표에 따르면. - 페이지 8

 
Lukyanov :

순이익 6157.73


Sergey, 6,000 - 9,000번의 거래로 6,000달러의 이익.

1. 법무부가 무엇입니까?

2. 하루 1500거래 - 어떤 브로커가 살아남을까?

 

모두 좋은 저녁! 또 다른 문제가 있었습니다. 제발. 누가 할 수 있는지 말해줘 - 표현을 쓰다

hann = iCustom(.... .... .... ) 표시기 -

최소한 가장 원시적인 형태로 - Lb 매개변수와 막대 번호를 설정하려면...

 /+------------------------------------------------------------------+
//|                                                          SSL.mq4 |
//|                                                          Kalenzo |
//|                                      bartlomiej.gorski@gmail.com |
//+------------------------------------------------------------------+
#property copyright " Kalenzo "
#property link        " bartlomiej.gorski@gmail.com "
//----
#property indicator_buffers 1
#property indicator_color1 Blue
extern int Lb = 10 ;
double ssl [] , Hld , Hlv ;
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ()
   {
//---- indicators
   SetIndexBuffer ( 0 , ssl ) ;
   SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 ) ;
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit () {    return ( 0 ) ;   }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start ()
   {
//----
   for ( int i = Bars - Lb ; i >= 0 ; i -- )      {
       if ( Close [ i ] > iMA ( Symbol () , 0 , Lb , 0 , MODE_SMA , PRICE_HIGH , i + 1 ))
         Hld = 1 ;
       else          {
         if ( Close [ i ] < iMA ( Symbol () , 0 , Lb , 0 , MODE_SMA , PRICE_LOW , i + 1 ))
             Hld =- 1 ;
         else
             Hld = 0 ;
         }
       if ( Hld != 0 )
         Hlv = Hld ;
       if ( Hlv ==- 1 )
         ssl [ i ] = iMA ( Symbol () , 0 , Lb , 0 , MODE_SMA , PRICE_HIGH , i + 1 ) ;
       else
         ssl [ i ] = iMA ( Symbol () , 0 , Lb , 0 , MODE_SMA , PRICE_LOW , i + 1 ) ;
     }
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
다음은 차트입니다 -
 
rid :

모두 좋은 저녁! 또 다른 문제가 있었습니다. 제발. 도움, 누가 할 수 있는지 - 표현을 작성

hann = 표시기에 대한 iCustom (.... .... ....)

 iCustom ( Symbol () , Period () , " SSL " , indLb , 0 , bar ) ;
 
 

안녕하세요. 제발. 말하다.

Force-index 표시기는 MT4에 장착됩니다. 양극성, cf. 점 0에 선

여기 그의 코드가 있습니다.

 #property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
 
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- input parameters
extern int ExtForcePeriod = 13 ;
extern int ExtForceMAMethod = 0 ;
extern int ExtForceAppliedPrice = 0 ;
//---- buffers
double ExtForceBuffer [ ] ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ( )
  {
   string sShortName ;
   SetIndexBuffer ( 0 , ExtForceBuffer ) ;
//---- indicator line
   SetIndexStyle ( 0 , DRAW_LINE ) ;
//---- name for DataWindow and indicator subwindow label
   sShortName = "Force(" + ExtForcePeriod + ")" ;
   IndicatorShortName ( sShortName ) ;
   SetIndexLabel ( 0 , sShortName ) ;
//---- first values aren't drawn
   SetIndexDrawBegin ( 0 , ExtForcePeriod ) ;
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| Force Index indicator                                            |
//+------------------------------------------------------------------+
int start ( )
  {
   int nLimit ;
   int nCountedBars = IndicatorCounted ( ) ;
//---- insufficient data
   if ( Bars < = ExtForcePeriod ) return ( 0 ) ;
//---- last counted bar will be recounted
   if ( nCountedBars > ExtForcePeriod ) nCountedBars - - ;
   nLimit = Bars - nCountedBars ;
//---- Force Index counted
   for ( int i = 0 ; i < nLimit ; i + + )
      ExtForceBuffer [ i ] = Volume [ i ] *
( iMA ( NULL , 0 , ExtForcePeriod , 0 , ExtForceMAMethod , ExtForceAppliedPrice , i ) -
iMA ( NULL , 0 , ExtForcePeriod , 0 , ExtForceMAMethod , ExtForceAppliedPrice , i + 1 ) ) ;
//---- done
   return ( 0 ) ;
  }


하지만. 플러스(또는 포인트가 아닌 마이너스) 영역에 전체 지표를 그려야 합니다.

프로그래밍 방식으로 만듭니다.

저것들. 그렇지 않습니다: double force=( iForce +10), 즉 프로그래밍 방식으로!

제발. 이것을 위해 코드에 추가(삽입)해야 하는 것이 무엇인지 누가 알겠습니까?

 
rid >> :

하지만. 플러스(또는 포인트가 아닌 마이너스) 영역에 전체 지표를 그려야 합니다.

제발. 이것을 위해 코드에 추가(삽입)해야 하는 것이 무엇인지 누가 알겠습니까?

IMHO, Sigmoid의 래퍼가 필요한 것입니다. 버퍼는 0에서 1 사이의 값을 갖습니다.

 for ( int i = 0 ; i < nLimit ; i + + )
      ExtForceBuffer [ i ] = Volume [ i ] *
( iMA ( NULL , 0 , ExtForcePeriod , 0 , ExtForceMAMethod , ExtForceAppliedPrice , i ) -
iMA ( NULL , 0 , ExtForcePeriod , 0 , ExtForceMAMethod , ExtForceAppliedPrice , i + 1 ) ) ;

//заменяем на 

for ( int i = 0 ; i < nLimit ; i + + )
{
         ExtForceBuffer [ i ] = Volume [ i ] *
   ( iMA ( NULL , 0 , ExtForcePeriod , 0 , ExtForceMAMethod , ExtForceAppliedPrice , i ) -
   iMA ( NULL , 0 , ExtForcePeriod , 0 , ExtForceMAMethod , ExtForceAppliedPrice , i + 1 ) ) ;

   ExtForceBuffer [ i ] = Sigmoid ( ExtForceBuffer [ i ] ) ;
}

//...

double Sigmoid ( double x )
{
   double value = MathExp ( x ) ;
   return ( value / ( 1 + value ) )
}
 

감사합니다! 나는 지금 시도 할거야.

//zhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzh

모든 것이 해결되었습니다!

 

모두에게 좋은 하루. 첫 번째 Expert Advisor를 만들고 싶지만 코드를 어떻게 작성해야 할지 모르겠습니다. 거래는 MA에서 열립니다. 가격이 위의 MA에 닿으면 구매하십시오. 아래라면 앉았다. 이 경우 MA의 기울기를 고려해야 합니다. MA의 기울기와 주문의 시작은 단방향이어야 합니다. 덕분에.

 
Shu писал(а) >>

연구는 재미있다! 심지어 유용합니다. 두뇌와 경험 모두를 위해. 환영하고 존경합니다.

그러나 더 복잡한 알고리즘을 구현할 수 있고 편두통을 없애고 싶다면 더 쉽게 하십시오. 모든 자전거와 오토바이는 우리보다 먼저 발명된 것으로 이미 도난당했습니다. 기준에 따라 정렬하려는 경우 삭제하려는 경우(티켓은 친구임), 수정하려는 경우 - 손절매/이익 실현을 대량 수정하는 것이 편리합니다. 원하는 경우 - 새 주문을 생성합니다.

추신 (하나 밖으로). 당신이 당신의 창작물을 진지하게 받아들이기로 결정했다면, DC와의 연결이 단절될 수 있다는 것을 잊지 마십시오. 괜찮습니다. 그러나 "일시적인" 신호가 있는 경우 이 신호에 대한 주문을 마감하기 시작하면 이 순간을 고려하십시오. 이상적으로는 일반적으로 전문가의 긴급 전원을 껐다 켜도 특정 주문을 마감해야 할 필요가 있음을 알 수 있습니다(이 경우). 그리고 그들을 닫았다. 적어도 다음 틱에서. .

그것이 단지 "장난감" Expert Advisor라면 이러한 합병증은 필요하지 않습니다. 그러나 공개적으로 판매되는 " grails "의 대부분은 cha의 형태로 되어 있습니다. - 장난감과 유사 ..

나는 배열에 대해 많이 이해하지 못합니다. 그러나 두 번째 생각 - 전문가가 마감 신호를 놓치면 여전히 그가 마감해야 하는 어리석은 사람일 수 있다는 생각 - 나는 그것을 좋아했습니다. 하지만 방법은 다음과 같습니다...

 

안녕하세요.

Expert Advisor는 dist에 의한 가격 변동에 따라 매수 제한 주문을 지정합니다. = 거리.

PRICE가 상승함에 따라 추가(가장 먼) 주문이 삭제되어야 합니다.

만들어진. 그러나 어떤 이유로 삭제하면 작동합니다. 잘못된! 첫 번째 주문은 정상적으로 삭제됩니다. 그런 다음 반대로 가격에 가장 가까운 것은 제거됩니다! 그런 다음 중지하거나 "랜턴에서" 제거되고 로그에 오류 4108(알 수 없는 티켓)이 생성됩니다. 그럼 일부. 시간은 일반적으로 삭제됩니다.

여기 어딘가에서 주문 열거를 적절하게 구성하는 것이 중요하다고 말한 것 같습니다.

 //жжжжж Удаление лишних байлим ордеров жжжжжжжжж
if ( NumberOfOrders ( NULL , OP_BUYLIMIT , MAGIC ) > КоличествоОрдеров  )  {
    //если ордеров больше заданного значения 
//for (int z = OrdersTotal() - 1; z >= 0; z -- )  {//перебираем с "конца"
  for ( int z = 0 ;    z < OrdersTotal ( ) ;        z + + )  { //перебираем с начала         
  if ( OrderSelect ( z , SELECT_BY_TICKET , MODE_TRADES ) )          { //перебираем по тикету           
   if ( OrderSymbol ( ) = = Symbol ( ) & & OrderType ( ) = = OP_BUYLIMIT ) { //выбираем байлимиты   
     if ( OrderOpenPrice ( ) < ( Ask - ( КоличествоОрдеров * Дистанция ) * Point ) ) {
     //если расстояние от тек. цены больше заданного
   
   OrderDelete ( OrderTicket ( ) , Yellow ) ;   //  return(0);    //удаляем самый дальний
            } } } } } 

하지만. 주문 열거가 "끝"부터 또는 처음부터 구성되는지 여부는 중요하지 않습니다. 결과가 잘못되었습니다.

코드가 가장 간단한 것 같습니다!

여기서 무엇이 잘못될 수 있습니까? 제발. 말하다!