コーディングの方法は? - ページ 231

 

素晴らしい!ありがとうございます。

 

配列や関数は 苦手なんだ。

 

EAに関するヘルプ

次のようなことをしたいのですが。

M15フレームを使用し、現在の価格と前のM15クローズ(close[1])を比較することによって、この間隔の間に最大2つの注文を開く。しかし、私はこの手順が次のM15フレームごとに行われるようにしたいので、そのためのコードをどのように記述すればよいかわかりません。スタート関数が 常に実行されるため、M15ごとに最大2つの注文をカウントするための正しい変数を保持するにはどうしたらよいでしょうか?

ありがとうございます。

 

OpenPending Orders スクリプトのヘルプが必要です。

注文を開いたり閉じたりするスクリプトはたくさんありますが、保留中の注文を開くスクリプトは見当たりません。

必要なのは2つのスクリプトで、1つはSellstop、もう1つはBuystopです。

バイストップは日足ピボットの15ピップ上、セルストップは日足ピボットの15ピップ下に注文を出すようにしたいのです。

私はそれをいじくりまわして、SellStopのために以下のコードを得ましたが、私はコーダーではないので、それは動作しません。私は何かを漏らしてしまったのだと思います。

どなたか、この件で私を助けてください、お願いします。

PS.気にしないでください、私はそれを得た。私はPVTGreenに私の入札価格を変更する必要がありました。私は130エラーを取得していた...

それは今働く...

OK, One more problem, Can someone tell me how to change the Expiration time from 24hrs later to 22:00 same day.誰か有効期限を24時間後から22:00に変更する方法を教えてください。

//+------------------------------------------------------------------+

//| script "send pending order with expiration data" |

//+------------------------------------------------------------------+

int start()

{

int ticket,expiration;

double point;

double PVTYellow = iCustom(NULL, 0, "pivot_alllevels", 0, 0, 0);

double PVTBlue = iCustom(NULL, 0, "pivot_alllevels", 0, 1, 0);

double PVTGreen = iCustom(NULL, 0, "pivot_alllevels", 0, 2, 0);

double PVTRed = iCustom(NULL, 0, "pivot_alllevels", 0, 3, 0);

double PVTMagenta = iCustom(NULL, 0, "pivot_alllevels", 0, 4, 0);

//----

point=MarketInfo(Symbol(),MODE_POINT);

expiration=TimeCurrent()+PERIOD_D1*60;

//----

while(true)

{

ticket = OrderSend(Symbol(),OP_SELLSTOP, 0.10, PVTGreen-15*Point, 3, PVTGreen+20*Point, PVTGreen-20*Point, 0,0,expiration,Red);

if(ticket<=0) Print("Error = ",GetLastError());

else { Print("ticket = ",ticket); break; }

//---- 10 seconds wait

Sleep(10000);

}

//----

return(0);

}

//+------------------------------------------------------------------+
 

有効期限を22:00にするには、次のようにすればよいでしょう。

int iHour = TimeHour(TimeCurrent());

int iMinute = TimeMinute(TimeCurrent());

int iDiff = 22%iHour;

datetime dtExpiryDate = (TimeCurrent()+(iDiff*60*60))-(iMinute*60);

Print(TimeToStr(dtExpiryDate));

エラーチェックはして いないので、必要だと思ったら必ず追加してください。

ラックス

 

マーケットウォッチ・シンボルを手に入れる

こんにちは、皆さん。

EAに手動でフィードする代わりに、マーケットウォッチで利用可能なすべてのシンボルを監視するために取得する方法があるのだろうかと疑問に思っていました。

言い換えれば、私は私のEAがマーケットウォッチウィンドウで利用可能である任意のシンボルを通過し、特定の基準のためにそれらを監視したいです。

どんな助けでも大いに感謝します。

 

Help me -Account Balance Sunday

こんにちは。

私は明らかに口座残高日曜日(市場の成功のオープニング)から私のすべての週のキャッシュをいじくり回すために昨日から試しています。

私は、EAを実行するために持って来る必要がある 市場で成功したオープニングで日曜日の口座残高 正しくエクイティマネージャに。

ダブルusedacc = 0。

...

if (usedacc == 0 | | DayOfWeek () == 0) usedacc = Account Balance ().If (usedacc == 0 | | DayOfWeek () == 0) usedacc = Account Balance = 0; ..;

...

ちょうど動作しません

多分誰かが私を助けることができるように私は最善を尽くすことができます

悪い英語には申し訳ありません

 

この投稿を削除してください - thx

 

インジケーターからデータを取得する方法

皆さん、こんにちは。

EAでインジケータからFIBO100とFIBO0の値が必要です。どのように私はそれを得るのですか?

ありがとうございます。

デルムロ

ファイル:
 

どのようにそれを得るのですか?

Mate 私も同じような問題に直面しました。

スコット

MQLの「スクリプト間」通信(または「インジケータ間」通信)は、もっぱらバッファを経由して行われます。このコードです。

トレンドセット = iCustom(NULL,0, "VGA HISTOGRAM~",0,0);

VGA HISTOGRAM~」インディケータの最初の(パブリック)バッファから現在のバーの値を取得することを意味します。他のインジケータで宣言された変数の値を取得することはできません(外部変数として宣言されているかどうかも関係ありません)。メタトレーダーはパラメータに関係なく、1つのチャートに対して1つのDLLインスタンスしか使わないので、IDによって値を保持したり戻したりする「セマフォ」のようなものを作れば、mqlコード間のコミュニケーションを確実にし、間違った変数の読み込みを避けることができます(例えばグローバル変数は簡単に間違えることができ、全く別のチャートから知らないうちに変数を読んでしまうことがあります))。

よろしくお願いします。

ムラデン

この件に関して、私は実際に回避策を作りましたので、ご紹介します。

あなたのインジケータに新しい関数を作って、物事を混乱させないようにします。

void PASSINFO() {

int trendcondtemp; //これを好きな名前に変えてください。

if (Close[1] > Open[2] && Volume[1] < Volume[2]) trendcondtemp=1; //強気 - これは変数に値を設定するだけなので、コードを使用してください。

if (Close[1] < Open[2] && Volume[1] < Volume[2]) trendcondtemp=2; //bearish - 同じこと、違う匂い。

if (Volume[1] > Volume[2])trendcondtemp=3; //fuckall happening - meh

if (Symbol()=="USDCHF") GlobalVariableSet("TRENDSETUSDCHF ",trendcondtemp).If(Symbol()=="USDCHF")。

if (Symbol()=="GBPUSD") GlobalVariableSet("TRENDSETGBPUSD",trendcondtemp);

if (Symbol()=="EURUSD") GlobalVariableSet("TRENDSETEURUSD",trendcondtemp); if (Symbol()=="EURUSD") GlobalVariableSet("TRENDSETEURUSD",trendcondtemp);

if (Symbol()=="USDJPY") GlobalVariableSet("TRENDSETUSDJPY",trendcondtemp);

if (Symbol()=="USDCAD") GlobalVariableSet("TRENDSETUSDCAD",trendcondtemp).とする。

if (Symbol()=="NZDUSD") GlobalVariableSet("TRENDSETNZDUSD",trendcondtemp);

if (Symbol()=="AUDUSD") GlobalVariableSet("TRENDSETAUDUSD",trendcondtemp);

if (Symbol()=="AUDNZD") GlobalVariableSet("TRENDSETAUDNZD",trendcondtemp).If (Symbol()=="AUDNZD") All rights reserved;

if (Symbol()=="AUDCAD") GlobalVariableSet("TRENDSETAUDCAD",trendcondtemp)。

if (Symbol()=="EURUSD") GlobalVariableSet("TRENDSETEURUSD",trendcondtemp);

if (Symbol()=="AUDCHF") GlobalVariableSet("TRENDSETAUDCHF", trendcondtemp).If(Symbol()=="AUDCHF")グローバル変数セット;

if (Symbol()=="AUDJPY") GlobalVariableSet("TRENDSETAUDJPY",trendcondtemp);

if (Symbol()=="CHFJPY") GlobalVariableSet("TRENDSETCHFJPY",trendcondtemp);

if (Symbol()=="EURGBP") GlobalVariableSet("TRENDSETEURGBP",trendcondtemp);

if (Symbol()=="EURAUD") GlobalVariableSet("TRENDSETEURAUD",trendcondtemp)。

if (Symbol()=="EURCHF") GlobalVariableSet("TRENDSETEURCHF",trendcondtemp)。

if (Symbol()=="EURJPY") GlobalVariableSet("TRENDSETEURJPY",trendcondtemp); if (Symbol()=="EURJPY") GlobalVariableSet("TRENDSETEURJPY",trendcondtemp);

if (Symbol()=="EURNZD") GlobalVariableSet("TRENDSETEURNZD",trendcondtemp);

if (Symbol()=="GBPCHF") GlobalVariableSet("TRENDSETGBPCHF", trendcondtemp).If(Symbol()=="GBPCHF")グローバル変数セット。

if (Symbol()=="GBPAUD") GlobalVariableSet("TRENDSETGBPAUD",trendcondtemp)。

if (Symbol()=="GBPCAD") GlobalVariableSet("TRENDSETGBPCAD",trendcondtemp)。

if (Symbol()=="GBPJPY") GlobalVariableSet("TRENDSETGBPJPY",trendcondtemp);

if (Symbol()=="NZDJPY") GlobalVariableSet("TRENDSETNZDJPY",trendcondtemp); if (Symbol()=="NZDJPY") GlobalVariableSet("TRENDSETNZDJPY",trendcondtemp);

//この後、原油/金/カネ/取引するものを追加する 私のブローカーが行うことをすべてカバーした。

}

