//--------------------------------------------------------------------// separatewindow.mq4 // Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------------#property indicator_chart_window // Индик. рисуется в основном окне#property indicator_buffers 1// Количество буферов#property indicator_color1 Blue // Цвет первой линии#property indicator_color2 Red // Цвет второй линииexternint History =1000000; // Колич.баров в расчётной историиexternint Aver_Bars=1000000; // Количество баров для расчётаdouble Buf_0[]; // Открытие индикаторного массива//--------------------------------------------------------------------int init() // Специальная функция init()
{
SetIndexBuffer(0,Buf_0); // Назначение массива буферуSetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линииreturn; // Выход из спец. ф-ии init()
}
//--------------------------------------------------------------------int start() // Специальная функция start()
{
int i, // Индекс бара
n, // Формальный параметр
Counted_bars; // Количество просчитанных баров double
Sum_H, // Сумма значений High за переиод
Sum_L; // Сумма значений Low за переиод//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанногоif (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.while(i>=0) // Цикл по непосчитанным барам
{
Sum_H=0; // Обнуление в начале цикла
Sum_L=0; // Обнуление в начале циклаfor(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений
{
Sum_H=Sum_H + High[n]; // Накопление суммы макс.значений
Sum_L=Sum_L + Low[n]; // Накопление суммы мин. значений
}
Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
i--; // Расчёт индекса следующего бара
}
//--------------------------------------------------------------------return; // Выход из спец. ф-ии start()
}
//--------------------------------------------------------------------
int poz=OrdersTotal();
for (n=0;n<poz;n++){
if (OrderSelect(n,SELECT_BY_POS,MODE_TRADES)==true){
if (OrderType()==OP_BUY){
Prise2=Bid-OrderOpenPrice();
if(Prise2>(25*Point)){
OrderModify(OrderTicket(),0,OrderOpenPrice(),OrderTakeProfit(),0,Blue);}
if(Prise>Prise3){
Prise3=(OrderOpenPrice()+(35*Point));
SL2=OrderOpenPrice()+(10*Point);
OrderModify(OrderTicket(),0,SL2,OrderTakeProfit(),0,Blue);}}
ゼロ除算が 書ける、私の記憶の限りでは。しかし、これは一部のパラメータが再計算されないことが原因です。つまり、ワークセッションが始まる前にEAを起動したために、EAが正しく起動しないだけなのです。
もちろん、これらのチェックボックスは削除されています。
こんにちは、親愛なるmqlの皆さん。ここで、私の最初のコード問題が発生します。
トレンド指標である。タスクは、1本目の線=前日と前々日の最大値、2本目の線=前日と前々日の最小値という座標のトレンド指標である。
それはいいとして、下位のタイムフレームに切り替えると、対応する価格水準ではあるが、座標が冒頭にまとわりついている......。と、セリフのセンスが完全に失われてしまう。
トレンドラインオブジェクトを作成 する際、datetime パラメータは非難されます。どうすればいいのか、思いつかない。価格の極値形成の時間を計算することが必要である。この情報のようです
1分足にはこの情報が埋め込まれているようです。トレンドが再描画され、極値に対応するバーに座標が付くように、タイムフレームを変更する際のdatetimeの決定方法について。
残念ながら、検索しても何も出てきません。アドバイスをいただければ幸いです。
商品の全履歴の価格挙動をMAで表示したいのですが、チャートに挿入してもインジケータが描画されません。
何が問題なのでしょうか?
コンパイル済み=0、0とした場合。
ところで、MT4のターミナルがハングアップしてしまうのですが・・・。
Breakevenにさらにストップを移し、Breakevenを増加させたEAを書いています。すべてうまくいっているように見えますが、問題は1つだけです。ブレイクイーブンまたはブレイクイーブンに価格が移動したときにストップが跳ね上がっています。この問題は解決できない。
誰が知っているヘルプplz。
以下はそのコードです。
Breakevenにさらにストップを移し、Breakevenを増加させたEAを書いています。すべてうまくいっているように見えますが、問題は1つだけです。ブレイクイーブンまたはブレイクイーブンに価格が移動したときにストップが跳ね上がっています。この問題は解決できない。
誰が知っているヘルプplz。
以下はそのコードです。
ブラケットのせいかな?
どのようなものですか?もし、forの後であれば、それは全体の部分ではない。先ほどは買うためのコードを示しましたが、売るためのコードもあります。
注文は高値からorderopenpriceまでの距離の4倍でクローズするようにお願いします。
どこで失敗したのか?
すべての注文は、開始後3ピップ以内に終了します。
注文は高値からorderopenpriceまでの距離の4倍でクローズするようにお願いします。
どこで失敗したのか?
これ
オブライト警部...誰かヒントをくれませんか?