Voglio insegnare alla macchina a trovare un piano esatto. Le sue condizioni sono le seguenti: quindi c'è una barra sul grafico
Per formare un piatto, che voglio trovare ha bisogno di formare 3 barreopposte alla 1a barra tra la sua altezza HL (cioè solo 4 barre che si trovano in una gamma) per confrontare le barre e trovare livelli ha scritto questa condizione
Da quanto ho capito, il confronto va avanti, ma ho un problema con il disegno dei livelli
double Price_Ur = Bar_Cl[qt+2];
Voglio costruire un livello che passi attraverso il prezzo di chiusura della 2a barra.
Ho una domanda: come restituire il prezzo più basso dalla condizione o come trovarlo, forse la mia condizione non restituisce il prezzo ma confronta solo i top delle candele che passano attraverso il PO e il CL? Ho usato la seguente notazione
int iLwCL=iLowest(_Symbol,PERIOD_D1,MODE_CLOSE,3,qt+1); int iLwOP=iLowest(_Symbol,PERIOD_D1,MODE_OPEN,3,qt+1);
double Price_Ur = Bar_Cl[iLwCL]<Bar_Op[iLwOP] ? Bar_Cl[iLwCL]:Bar_Op[iLwOP];
La funzioneiLowest determina il top più basso rispetto alla 0a barra, ma nel mio caso non trova il prezzo più basso. Come posso restituire il prezzo più basso dalla condizione per costruire un livello come nel caso didouble Price_Ur = Bar_Cl[qt+2];?
// Пример хранения/обмена данными через Ресурсы внутри Терминала#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166voidOnStart()
{
const RESOURCEDATA<int> ResourceINT("::int"); // Ресурс для обмена int-ами. const - как доказательство, что ничего не пишется в объект классаint ArrayINT[] = {1, 2, 3};
int Num = 5;
ResourceINT = ArrayINT; // Ресурс хранит массив.
ResourceINT += Num; // Добавили в ресурс еще значение.
ResourceINT += ArrayINT; // Добавили массив.int ArrayINT2[];
ResourceINT.Get(ArrayINT2); // Считали данные из ресурса.ArrayPrint(ArrayINT2); // Вывели: 1 2 3 5 1 2 3
ResourceINT.Free(); // Удалили данные из ресурсаPrint(ResourceINT.Get(ArrayINT2)); // Убедились, что данных нет: 0const RESOURCEDATA<MqlTick> ResourceTicks("::Ticks"); // Ресурс для обмена тиками. const - как доказательство, что ничего не пишется в объект классаMqlTick Tick;
if (SymbolInfoTick(_Symbol, Tick))
for (int i = 0; i < 3; i++)
ResourceTicks += Tick; // Добавили в ресурс тикиMqlTick Ticks[];
ResourceTicks.Get(Ticks); // Считали данные из ресурса.ArrayPrint(Ticks); // Вывели.// Это полное имя ресурса для обращения из другой программыconststring NameOut = StringSubstr(MQLInfoString(MQL_PROGRAM_PATH), StringLen(TerminalInfoString(TERMINAL_PATH)) + 5) + "::Ticks";
Print(NameOut); // Вывели полное имя ресурса.const RESOURCEDATA<MqlTick> Resource(NameOut); // Ресурс для доступа к данным (read-only) из другой программыMqlTick TicksOut[];
Resource.Get(TicksOut); // Считали данные из ресурса.ArrayPrint(TicksOut); // Вывели.
Resource.Free(); // Не получится повлиять на данные read-only-ресурса.Print(_LastError); // ERR_INVALID_PARAMETER - Ошибочный параметр при вызове системной функции.
}
Неторгующий советник Renko 2.0 Offline генерирует информацию по пользовательскому символу на минутном графике. Полный график Ренко с фитилями. Доступен и оффлайн! Ссылается на библиотеку Symbol для MetaTrader 5, написанную пользователем fxsaber. Настраивается с...
Sto scrivendo un EA. Non lo sto testando in un tester, ma nel trading reale.
È possibile cancellare il file di log (scheda "Experts") quando si avvia un Expert Advisor?
Al momento, l'unico modo per rimuovere questo file è chiudere il terminale. Il modo di cancellare il file con il terminale aperto andrebbe bene.
È possibile cancellare il file di log (scheda "Experts") quando si avvia un Expert?
È possibile farlo manualmente: sulla scheda, (tasto destro del mouse) -> "Clear"
Puoi farlo manualmente: sulla scheda, (clic destro) -> "Cancella".
Solo il testo della scheda Expert scomparirà. Il file rimarrà al suo posto. Ho bisogno di eliminare o cancellare il file.
Voglio insegnare alla macchina a trovare un piano esatto. Le sue condizioni sono le seguenti: quindi c'è una barra sul grafico
Per formare un piatto, che voglio trovare ha bisogno di formare 3 barreopposte alla 1a barra tra la sua altezza HL (cioè solo 4 barre che si trovano in una gamma) per confrontare le barre e trovare livelli ha scritto questa condizione
Da quanto ho capito, il confronto va avanti, ma ho un problema con il disegno dei livelli
Voglio costruire un livello che passi attraverso il prezzo di chiusura della 2a barra.
Ho una domanda: come restituire il prezzo più basso dalla condizione o come trovarlo, forse la mia condizione non restituisce il prezzo ma confronta solo i top delle candele che passano attraverso il PO e il CL? Ho usato la seguente notazione
La funzioneiLowest determina il top più basso rispetto alla 0a barra, ma nel mio caso non trova il prezzo più basso. Come posso restituire il prezzo più basso dalla condizione per costruire un livello come nel caso didouble Price_Ur = Bar_Cl[qt+2];?
Le variabili GV sono molto scomode per questo.
Potete dirmi se c'è un modo per trasferire un array da un EA a un altro?
Le variabili GV sono molto scomode per questo.
Forse questo aiuterà https://www.mql5.com/ru/code/818. Io non l'ho mai usato.
Potete dirmi se c'è un modo per trasferire un array da un EA a un altro?
Le variabili GV sono molto scomode per questo.
Forum sul trading, sistemi di trading automatico e strategie di trading di prova
Biblioteche: TradeTransactions
fxsaber, 2018.09.20 16:23
Non capisco come in questo consigliere
https://www.mql5.com/ru/code/20254
Non riesco a capire come evitare che la barra attuale (non ancora formata) venga disegnata. Qualcuno può darmi un suggerimento?
Non capisco come in questo consigliere
https://www.mql5.com/ru/code/20254
Non riesco a capire come evitare che la barra attuale (non ancora formata) venga disegnata. Qualcuno può darmi un suggerimento?
Dovresti chiedere nel thread di discussione di Expert Advisor(#4).