Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 625

 
laveosa:

Nein, es funktioniert nicht..... Wozu haben wir das getan?


MaperiodM5ma_2 = 25 / Period(); Angenommen, wir setzen es auf H1, dann ist das Ergebnis 25/60=0,41, in int wird es 0 sein, da es keine solche Periode von MA gibt, in diesem Fall verwenden wir die minimal mögliche, d.h. 1. Eigentlich sollte es funktionieren, ich benutze manchmal solche Varianten, das Ergebnis des Handels unterscheidet sich nur unwesentlich von der "nativen" Zeit.
 
Vinin:

Man muss einfach nachdenken, bevor man Fragen stellt. Nah und nicht nah sind zwei völlig unterschiedliche Begriffe.

Die Frage war ganz einfach, wie man das Testergebnis zu jedem Zeitpunkt gleich macht. Wenn es nicht klar genug war, werden wir versuchen, beim nächsten Mal ausführlicher zu sein... Ich danke Ihnen!
 
benzovoz:


MaperiodM5ma_2 = 25 / Periode(); Angenommen, wir setzen es auf H1, dann ist das Ergebnis 25/60=0,41, in int wird es 0 sein, da es keine solche МА-Periode gibt, in diesem Fall verwenden wir die kleinstmögliche, d.h. 1. Eigentlich sollte es funktionieren, ich verwende manchmal solche Varianten und das Ergebnis des Handels unterscheidet sich nur unwesentlich von der "nativen" Periode.

Ich habe es verstanden, vielen Dank und es hat mir geholfen, einige Dinge zu verstehen ... Ich habe das Ergebnis noch nicht geändert, aber trotzdem danke :)
 
laveosa:

Ich habe es verstanden, danke, und es hat mir sehr geholfen, einige Dinge zu verstehen ... Ich habe das Ergebnis noch nicht geändert, aber trotzdem danke :)


Es wird für Sie nicht funktionieren, da wir die Balken der Indikatorberechnung nicht berücksichtigt haben. Ich verwende den Null-Balken, damit es für mich funktioniert und für Sie den 1. und 2.

M5maBIG_1= iMA(ed, Period() , MaperiodAVTO ,0,MODE_EMA,PRICE_CLOSE,1);


 
benzovoz:


Es wird nicht für Sie arbeiten, da wir nicht berücksichtigt haben, die Bars des Indikators Berechnung, ich benutze Null bar, so dass es funktioniert für mich und für Sie die 1. und 2. Bars, können Sie nicht "konvertieren" sie, wenn Sie zu einem höheren Zeitrahmen zu wechseln.

M5maBIG_1= iMA(ed, Period() , MaperiodAVTO ,0,MODE_EMA,PRICE_CLOSE,1);



Ich habe es.... Ich werde es jetzt versuchen.

 
Ich habe einen Indikator:
//+------------------------------------------------------------------+
//| T3MA_ALARM.mq4 |
//| Copyright © 2011, Martingeil |
//| fx.09@mail.ru |
//+------------------------------------------------------------------+
//исправленный Martingeil, теперь можно в тестере увидеть его стрелки.
#property copyright "Copyright © 2011, Martingeil"
#property link "fx.09@mail.ru"

//---- indicator settings
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- indicator parameters
extern int period = 4; //12
extern int shift = 0; //сдвиг по бару
//---- indicator buffers
double BufferUp[],BufferDn[];
int q,st=5;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(2);
//---- drawing settings
SetIndexStyle(0,DRAW_ARROW,2);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW,2);
SetIndexArrow(1,234);

SetIndexBuffer(0,BufferUp);//стрелка синяя верх
SetIndexBuffer(1,BufferDn);//стрелка красная вниз
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("T3MA-ALARM ("+period+")");
//---- initialization done
if(Digits==3 || Digits==5) q=10;
st=st*q;
return(0);}

