[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 135

 

안녕하세요, 저는 S. Kovalev의 교과서에서 스크립트를 기본으로 사용했습니다. 거래를 개시하고, 손절매를 설정하고, 이익을 취한 다음 거래가 끝날 때까지(즉, 정지 또는 이익의 실행) 기다렸다가 그 후에야 거래를 다시 열도록 Expert Advisor를 만들고 싶습니다. . 루프 도움말 및 루프 중단으로 시도했습니다. 할 수 있는 방법을 알려주세요. 손절매를 설정하지 않고 바로 이익을 취하는 것이 더 쉬울 거라고 생각했지만, 가격이 일정 수준에 도달하면 닫히는 것이지만 지금은 그러고 싶지 않기 때문입니다. 미끄러질까 두렵고 모든 포인트가 중요합니다. 결과적으로 하나의 거래를 열었거나 두 번 즉시 발생했습니다 (뭔가 잘못되었습니다). 거래를 마친 후에는 새로운 거래가 열리지 않습니다.

//+----------------------------------------------- --------------------+
int start() //---- 시작 함수
{
이중 //---- 변수 선언
엑스,
와이;
//+----------------------------------------------- --------------------+
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-15*Point,Ask+15*Point); //---- 시가에서 15포인트의 스톱과 이익 을 매수하고 배치하는 시장가 주문
//+----------------------------------------------- --------------------+
while(x!=Ask-15*Point||y!=Ask+15*Point) //---- 이전 거래가 종료될 때까지 거래가 실행되지 않기를 원하는 조건, 즉 ~할 수 있다
{ //----- 하나의 거래만 열어둡니다.
계속하다; //---- 조건을 중단하고 다음 단계로 이동
}
//+----------------------------------------------- --------------------+
반품; //---- 리턴 함수
}
//+----------------------------------------------- --------------------+

 
YOUNGA :

예, 시작 가격만 있으므로 EA의 작업을 분석할 때 특히 고려하는 것이 중요합니다. 예를 들어, 촛불의 꼬리가 채널을 뚫고 나오면 고문은 이것을 눈치 채지 못할 수도 있지만 이것은 프로그램 논리에 작성되어 원칙적으로 문제를 해결할 수 있습니다.



고맙습니다!
 

질문: 다음은 코드입니다.

정수 초기화()

{
//----
시프트 신호 = 0;
SlowPer=FastPer+AddSlow;
스프레드=MarketInfo(Symbol(),MODE_SPREAD);
Comment("ExpertMagicNumber=",ExpertMagicNumber);

if ((FastShift<0)&&(SlowShift>=0))
ShiftSignal=-FastShift;

if ((FastShift>=0)&&(SlowShift<0))
ShiftSignal=-SlowShift;

if ((FastShift<0)&&(SlowShift<0))
{
if (MathAbs(FastShift)>MathAbs(SlowShift))

ShiftSignal=-FastShift;
또 다른
ShiftSignal=-SlowShift;
}
//----
리턴(0);

그는 이 장소에 관심이 있습니다

if ((FastShift<0)&&(SlowShift>=0))

ShiftSignal=-FastShift;

FastShift<0 값이면 FastShift 값은 처음에 음의 정수와 같습니다. 예: -2

그런 다음 다음 줄에서 ShiftSignal=-FastShift;

ShiftSignal 변수에 0 대신 -2 값이 할당 될 것이라고 생각할 수 있습니다.

그러나 동시에 FastShift 변수 앞의 빼기 이유는 무엇입니까?

결국, 수학에서 빼기에서 빼기는 더하기를 제공합니다. 즉, 값은 "+2", 즉 2와 같을 것입니다.

필요한 경우 모든 코드를 보낼 수 있습니다.

 

이 문제를 해결하도록 도와주세요.

매수 또는 매도 신호가 있지만 다음 막대도 고려하지 않는 다음 막대의 신호로 조건을 충족합니다.

어떻게 해야 하는데 아무것도 나오지 않습니다.

 if ( условие на покупку или продажу)
{          

       if ( OrderSelect ( OrdersTotal ()- 1 ,SELECT_BY_POS,MODE_TRADES)== true )   // если есть уже ордер то проверяем
        {
                 if (OrderOpenTime()!=Time[ 1 ]||OrderOpenTime()!=Time[ 2 ]||OrderOpenTime()!=Time[ 3 ]) // если открытый ордер имеет значение(OrderOpenTime) не равное времени бару назад и тд. до 3 баров.
                    {
                   TimeBar=Time[ 0 ];
                   OrderSend ( Symbol (),OP_BUY, LOT, NormalizeDouble (Ask, Digits ), 2 , 0 , 0 , "ntcn" ,Magic, 0 ,Blue);   // тогда открываем
                    }
        }


}

그러나 그것은 작동하지 않습니다 .. 또는 어떻게 다르게 할 수 있습니까 ???? 지식을 공유해주시면 감사하겠습니다.

누군가가 읽고 동일한 문제에 직면했다면 여기에 답이 있습니다.

 if ( условие на покупку или продажу)
{          

   OrderSelect ( OrdersTotal ()- 1 ,SELECT_BY_POS,MODE_TRADES);                                                 // проверяем последний ордер
         if (OrderOpenTime()<Time[ 3 ])                                                                       // если по времени прошло 3 бара тогда можно открывать новую сделку
           {
                   TimeBar=Time[ 0 ];
                   OrderSend ( Symbol (),OP_SELL, LOT, NormalizeDouble (Bid, Digits ), 2 , 0 , 0 , "ntcn" ,Magic, 0 ,Red); 
           }

}
 
올렉, 조건이 그리 어렵지 않습니다 예를 들어 열린 주문 계산을 시작하고 1 이상 아프면 열지 마십시오 (여기 사이트에서 기성품 기능 가져 오기)
 

Tex, 아무도 대답하지 않았으므로 질문을 다시 작성해 보겠습니다.

iCastom() 함수가 0만 반환하는 경우 컴파일된 표시기에서 정보를 추출할 수 있는 방법이 있습니까?

 

안녕하세요, 긍정적 인 표시기 신호 후 막대 계산을 시작하는 방법을 알려주십시오.

- 신호를 받았고, 다음 2개의 막대가 올라간 후에야 베이를 엽니다.

 
YOUNGA :
올렉, 조건이 그리 어렵지 않습니다 예를 들어 열린 주문 계산을 시작하고 1 이상 아프면 열지 마십시오 (여기 사이트에서 기성품 기능 가져 오기)


불행히도 신호가 반복 될 수 있습니다 (더 많이 산다는 의미에서 한 시간, 하루 등이 될 수 있음) OrderComment, 블록을 통해 방문했지만 반복 주문도 있습니다. 반복되는 신호에 대한 막대를 차단하고 싶습니다. Sleepage 를 통하면 시간대가 다르고 4시간.....

하지만 답장을 보내주셔서 감사합니다.

 
dertop :


불행히도 신호가 반복 될 수 있습니다 (더 많이 산다는 의미에서 한 시간, 하루 등이 될 수 있음) OrderComment, 블록을 통해 방문했지만 반복 주문도 있습니다. 반복되는 신호에 대한 막대를 차단하고 싶습니다. Sleepage를 통해 시간 프레임이 다르면 4시간 ....

하지만 답장을 보내주셔서 감사합니다.


스레드에 대한 사이트 검색

한 바에서의 거래 금지.

 
잘 자! 지그재그 인디케이터를 만드는 원리를 설명해주세요. 예를 들어, 프랙탈은 왼쪽과 오른쪽이 현재 막대 위 또는 아래에 2개의 막대가 있을 때 생성됩니다. 그리고 지그재그는 무엇을 기반으로 만들어 졌습니까? 제발 제발.
사유: