내 버전은 1분 안에 일부 작업(이 경우 주문 열기)을 수행하는 제한(신호 도착 후)을 의미합니다. 그리고 시간이 없었습니다. 늦었습니다. 신호가 도착한 직후에 서버와의 연결이 중단되었다가 한 시간 후에 재개되었다고 가정합니다. 왜 한 시간 안에 주문을 여세요??? ;)
세 소나무에서 한증탕을하지 마십시오. 고유한 마법에 대한 경험치 거래를 나눕니다(선택한 기호의 경험치 주문에 마법을 할당하십시오). 또한 if - else 조건 연산자를 사용하여 다른 입력과 함께 사용하여 기호와 마법으로 필터를 연결합니다. Kim I.V의 이 함수 값:
또 다른 옵션은 신호가 도착한 후 언제든지 설정할 수 있습니다.
전역 변수에 신호가 도착하는 순간의 시간 값을 씁니다.
그런 다음 1분을 카운트다운합니다(이 작업을 수행할 수 있음).
이벤트 발생 후 시간을 추적하는 옵션 중 하나입니다.
불행히도 작동하지 않습니다. 1 분 후에 지원선과 저항선을 조치로 그려야하지만 어떤 이유로 차트에 없습니다. 코드를 살펴보십시오. 오류가 어디에 있습니까?
bool Fact_2 = false; // Глобальная перемен для бай
bool Fact_3 = false; // Глобальная перемен для бай
double support;
double resist;
int timeFrame = 5;
int numBars = 15;
datetime gdt_TimeSignal;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//---------------------------------------------------------------------------
if (Fact_3==true) //Если событие уже..
//..было, то выходим
return(0);
//----
//---- БЛОК ОТКРЫТИЯ BUY--------------------------------------------------------------
if (iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,2)<iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0)&&
iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,1)>=iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0))//если МА50 пересекает МА200 снизу вверх по M5
Fact_1 = true; // Произошло событие 1
//-
if (Fact_1 == true && Low[0]<= iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,0))//если цена опустилась до МА50
Fact_2 = true; // Произошло событие 2
//if (Signal) gdt_TimeSignal = TimeCurrent();
if (Fact_2) gdt_TimeSignal = TimeCurrent();
if (gdt_TimeSignal != 0) if (iBarShift (NULL, 1, gdt_TimeSignal) == 1)
{
//---- Открываете ордер
// OrderSend ();
//---------------------------------------------------------------------------------
{
// Определяем линии поддержки\сопротивления
support = 10000;
resist = 0;
for(int u = 1;u<=numBars;u++)
{
if(support>iLow(Symbol(),timeFrame,u))
support = iLow(Symbol(),timeFrame,u);
if(resist<iHigh(Symbol(),timeFrame,u))
resist = iHigh(Symbol(),timeFrame,u);
}
ObjectSet("lineSupport",OBJPROP_PRICE1,support);
ObjectSet("lineResist",OBJPROP_PRICE1,resist);
}
//----
{
ObjectCreate("lineSupport",OBJ_HLINE,0,0,0);
ObjectSet("lineSupport",OBJPROP_COLOR,Blue);
ObjectCreate("lineResist",OBJ_HLINE,0,0,0);
ObjectSet("lineResist",OBJPROP_COLOR,Red);
}
//-------------------------------------------------------------
gdt_TimeSignal = 0;
}
//что сюда добавить что бы линии появившись, оставались на месте?
//----
return(0);
}
이것은 여기에 쓰여진 넌센스입니다.
iCustom() 에 대해 읽어보세요.
감사합니다 잘 읽었습니다 예를 찾아봐야 할 것 같습니다.. 그런말 이해가 안가네요.
두세 줄로 어드바이저 코드를 구현하는 방법을 알려주세요.
신호 수신 시(예: 두 MA가 교차)
1. 조언자는 신호 도착 시간(시간, 분)을 결정하고 기억합니다.
2. 1분을 카운트다운합니다.
또한 어떤 조치를 취하려는 의지(예: 주문 개시)모든 것이 감사합니다. 모든 것이 제대로 작동합니다. 단지 신호가 제대로 삽입되지 않았을 뿐입니다.
Codebase에 지표를 게시하는 방법을 알 수 없습니다. 게시할 준비가 된 상태인 것 같습니다. 논리적으로 중재자가 이 칠면조를 공개 도메인에 둘 때까지 기다려야 하지만 며칠이 지나도 결과가 없습니다. 무엇이 문제가 될 수 있습니까?
추신. 이것은 여기에 게시하는 첫 번째 코드입니다.
그래, 난 동의! 나는 확실히 여기에서 고안해 냈습니다. 디스크에 쓰지 않고도 쉽게 할 수 있습니다!
표준 터미널에서 다른 터미널로 고삐를 짜고 있습니다.
영혼이 시키는 대로 자신을 위해 만든 사람, 음, 그는 널빤지 길을 따라갔습니다. :)
죄송합니다만, 우리는 어떤 식으로든 이 문제를 일으킬 것입니다.
프레디 머큐리 경이 우리에게 매달린 것처럼
쇼는 계속되어야 한다!!!
따라서 참조 조건을 명확히 합시다.
내가 이해한 방법:
1. 한 계정에서 통화 쌍 차트 세트와 함께 창구름(10개)이 열립니다.
2. 각 차트에는 일꾼이 있습니다. 그곳에서 무언가를 하는 고문
3. 계정에서 다음 조건이 충족되어야 합니다.
3.1 계정에 있는 공개 시장 주문의 총 수는 5를 초과할 수 없습니다.
동시에 말 유형(보류 중)의 주문은 사람으로 간주되지 않습니다(그렇게 생각하지만 지정하지 않았습니다)
3.2 계정의 차트 세트를 기반으로 특정 기호 목록이 형성되었습니다.
거래가 수행되는 금융 상품의 유형, 각 상품
주어진 시간에 하나 이상의 미결 주문을 가질 수 없습니다.
-------------------------------------------------- -------
이런 일이! 모든 것이 여기에 있는지 확인하십시오!
다음으로 탐색에 필요한 언어를 지정하십시오(예: mq4 또는 mq5 ).
그리고 거래가 수행되는 다른 상품 목록 - 고정되거나 매번 다름
각 고문의 텍스트에 짧은 삽입
(원하는 경우 절차로 주선할 수 있음) 그를 허용할 것입니다.
모든 작업에 대해 현재 존재하는 권한 문제 해결 ...
이를 위해 지금은 새벽 5시이므로 휴가를 내도록 하겠습니다. :))
매드즈
참여해주셔서 감사합니다. 하지만 더 이상 그렇게 생각하지 않습니다.
이 문제는 r772ra 에서 제안한 대로 다음과 같이 해결되었습니다.
또는 다음과 같을 수 있습니다.
그리고 여기 기능이 있습니다세 소나무에서 한증탕을하지 마십시오. 고유한 마법에 대한 경험치 거래를 나눕니다(선택한 기호의 경험치 주문에 마법을 할당하십시오). 또한 if - else 조건 연산자를 사용하여 다른 입력과 함께 사용하여 기호와 마법으로 필터를 연결합니다. Kim I.V의 이 함수 값:
NumberOfOrders() 함수.
. 모든 것.
감사합니다. 더 쉬운 솔루션이 있습니다.
감사합니다. 더 쉬운 솔루션이 있습니다.
확인! 솔루션을 게시해 주셔서 감사합니다.
참여해주셔서 감사합니다. 하지만 더 이상 그렇게 생각하지 않습니다.
이 문제는 r772ra 에서 제안한 대로 다음과 같이 해결되었습니다.
또는 다음과 같을 수 있습니다.
그리고 여기 기능이 있습니다확인! 행운을 빕니다 그리고 행복한 사냥!!!
매드즈
참여해주셔서 감사합니다. 하지만 더 이상 그렇게 생각하지 않습니다.
이 문제는 r772ra 에서 제안한 대로 다음과 같이 해결되었습니다.
또는 다음과 같을 수 있습니다.
그리고 여기 기능이 있습니다이 솔루션에 만족한다면 코드를 훨씬 더 단순화할 수 있습니다.
그러나 아마도 다음과 같이 작성하는 것이 더 나을 것입니다.
그리고 "유치한" 것이 아니라면 Magic을 사용해야 합니다(조만간 수동 주문을 병렬로 열거나 옆에 다른 고문을 두기를 원할 것입니다):
동시에 모든 Expert Advisors는 동일한 Magic을 가져야 하며 주문 목록과 함께 Magic에 대한 필터와 다른 작업에 대한 차트 기호를 사용하는 것을 잊지 마십시오.
외부 변수의 마법은 다음과 같이 선언했거나 상수로 지정했으면 합니다.
#define Magic 555