int deinit()
{
ObjectDelete("low");
ObjectDelete("high");
}
//+----------------------------------------------------------------------+
//| Moving Average of Oscillator |
//+----------------------------------------------------------------------+
int start()
{
//---- ArraySetAsSeries --------------------------------------------------
double Ma[500],MaOn[500];
double y0[500],y1[500],y2[500];
int i,limit=ArraySize(Ma);
ArraySetAsSeries(Ma,true);
//---- IndicatorCounted --------------------------------------------------
int counted_bars=IndicatorCounted();
int limit1=Bars-counted_bars;
if (limit1>1){limit1=Bars-period-1;}
//---- EMA ---------------------------------------------------------------
for(i=limit1; i>=0; i--) Ma[i] =iMA(NULL,0,period,0,MODE_EMA,PRICE_CLOSE,i);
for(i=limit1; i>=0; i--) MaOn[i]=iMAOnArray(Ma,limit,period,0,MODE_EMA,i);

for(i=limit1; i>=0; i--)
{
y0[i+shift]=MaOn[i+shift];
y1[i+1+shift]=MaOn[i+1+shift];
y2[i+2+shift]=MaOn[i+2+shift];

if(y0[i+shift]-y1[i+1+shift]<0 && y1[i+1+shift]-y2[i+2+shift]>0){BufferDn[i+1]=High[i+1]+st*Point;}//продажа
if(y0[i+shift]-y1[i+1+shift]>0 && y1[i+1+shift]-y2[i+2+shift]<0){BufferUp[i+1]=Low[i+1]-st*Point;}//покупка
//---- Signal Trend Up || Dn ---------------------------------------------
if(y0[i]-y1[i+1]>0) Comment ("\n SWAPLONG = ",MarketInfo(Symbol(),MODE_SWAPLONG),
" SWAPSHORT = ",MarketInfo(Symbol(),MODE_SWAPSHORT),"\n BUY TREND ",DoubleToStr(Close[i],Digits));

else if(y0[i]-y1[i+1]<0) Comment ("\n SWAPLONG = ",MarketInfo(Symbol(),MODE_SWAPLONG),
" SWAPSHORT = ",MarketInfo(Symbol(),MODE_SWAPSHORT),"\n SELL TREND ",DoubleToStr(Close[i],Digits));
}


//---- done
return(0);}
//+---------------------------------------------------------------------+




Ich möchte eine EA, die eine Position eingeben würde, wenn ein Pfeil erscheint, welche Bedingung sollte in der EA geschrieben werden?

Und hier ist der EA selbst:

//+------------------------------------------------------------------+
//| million.mq4 |
//| Словаков Максим |
//| www.rubrf.ru |
//+------------------------------------------------------------------+
#property copyright "Словаков Максим"
#property link "www.rubrf.ru"
#property version "1.00"
#property strict

extern int Risk = 1;//риск на зделку
extern int Magic = 123; //магическое число


int x;
int y;
int v;
int z;
//+------------------------------------------------------------------+
int start()
{
double strelka=iCustom(NULL,0,"strelka",10,0,1,0);
double ma = iMA(NULL,0,72,0,MODE_SMMA,PRICE_CLOSE,0);
double atr = iATR(NULL,0,72,0);
double lotBuy = ((Risk*AccountEquity())/(1*(Ask-(Ask-atr)))/10000000);
double lotSell = ((Risk*AccountEquity())/(-1*(Bid-(Bid+atr)))/10000000);
if(OrdersTotal()==0)
{
if(ma<Bid)
{
  if(какое здесь нужно условие написать?)
{
x=OrderSend(Symbol(),OP_BUY,lotBuy,Ask,3,Ask-atr,0,"www.rubrf.ru",Magic,0,Blue);
}
}
if(ma>Bid)
{
  if( какое здесь нужно условие написать? )
{
y=OrderSend(Symbol(),OP_SELL,lotSell,Bid,3,Bid+atr,0,"www.rubrf.ru",Magic,0,Red);
}
}
}


return(0);
}
//+------------------------------------------------------------------+


 

