Erreurs, bugs, questions - page 884

 
tol64:
Merci. Je garderai cela à l'esprit. Peut-être quelqu'un peut-il me dire quand cette colonne est remplie et quand elle ne l'est pas (comme dans mon cas). Si c'est le cas, je demanderai au Service Desk.
Il s'agit de l'identifiant attribué à votre ordre par la plateforme d'exécution - la bourse.
 
Yedelkin:

1. Insérez le code correctement.

2. comment le paramètre m_period est-il optimisé/sélectionné ? C'est-à-dire quelle est sa valeur pendant votre optimisation ?

Merci, j'ai compris, c'est ma faute.
 
Rosh:
Une question vague ne peut recevoir de réponse que de la même manière vague - Périodes de graphique
Merci, j'ai compris, c'est ma faute.
 

Je suis intéressé par vos commentaires sur cette erreur : "2012.11.28 09:38:18 4194304 octets non disponibles "

 
AndreyS:

Je suis intéressé par vos commentaires sur cette erreur : "2012.11.28 09:38:18 4194304 octets non disponibles "

Pas assez de mémoire.
 
Rosh:
Il s'agit de l'identifiant attribué à votre ordre par la plateforme d'exécution, la bourse.
Merci. Et veuillez préciser ce que l'on entend par système de négociation externe, au cas où je le comprendrais mal aussi.
 

Merci à tous pour vos réponses.

Trouvé cette incertitude avec type_filling : un seul mode est autorisé

string symbol = "EURUSD";
int flags = SymbolInfoInteger( symbol, SYMBOL_FILLING_MODE );
//разрешен только SYMBOL_FILLING_ALL_OR_NONE
en même temps SendOrder passe des commandes avec autant de succès avec
MqlTradeRequest request;
request.type_filling = ORDER_FILLING_FOK; //соответствующий флаг разрешения 1
ainsi qu'avec
request.type_filling = ORDER_FILLING_RETURN; //соответствующий флаг разрешения 0

Et après un placement réussi, la propriété réelle de la commande placée ORDER_TYPE_FILLING est toujours = ORDER_FILLING_RETURN même si nous avons spécifié request.type_filling = ORDER_FILLING_FOK dans la requête.

MqlTradeResult result;
OrderSelect( result.order );
int tpAfter = OrderGetInteger( ORDER_TYPE_FILLING );
//tpAfter всегда = ORDER_FILLING_RETURN

Il me semble qu'il y a un décalage entre la liste des modes autorisés et les propriétés réelles de la commande après son placement.

 

tol64

Rosh : C'est l'identifiant qui est attribué à votre ordre par la plateforme d'exécution - la bourse.

Et veuillez préciser ce que l'on entend par système de négociation externe, au cas où je le comprendrais mal aussi.

Vous avez dit que

Vous avez dit que vous aveztol64:

Yedelkin : Avez-vous vérifié le fonctionnement des ordres Stop Limit dans les transactions boursières?

Oui, j'ai bien vérifié et rien n'apparaît dans ce champ au moment du déclenchement de la commande.

Alors, a-t-il été contrôlé pendant les opérations de change ou non ?

 
Rosh:
Pas assez de mémoire.

Merci.

Veuillez aider à analyser la situation, le code suivant :


void CStrategyMA::FitnessFunction(int chromos)
{
  double res=0.0;
  
  // Выбор символа (m_strategy_symbol) из масива используемых символов (m_name_symbols[]) количаством (m_count_symbols)
  // Пример: m_count_symbols = 1; m_name_symbols[0] = "EURUSD.e";
  m_strategy_symbol = m_name_symbols[(int)MathRound(Colony[1][chromos]*(m_count_symbols-1))];
  
  // Выбор периода из масива по индексу (от PERIOD_M5 (индекс - 5) до PERIOD_D1 (индекс - 19))
  // Для наглядности:
  // ENUM_TIMEFRAMES PERIOD_INDEX [22] = {PERIOD_CURRENT,
  //                                      PERIOD_M1, PERIOD_M2,PERIOD_M3,PERIOD_M4,PERIOD_M5,PERIOD_M6,PERIOD_M10,PERIOD_M12,PERIOD_M15,PERIOD_M20,
  //                                      PERIOD_M30,PERIOD_H1,PERIOD_H2,PERIOD_H3,PERIOD_H4,PERIOD_H6,PERIOD_H8, PERIOD_H12,PERIOD_D1, PERIOD_W1,
  //                                      PERIOD_MN1};
  m_period = PERIOD_INDEX[(int)(MathRound(Colony[2][chromos]*5)+14)];
  
  // Освобождаю дескриптор загруженого ранее индикатора
  IndicatorRelease(m_handle);
  // Создаю новый индикатор с периодом - (int)(MathRound(Colony[3][chromos]*100)+1)
  // от 1 до 100
  m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,(int)(MathRound(Colony[3][chromos]*100)+1),0,MODE_EMA,PRICE_CLOSE);
  // Без использования Sleep(1000); - генерируется последующая ошибка при использовании в коде ф-ции: CopyBuffer
  // "ошибка доступа к историческим даным", хоть дескриптор и создан!?!?!?
  Sleep(1000);
  if(m_handle<0)
  {
    Alert("Ошибка при создании индикатора MA - номер ошибки: ",GetLastError()," ",m_strategy_symbol," ",m_period);
  } else
  {
    // Аналитический процес
    res = HistoryCheckTradeConditions();
  }
  AmountStartsFF++;
  Colony[0][chromos]=res;
}

 

Lors de l'utilisation de cette fonction, erreur "2012.11.28 09:58:32 4194304 bytes not available", aidez-moi à comprendre, augmenté le fichier swap à 10GBt.

De plus, je suis confus par Sleep(1000) ; aidez-moi à comprendre.

 
A100: Il y a une incohérence avec le type_filling : un seul mode est autorisé alors que SendOrder place les commandes avec le même succès qu'avec stack et avec

Et après un placement réussi, la propriété réelle de la commande placée ORDER_TYPE_FILLING est toujours = ORDER_FILLING_RETURN, même si request.type_filling = ORDER_FILLING_FOK a été spécifié dans la demande.

Je pense qu'il y a une divergence entre la liste des modes autorisés et les propriétés réelles de la commande après qu'elle ait été passée.

J'ai déjà essayé de traiter des questions similaires ici : https://www.mql5.com/ru/forum/2248/page5#comment_197730(deux messages d'affilée). Après cela, il y a eu quelques changements dans le matériel d'aide. Mais je ne m'intéresse plus à la question elle-même, donc ce qui a changé exactement - je ne peux pas le dire. Regardez à nouveau le manuel d'utilisation du terminal. Je pense que la description de ces modes a été mise à jour là aussi.
OrderSend() Вопросы
OrderSend() Вопросы
  • www.mql5.com
дожидается ли получения request], или после отправки торгового запроса на сервер сразу же переходит к следующему оператору (блоку)?