안녕하세요, 저는 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) //---- 이전 거래가 종료될 때까지 거래가 실행되지 않기를 원하는 조건, 즉 ~할 수 있다 { //----- 하나의 거래만 열어둡니다. 계속하다; //---- 조건을 중단하고 다음 단계로 이동 } //+----------------------------------------------- --------------------+ 반품; //---- 리턴 함수 } //+----------------------------------------------- --------------------+
매수 또는 매도 신호가 있지만 다음 막대도 고려하지 않는 다음 막대의 신호로 조건을 충족합니다.
어떻게 해야 하는데 아무것도 나오지 않습니다.
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);
}
}
YOUNGA : 올렉, 조건이 그리 어렵지 않습니다 예를 들어 열린 주문 계산을 시작하고 1 이상 아프면 열지 마십시오 (여기 사이트에서 기성품 기능 가져 오기)
불행히도 신호가 반복 될 수 있습니다 (더 많이 산다는 의미에서 한 시간, 하루 등이 될 수 있음) OrderComment, 블록을 통해 방문했지만 반복 주문도 있습니다. 반복되는 신호에 대한 막대를 차단하고 싶습니다. Sleepage 를 통하면 시간대가 다르고 4시간.....
불행히도 신호가 반복 될 수 있습니다 (더 많이 산다는 의미에서 한 시간, 하루 등이 될 수 있음) OrderComment, 블록을 통해 방문했지만 반복 주문도 있습니다. 반복되는 신호에 대한 막대를 차단하고 싶습니다. Sleepage를 통해 시간 프레임이 다르면 4시간 ....
안녕하세요, 저는 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) //---- 이전 거래가 종료될 때까지 거래가 실행되지 않기를 원하는 조건, 즉 ~할 수 있다
{ //----- 하나의 거래만 열어둡니다.
계속하다; //---- 조건을 중단하고 다음 단계로 이동
}
//+----------------------------------------------- --------------------+
반품; //---- 리턴 함수
}
//+----------------------------------------------- --------------------+
예, 시작 가격만 있으므로 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와 같을 것입니다.
필요한 경우 모든 코드를 보낼 수 있습니다.
이 문제를 해결하도록 도와주세요.
매수 또는 매도 신호가 있지만 다음 막대도 고려하지 않는 다음 막대의 신호로 조건을 충족합니다.
어떻게 해야 하는데 아무것도 나오지 않습니다.
그러나 그것은 작동하지 않습니다 .. 또는 어떻게 다르게 할 수 있습니까 ???? 지식을 공유해주시면 감사하겠습니다.
누군가가 읽고 동일한 문제에 직면했다면 여기에 답이 있습니다.
Tex, 아무도 대답하지 않았으므로 질문을 다시 작성해 보겠습니다.
iCastom() 함수가 0만 반환하는 경우 컴파일된 표시기에서 정보를 추출할 수 있는 방법이 있습니까?
안녕하세요, 긍정적 인 표시기 신호 후 막대 계산을 시작하는 방법을 알려주십시오.
- 신호를 받았고, 다음 2개의 막대가 올라간 후에야 베이를 엽니다.
올렉, 조건이 그리 어렵지 않습니다 예를 들어 열린 주문 계산을 시작하고 1 이상 아프면 열지 마십시오 (여기 사이트에서 기성품 기능 가져 오기)
불행히도 신호가 반복 될 수 있습니다 (더 많이 산다는 의미에서 한 시간, 하루 등이 될 수 있음) OrderComment, 블록을 통해 방문했지만 반복 주문도 있습니다. 반복되는 신호에 대한 막대를 차단하고 싶습니다. Sleepage 를 통하면 시간대가 다르고 4시간.....
하지만 답장을 보내주셔서 감사합니다.
불행히도 신호가 반복 될 수 있습니다 (더 많이 산다는 의미에서 한 시간, 하루 등이 될 수 있음) OrderComment, 블록을 통해 방문했지만 반복 주문도 있습니다. 반복되는 신호에 대한 막대를 차단하고 싶습니다. Sleepage를 통해 시간 프레임이 다르면 4시간 ....
하지만 답장을 보내주셔서 감사합니다.
스레드에 대한 사이트 검색
한 바에서의 거래 금지.