Ist es möglich, Charts für die technische Analyse herunterzuladen, - Indizes S & P 500 Futures Chart, TA 25 Chart, und die S & P 500 Chart, wenn möglich, kann auffordern, wie dies zu tun, vielleicht gibt es eine Erklärung, wie zum Download!

Ich kann nicht finden, wie ein Broker, können Sie beraten ein Programm für die technische Analyse, die mir erlaubt, die Indizes, die ich interessiert bin (kann in Echtzeit) oder ein Broker herunterladen.

Vielleicht gibt es eine Möglichkeit, diese Indizes MT-4 oder MT-5 herunterzuladen. Ich fange gerade an, mich mit der technischen Analyse zu befassen, und würde mich über fachkundige Ratschläge freuen, wie ich meine Aufgabe bewältigen kann.

Ich bin Ihnen im Voraus für Ihre Hilfe sehr dankbar.
 
igalx:

Ist es möglich, Charts für die technische Analyse herunterzuladen, - Indizes S & P 500 Futures Chart, TA 25 Chart, und die S & P 500 Chart, wenn möglich, kann auffordern, wie dies zu tun, vielleicht gibt es eine Erklärung, wie zum Download!

Ich kann nicht finden, wie ein Broker, können Sie beraten ein Programm für die technische Analyse, die mir erlaubt, die Indizes, die ich interessiert bin (kann in Echtzeit) oder ein Broker herunterladen.

Vielleicht gibt es eine Möglichkeit, diese Indizes MT-4 oder MT-5 herunterzuladen. Ich habe gerade angefangen, mich mit der technischen Analyse zu befassen, und würde gerne einen fachkundigen Rat einholen, wie ich mit meinem Problem fertig werde.

Im Voraus bin ich für Ihre Hilfe dankbar.



Sie können es, Sie müssen es nur in das richtige Format konvertieren, es gibt sogar Makler, die diese Werkzeuge haben. Alpari SIP hat sie.

 

Guten Tag, alle zusammen!

Ich brauche Hilfe und Rat.

Ich kann keine String-Daten an die DLL übergeben. Oder der Variablentyp ist falsch, oder die Variable ist in einer falschen Kodierung geschrieben.

DLL in Delphi:

library SaveFile;

{ Important note about DLL memory management: ShareMem must be the
  first unit in your library's USES clause AND your project' s (select
  Project-View Source) USES clause if your DLL exports any procedures or
  functions that pass strings as parameters or function results. This
  applies to all strings passed to and from your DLL--even those that
  are nested in records and classes. ShareMem is the interface unit to
  the BORLNDMM.DLL shared memory manager, which must be deployed along
  with your DLL. To avoid using BORLNDMM.DLL, pass string information
  using PChar or ShortString parameters. }

uses
  SysUtils,
  Classes,Dialogs;

{$R *.res}
function SaveFiles(Path: ShortString ;
Symbol: Shortstring;
Stroka: string ): integer; stdcall;

var outfile: TextFile;

begin
AssignFile(outfile, 'C:\Log.txt');

 try
   //Append(outfile);
   Rewrite(outfile);

   writeln(outfile, Stroka);
   CloseFile(outfile);
   Result:=0;
 except
   Result:=1;
 end;
   Result:=0;
 
end;

exports SaveFiles;
 
end.

Achten Sie nicht auf Pfad- und Simbol-Variablen. Irgendein unlesbarer Unsinn wird systematisch in die Datei geschrieben.

Ich habe alle Stroka(Pchar,String, ShortString, AnsiString)-Variablentypen ausprobiert und immer noch etwas wie "0 0 : 0 3 : 0 6 : : 1 . 3" versucht, die Kodierung zu wechseln - immer noch unleserlich.

 

Alles geklärt.

Alles wird in UTF-8 ASCII geschrieben, wobei nach jedem "nützlichen" Zeichen automatisch Leerzeichen hinzugefügt werden. Und mehr als 26 Zeichen (13 sinnvoll) zu übertragen ist nicht möglich. Ich muss ein paar Variablen übergeben und dann eine Verbindung herstellen. Irgendwie...

Grund der Beschwerde: