문제는 내 의견으로는 변수의 값에 있지 않습니다. 내 코드에서 새로운 시간이 시작될 때 다시 계산한다는 것입니다. 그리고 현재 기호에 따라 새로운 막대 가 나타나고 막대 =1의 값이 계산되고 신호 기호에 따라 새로운 막대가 얻어지며 아직 형성되지 않았으며 값이 막대 = 2가 계산됩니다.
함수 본문에서 여러 스위치 케이스 매개변수를 전달할 수 있습니까? 나는 switch case에 개설할 주문의 종류를 가지고 있고 , 시장 진입점을 결정하는 기능에서 주문을 여는 데 1개의 매개변수만 전달하는 것이 가능했고, 동시에 이미 이해했습니다. 이것은 불가능하므로 순차적으로 구현하는 방법조차 찾지 못했습니다.
함수 본문에서 여러 스위치 케이스 매개변수를 전달할 수 있습니까? 나는 switch case에 개설할 주문의 종류를 가지고 있고 , 시장 진입점을 결정하는 기능에서 주문을 여는 데 1개의 매개변수만 전달하는 것이 가능했고, 동시에 이미 이해했습니다. 이것은 불가능하므로 순차적으로 구현하는 방법조차 찾지 못했습니다.
함수 본문에서 여러 스위치 케이스 매개변수를 전달할 수 있습니까? 나는 switch case에 개설할 주문의 종류를 가지고 있고 , 시장 진입점을 결정하는 기능에서 주문을 여는 데 1개의 매개변수만 전달하는 것이 가능했고, 동시에 이미 이해했습니다. 이것은 불가능하므로 순차적으로 구현하는 방법조차 찾지 못했습니다.
int OpenOrder()
{
switch (AUDUSD_Analizing)
{
case0 : Alert ( "Нет условий для открытия ордера. Выход" ); break ;
case1 : // кейс для открытия Buy по AUD/USDif (TimeServer() == true )
{
if ( Symbol () == AUDUSD)
{
RefreshRates();
Open_Order = OrderSend ( "AUDUSD" ,OP_BUY,lot,Ask, 0 , 0 , 0 );
Alert ( "Тикет открытого ордера " , Open_Order, GetLastError ());
case2 : // кейс для открытия Sell по AUD/USDif (TimeServer() == true )
{
if ( Symbol () == AUDUSD)
{
RefreshRates();
Open_Order = OrderSend ( "AUDUSD" ,OP_SELL,lot,Bid, 0 , 0 , 0 );
Alert ( "Тикет открытого ордера " , Open_Order, GetLastError ());
//-------------------------------------------------------------------------------------------------------------// другая функция//-------------------------------------------------------------------------------------------------------------int AUDUSD_Analizing()
{
if (AUDUSD_Prices_new > AUDUSD_Prices_old)
{
s1 = AUDUSD_Prices1;
s2 = AUDUSD_Prices2;
s3 = s1 - s2;
if (raznica > s5)
{
Alert ( "--- ВРЕМЯ ОТКРЫВАТЬ ОРДЕР НА ПОКУПКУ ---" );
и вот тут я могу либо прописать конкретное открытие ордера или несколько их штук(чем и решил заняться так
как не нашел решения), либо вернуть номер кейса в первую функцию(что сократило бы код).
Но мне нужно по условиям открывать сразу несколько сделок. К примеру нужно 2 на бай разом открыть,
а возвращается только одно значение и исполняется один кейс и дальше уже на новый круг все идет,
а мне нужно сразу несколько кейсов, допустим 5 выполнить, поставить 5 отложек и вот как передать не пойму,
или как вызвать срабатывание кейсов в последовательности. Если с кейсами можно как-то придумать, то по
факту код влезет в рамку 400-600 строк, а так полагаю все 1000+ выйдет в лучшем случае
(разбитые по 100-200 строк на .mqh, но и из файлов тоже помойка сложится)
문자열 USDUSD = "USDUSD";
적어도 그렇게.
여기있어!!! 그래서 나와 함께))) 지워지고 잊어 버렸어)))
매우 감사합니다!!! 당신의 가정에 평화!
Expert Advisor, 스크립트, 인디케이터는 적용되지 않지만 현재 창에서 작동합니다. 그리고 다른 창/차트 의 전역 변수는 겹치지 않습니다. 그래서 그것은 작동해야합니다)
문자열USDUSD; // 이것은 텍스트 변수이며 초기에는 비어 있습니다. 동일 ""
(Symbol() == AUDUSD) // 이 행 은 AUDUSD 변수와 아무 관련이 없습니다.
그러나 주문 개시 기준은 다른 상품/창구에 대해 동일하지 않아야 합니다. 그들이 동일하다면 실제로 모든 창에서 열립니다.
고맙습니다!
그리고 나는 여러 창에서 일하는 고문이 미래에 주문을 여는 신호가 나타날 때 이런저런 도구를 구매하라는 신호가 있고 나머지는 그렇지 않다는 것을 이해하도록 논리를 정확하게 수행했습니다. 회전
여기있어!!! 그래서 나와 함께))) 지워지고 잊어 버렸어)))
매우 감사합니다!!! 당신의 가정에 평화!
또는 전역 변수 수준에서 이와 같이
또는 전역 변수 수준에서 이와 같이
일반적으로 시원함)) 이제 로봇이 신호를 수신하고 다른 쌍에 대해 한 번에 여러 창에서 주문을 엽니다))
다시 한번 감사합니다!!
문제는 내 의견으로는 변수의 값에 있지 않습니다. 내 코드에서 새로운 시간이 시작될 때 다시 계산한다는 것입니다. 그리고 현재 기호에 따라 새로운 막대 가 나타나고 막대 =1의 값이 계산되고 신호 기호에 따라 새로운 막대가 얻어지며 아직 형성되지 않았으며 값이 막대 = 2가 계산됩니다.
문제는 간단하게 해결되었습니다 - 신호 기호로 새 막대의 시작을 추적했습니다.
말해 주세요.
관심 있는 코드 표시
말해 주세요.
값의 범위를 의미합니까?
관심 있는 코드 표시
값의 범위를 의미합니까?
예를 들어 사례 1을 먼저 보낸 다음 사례 2 등을 보내지 마십시오.
사례가 개시 주문을 실행합니다.