[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 186
#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
Descrizione di uno dei parametri:
lpKeyName [in]
The name of the key whose associated stringis to be retrieved.
If this parameter is NULL, all key names in the section specified by the lpAppName parameter
are copied to the buffer specified by the lpReturnedString parameter.
Domanda - come passare il "vero NULL"?
Passando "mql NULL" (anche la stringa "") si ottiene un valore predefinito invece della lista delle "chiavi nella sezione".
lpDefault [in]
A defaultstring. If the lpKeyName key cannot be found in the initialization file,
GetPrivateProfileString copies the defaultstring to the lpReturnedString buffer.
If this parameter is NULL, the defaultis an empty string, "".
Ho menzionato il "NULL reale" perché ho letto un problema simile (esattamente con questa funzione) in un forum su Basic. Il forum era di lingua inglese (cioè tutto quello che potevo capire non era vero), e il problema è stato risolto con Basics.
Per quanto ho capito, OrderModify() può cambiare gli stop su barre diverse dalla barra aperta? Il mio codice (quasi tutto dal libro di S. Kovalev) è costruito in modo che gli stop cambino non solo durante l'apertura, ma anche al verificarsi di alcuni eventi:
switch(Tip) // По типу ордера
{
case0 : // Ордер Buyif (NormalizeDouble(SL,Digits)< // Если ниже желаем.NormalizeDouble(Bid-TS*Point,Digits))
{
// Ниже я только добавил функцию New_Stop
SL=Bid-New_Stop(TS)*Point; // то модифицируем егоstring Text="Buy "; // Текст для Buy
Modify=true; // Назначен к модифи.
}
break;
// Функция из этой же книги:int New_Stop(int Parametr) // Проверка стоп-прик.
{
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Миним. дистанцияif (Parametr < Min_Dist) // Если меньше допуст.
{
Parametr=Min_Dist; // Установим допуст.Alert("Увеличена дистанция стоп-приказа.");
}
return(Parametr); // Возврат значения
}
val1[]. O ditemi come farlo e cosa usare perché non riesco a capirlo. Indicatore di Laguerre.
i=CountBars-1;
while(i>=0)
{
L0A = L0;
L1A = L1;
L2A = L2;
L3A = L3;
L0 = (1 - gamma)*Close[i] + gamma*L0A;
L1 = - gamma *L0 + L0A + gamma *L1A;
L2 = - gamma *L1 + L1A + gamma *L2A;
L3 = - gamma *L2 + L2A + gamma *L3A;
CU = 0;
CD = 0;
if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;
if (CU + CD != 0) LRSI = CU / (CU + CD);
val1[i] = LRSI;
i--;
}
if(counted_bars>0)
counted_bars--;
limit=Bars-counted_bars;
if(limit>CountBars)
limit=CountBars;
for(int c=1;c<limit;c++)
{if(val1[c]>0.45)
LastLag++;}
Per esempio, quando la linea val1[c] attraversa 0,45 verso l'alto il valore del tempo è impostato nella variabile TimeBegin e quando attraversa verso il basso il valore del tempo è impostato nella variabile TimeEnd. E così via per tutto il grafico.
Sono curioso, cosa c'è di sbagliato nella mia versione?
Nella vostra versione, innanzitutto si addormenta 300 volte in 1 calcolo
In secondo luogo, si stanca di creare un messaggio 600 volte per ogni tick.
E terzo, disegna questa linea rossa sul grafico. La linea rossa ha un massimo di 0,86, e la linea verde ha un minimo di 1,34
quindi non si possono vedere i risultati.
Si disegna verde, ma solo alla candela prima della chiusura! Prima di allora, non lo fa mai.
Buon pomeriggio, per favore aiutatemi.
Come faccio a trovare un modello di spostamento delle barre calcolato con questa formula? ObjectGetShiftByValue
Non vedo alcun risultato.
Grazie!!! sono un agnello!
Penso che dovrebbe disegnare solo se cambiate StopLoss e/o TakeProfit
È vero, il registro lo conferma.
Una domanda su alcune sfumature della chiamata di funzioni WinAPI.
C'è una funzione GetPrivateProfileStringA.
Importazione della funzione in mql.
Descrizione di uno dei parametri:
Domanda - come passare il "vero NULL"?
Passando "mql NULL" (anche la stringa "") si ottiene un valore predefinito invece della lista delle "chiavi nella sezione".
Ho menzionato il "NULL reale" perché ho letto un problema simile (esattamente con questa funzione) in un forum su Basic. Il forum era di lingua inglese (cioè tutto quello che potevo capire non era vero), e il problema è stato risolto con Basics.
beh, li cambia sull'open bar
Per quanto ho capito, OrderModify() può cambiare gli stop su barre diverse dalla barra aperta? Il mio codice (quasi tutto dal libro di S. Kovalev) è costruito in modo che gli stop cambino non solo durante l'apertura, ma anche al verificarsi di alcuni eventi:
Per favore, ditemi come assegnare il tempo alla linea dell'indicatore
val1[]. O ditemi come farlo e cosa usare perché non riesco a capirlo. Indicatore di Laguerre.Per esempio, quando la linea val1[c] attraversa 0,45 verso l'alto il valore del tempo è impostato nella variabile TimeBegin e quando attraversa verso il basso il valore del tempo è impostato nella variabile TimeEnd. E così via per tutto il grafico.
Per quanto ho capito, OrderModify() può anche cambiare gli stop su barre diverse da quella di apertura?