zennon: La funzione MovingInWL() passa semplicemente attraverso tutte le posizioni aperte indipendentemente dai filtri di input sy,op,mn. Questo è anche vero per l'esempio allegato EA (pagina 55).
Passa per cosa?! per resettare lo stoploss e manda tutto alla funzione Modiforder
Anche "Funzioni molto utili da KimIV", anche se non da questo thread - lettura di file INI.
Frammento (abbastanza per compilare ma non tutto per leggibilità) di KimIV inluder
//+------------------------------------------------------------------+//| IniFiles.mqh |//| Ким Игорь В. aka KimIV |//| http://www.kimiv.ru |//| 25.04.2006 Библиотека функций для работы с INI-файлами. |//+------------------------------------------------------------------+#property library#import "kernel32.dll"int GetPrivateProfileStringA
( string SectionName, // Наименование секцииstring KeyName, // Наименование параметраstring Default, // Значение по умолчаниюstring ReturnedString, // Возвращаемое значение параметраint nSize, // Размер буфера под значение параметраstring FileName); // Полное имя файлаint WritePrivateProfileStringA
( string SectionName, // Наименование секцииstring KeyName, // Наименование параметраstring sString, // Записываемое значение параметраstring FileName); // Полное имя файла#import//+------------------------------------------------------------------+//| Параметры: |//| FileName - полное имя файла |//| SectionName - наименование секции |//| KeyName - наименование параметра |//| Default - значение параметра по умолчанию |//+------------------------------------------------------------------+string ReadIniString(string FileName, string SectionName, string KeyName,
string Default = "")
{
string ReturnedString = "";
int nValue = GetPrivateProfileStringA(SectionName, KeyName, Default,
ReturnedString, 255, FileName);
if(nValue > 0)
return(ReturnedString);
elsereturn(Default);
}
Lo script che chiama la funzione per leggere un file INI
Quello che non ci piace è un frammento del registro
12:49:14 Test IniFiles AUDUSD,H1: Пара = EURUSD
12:49:14 Test IniFiles AUDUSD,H1: Акция Пара = BuyТип = Buy
La domanda è: perché? Le funzioni sembrano essere descritte correttamente. Quando leggo (dopo tutte le chiamate) e poi stampo il doppio (Volume), tutte le variabili diventano uguali a-0,06.
14 non è più vicino a 15 che a 5? e la funzione restituirà 30. cool:)
Funziona con una regola chiara: qualsiasi cosa tra i TF è sostituita dal valore del TF più piccolo. Se non ti piace, pubblica la tua regola e il tuo codice.
Questa funzione cerca un estremo dell'indicatore ZigZag standard personalizzato e restituisce il suo livello di prezzo. La funzione accetta i seguenti parametri opzionali:
sy - Nome dello strumento. "" o NULL - simbolo corrente. Il valore predefinito è NULL.
tf - Timeframe. Valore predefinito 0 - simbolo corrente.
ne - Numero estremo. 0 - ultimo, 1 - precedente, 2 - precedente, ecc.
Volevo usare questa funzione ma mi sono imbattuto nella seguente situazione: quando appare un nuovo estremo, il livello di prezzo non cambia immediatamente ma rimane lo stesso per un po' di tempo. Mi disturba durante i test. Come risolvere il problema?
Per favore, dimmi dov'è la lista di tutte le funzioni, penso che ci sia una funzione per calcolare leposizioni consecutive perdenti-chiuse - ne hai bisogno per la martingala.
La funzione MovingInWL() passa semplicemente attraverso tutte le posizioni aperte indipendentemente dai filtri di input sy,op,mn. Questo è anche vero per l'esempio allegato EA (pagina 55).
Aiuto per i non intelligenti.
Anche "Funzioni molto utili da KimIV", anche se non da questo thread - lettura di file INI.
Frammento (abbastanza per compilare ma non tutto per leggibilità) di KimIV inluder
Lo script che chiama la funzione per leggere un file INI
Il file INI stesso
[TestSection] Action=Open Pair=EURUSD TradeType=Buy Volume=-0.06Quello che non ci piace è un frammento del registro
12:49:14 Test IniFiles AUDUSD,H1: Пара = EURUSD 12:49:14 Test IniFiles AUDUSD,H1: Акция Пара = BuyТип = BuyLa domanda è: perché? Le funzioni sembrano essere descritte correttamente. Quando leggo (dopo tutte le chiamate) e poi stampo il doppio (Volume), tutte le variabili diventano uguali a-0,06.
Bild 225.
La funzione ArrayAvg().
Questa funzione restituisce la media aritmetica degli elementi della matrice.
Funzione CorrectTF().
Il 14 non è più vicino al 15 che al 5?
Per esempio, ho inserito 50 per l'orologio invece di 60. Bene... Mi mancava un po'.
e la funzione restituirà 30. cool:)
14 non è più vicino a 15 che a 5? e la funzione restituirà 30. cool:)
Se non ti piace, pubblica la tua regola e il tuo codice.
Funzione GetExtremumZZZPrice().
Questa funzione cerca un estremo dell'indicatore ZigZag standard personalizzato e restituisce il suo livello di prezzo. La funzione accetta i seguenti parametri opzionali:
Volevo usare questa funzione ma mi sono imbattuto nella seguente situazione: quando appare un nuovo estremo, il livello di prezzo non cambia immediatamente ma rimane lo stesso per un po' di tempo. Mi disturba durante i test. Come risolvere il problema?
Capisco la regola nel codice, ma la descrizione del codice ha una regola diversa