さて、通貨に依存するため、他の通貨とクロスして値を上げる可能性はありません。 あなたは今、値を呼び出す前に、これをあなたのスタート/何でも関数に入れなければなりません。

int trendset;

if (Symbol()=="USDCHF") trendset= GlobalVariableGet("TRENDSETUSDCHF");

if (Symbol()=="GBPUSD") trendset= GlobalVariableGet("TRENDSETGBPUSD")。

if (Symbol()=="EURUSD") trendset= GlobalVariableGet("TRENDSETEURUSD"); if (Symbol()=="EURUSD")トレンドセット。

if (Symbol()=="USDJPY") trendset= GlobalVariableGet("TRENDSETUSDJPY"); if (Symbol()=="USDJPY") trendset= GlobalVariableGet("TRENDSETUSDJPY");

if (Symbol()=="USDCAD") trendset= GlobalVariableGet("TRENDSETUSDCAD"); if (Symbol()=="USDCAD") trendset= GlobalVariableGet("TRENDSETUSDCAD");

if (Symbol()=="NZDUSD") trendset= GlobalVariableGet("TRENDSETNZDUSD"); if (Symbol()=="NZDUSD") trendset= GlobalVariableGet("TRENDSETNZDUSD");

if (Symbol()=="AUDUSD") trendset= GlobalVariableGet("TRENDSETAUDUSD"); if (Symbol()=="AUDUSD") trendset= GlobalVariableGet("TRENDSETAUDUSD");

if (Symbol()=="AUDNZD") trendset= GlobalVariableGet("TRENDSETAUDNZD")。

if (Symbol()=="AUDCAD") trendset= GlobalVariableGet("TRENDSETAUDCAD")。

if (Symbol()=="EURUSD") trendset= GlobalVariableGet("TRENDSETEURUSD").If(Symbol()=="EURUSD")。

if (Symbol()=="AUDCHF") trendset= GlobalVariableGet("TRENDSETAUDCHF"); if (Symbol()=="AUDCHF") trendset= GlobalVariableGet("TRENDSETAUDCHF");

if (Symbol()=="AUDJPY") trendset= GlobalVariableGet("TRENDSETAUDJPY"); if (Symbol()=="AUDJPY") trendset= GlobalVariableGet("TRENDSETAUDJPY");

if (Symbol()=="CHFJPY") trendset= GlobalVariableGet("TRENDSETCHFJPY"); if (Symbol()=="CHFJPY") trendset= GlobalVariableGet("TRENDSETCHFJPY");

if (Symbol()=="EURGBP") trendset= GlobalVariableGet("TRENDSETEURGBP"); if (Symbol()=="EURGBP") trendset= GlobalVariableGet("TRENDSETEURGBP");

if (Symbol()=="EURAUD") trendset= GlobalVariableGet("TRENDSETEURAUD")。

if (Symbol()=="EURCHF") trendset= GlobalVariableGet("TRENDSETEURCHF")。

if (Symbol()=="EURJPY") trendset= GlobalVariableGet("TRENDSETEURJPY"); if (Symbol()=="EURJPY") trendset= GlobalVariableGet("TRENDSETEURJPY");

if (Symbol()=="EURNZD") trendset= GlobalVariableGet("TRENDSETEURNZD"); if (Symbol()=="EURNZD") trendset= GlobalVariableGet("TRENDSETEURNZD");

if (Symbol()=="GBPCHF") trendset= GlobalVariableGet("TRENDSETGBPCHF"); if (Symbol()=="GBPCHF") trendset= GlobalVariableGet("TRENDSETGBPCHF");

if (Symbol()=="GBPAUD") trendset= GlobalVariableGet("TRENDSETGBPAUD")。

if (Symbol()=="GBPCAD") trendset= GlobalVariableGet("TRENDSETGBPCAD"); if (Symbol()=="GBPCAD") trendset= GlobalVariableGet("TRENDSETGBPCAD");

if (Symbol()=="GBPJPY") trendset= GlobalVariableGet("TRENDSETGBPJPY")。

if (Symbol()=="NZDJPY") trendset= GlobalVariableGet("TRENDSETNZDJPY");

注意!!!(おそらく既にお気づきだと思いますが) しかし、値を変更するためには、お使いのEAが動作している通貨でインジケータを動作させる必要があります。