[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 575

 

アルメンへ

これは、EAで機能が使用されていないことを意味します。のようなことを書きます。

if (CountBuys()>2 && CountSells()>2) {\\действия}

 
EAの実行中に、例えば貸金庫に預けている資金が元の預金を超えた場合、元の預金の範囲内で、未決済ポジションを 閉じることなく引き出すことが可能かどうか教えてください。
 
link1:


Vininさん、ご回答ありがとうございました。しかし、ask1,ask2,ask3に1,-1,-1という値が割り当てられるのは、正直言ってどういうことなのか理解できません。もしよろしければ、何がどのように起こるのか、言葉で説明していただけませんか。私は初心者で、まだすべてを理解しているわけではありません。よろしくお願いします)。


決して価格と同じにはならない価値が割り当てられているのです。

 
yosuf:
EA運用中に初期預託金を超えた場合、貸金庫に預けるなどして余剰資金を引き出し、オープンポジションを決済せずに初期預託金の範囲内で放置することは可能でしょうか。

MT5では、見ることができます。TesterWithdrawal()を使って、利益の引き出しをシミュレートする。

MT4ではできません

 

こんにちは。


1ティックの間に価格が上下に何ポイント動いたかをカウントするインジケータを書いています。

#property indicator_chart_window

extern int LimitBar = 10;
extern int cegl = 6;
extern string Shrift = "Arial Black";
extern bool delete = true;



double old_price, max_price, sum_pip_sell, sum_pip_bay, new_pip_bay, new_pip_sell, old_pip_bay, old_pip_sell;
datetime ctat_SB =0;

int init() {return(0);}

int deinit() {
if (delete == true) {
GetDellName(); 
}
ObjectsDeleteAll(0, OBJ_TREND);
return(0);
}

int start() {
double price;
string name_4,name_b;
int i=0;
int limit, pip; 
double delta; 
int counted_bars=IndicatorCounted(); 
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(ctat_SB==0) ctat_SB=Time[0];

if(limit>0) limit=0;

for(i=limit; i>=0; i--) {
if(old_price==0) old_price=Close[i];

if(iBarShift(NULL,0,ctat_SB)-iBarShift(NULL,0,Time[i])>=LimitBar) { ' счетчик баров для LimitBar

sum_pip_sell =0;
sum_pip_bay = 0; 
new_pip_bay = 0;
new_pip_sell = 0;
old_pip_bay = 0;
old_pip_sell = 0;

} 

price = Close[i];
if(price > max_price) max_price=price; 

delta = price - old_price; ' разница пунктов
pip = delta*10000; ' округляем до целого

//---- Каунт плюс 

if(delta>=0) { ' условие для ап пунктов

new_pip_bay = pip;
sum_pip_bay = old_pip_bay+new_pip_bay;
old_pip_bay = sum_pip_bay; 

}
//---- Каунт минус
if(delta<0) { ' условие для даун пунктов

new_pip_sell = MathAbs(pip);
sum_pip_sell = old_pip_sell+new_pip_sell;
old_pip_sell = sum_pip_sell;

} 
//----
old_price=price;

//---- размещаем счетчик на графике
name_4 = "TPM_ 4 "+TimeToStr(ctat_SB);
SetText(name_4+"sell",DoubleToStr(sum_pip_sell,0), ctat_SB+60*Period()*2, max_price+(Ask-Bid)*6, Blue,12); 
SetText(name_4+"bay",DoubleToStr(sum_pip_bay,0),ct at_SB-60*Period()*2, max_price+(Ask-Bid)*4.5, Red,12); 

} 

return(0);
}
void SetText(string name,string text,datetime t1, double p1, color c, int size) // --- отображение текста
{
if (ObjectFind(name)!=-1) ObjectDelete(name);
ObjectCreate(name,OBJ_TEXT,0,0,0,0,0); 
ObjectSet(name, OBJPROP_TIME1 , t1);
ObjectSet(name, OBJPROP_PRICE1, p1); 
ObjectSetText(name,text,cegl,Shrift,c);
}

//+------------------------------------------------------------+
void GetDellName (string name_n = "TPM_ ") // -- удаление меток с графика
{
string vName;
for(int i=ObjectsTotal()-1; i>=0;i--)
{
vName = ObjectName(i);
if (StringFind(vName,name_n) !=-1) ObjectDelete(vName);
} 
} 
//----

ありがとう ございました。


 
yosuf:
エキスパートアドバイザーの作業中に初期預金を超えてしまった場合、例えば過剰な資金を金庫に引き出し、オープンポジションを閉じることなく、初期預金内に残すことが可能かどうか教えてください

Expert Advisor は、初回入金額と同額の入金額でのみ取引を許可 します。

初回入金額を覚えておき、ポジションを建てる前にロットを確認してください。取引量が許容値を超えた場合、ロットを減らすか、資金を放出する。

 
Fox_RM:

こんにちは。


1ティックの間に価格が上下に何ポイント動いたかをカウントするインジケータを書いています。

ありがとう ございました。


なぜ、こんなに物があるのでしょうか?

直前のティックの価格を記憶する。新しいティックの到来とともに、価格差をポイントで割ったものを数え、その価格を再び前のティックの価格として記憶します。

 
artmedia70:

なぜ、そんなにたくさんあるのですか?

最後のティックの価格を記憶する。新しいティックの到来とともに、価格差をポイントで割ったものを数え、その価格を再び前のティックの価格として記憶します。

APポイント、DAUNポイントの条件では、コードは規定通りですが、価格チャート上にインジケータを 表示した場合、マーカーはポイント数を上なら0、下なら0と出力します。何が問題なのか理解できない!
 

プログラマーの皆さん!

MQL4操作の優先順位(および連想性)はC言語と対応していますか?

括弧を乱用 するつもりはないが、操作の優先 順位はドキュメントのどこにも書いて いない。

これは決して安易な疑問ではありません。MQL4は、C言語ライクな言語として位置づけられています。ここでキーワードとなるのが「DEFINITELY」です。論理式の完全計算などというものがC言語の標準から逸脱しているだけだとしたら、ブロック内で定義された変数をこのブロックの外で可視化することは、プログラミングキャノンにおいて重大な誤りである。

MQL4の開発者の想像力がどこまで通用するかは、誰にもわかりません。)

 
artmedia70:

Expert Advisor は、初回入金額と同額の入金額でのみ取引を許可します。

初回入金額を覚えておき、ポジションを建てる前にロットを確認してください。取引量が許容量を超えた場合、ロットを減らすか、資金を放出します。

マイクロリアルで10kセント入金して取引した場合、EA稼働中はいつでも手動で余剰資金を出金できるのでしょうか、それともEAを停止してすべての建玉を決済してから余剰資金を出金しなければならないのでしょうか、こんな感じのことです。私は固定ロット0.1で取引しています。あなたの推薦を本当に実行するにはどうしたらいいのでしょうか。"Expert Advisor"は、初期預金と同額の預金でのみ取引できるように します。